БланкСШаблоном "ф.0503127 Отчет об исполнении бюджета главного распорядителя (распорядителя), получателя средств бюджета";

-- Зона авто-идентификации отчета
Ф_ОКУД: STRING = '0503127';
Ф_ИНСТР_КОД: STRING = '191н';
Ф_РЕД_КОД: STRING = '157н';
Ф_ДЕЙСТВ_С: DATE = 01.01.2015;
Ф_ДЕЙСТВ_ПО: DATE = 1.1.100;
-- конец зоны авто-идентификации отчета

2--
2-- Переменные и массивы бланка
var ДН:D=РАБ.ПАРАМ_ОТЧ.ДН;
var ДК:D=РАБ.ПАРАМ_ОТЧ.ДК;

Учреждение:S;
ОКПО:S;
ГлаваБК:S;

НаимБюдж:S;
ОКТМО:S;

var УслВал:S=РАБ.ПАРАМ_ОТЧ.УслВал;
var Вал :S=РАБ.ПАРАМ_ОТЧ.Вал;
var Вал_:S=Вал;
var Показатель:S=РАБ.ПАРАМ_ОТЧ.Показатель;

var ЕдИзм:I=РАБ.ПАРАМ_ОТЧ.ЕдИзм;
var ЕдИзм_:S=РАБ.ПАРАМ_ОТЧ.ЕдИзм_;
var ОКЕИ:S=РАБ.ПАРАМ_ОТЧ.ОКЕИ;

var Точн:I=РАБ.ПАРАМ_ОТЧ.Точн;

var ОбщУслАн:S=РАБ.ПАРАМ_ОТЧ.ОбщУслАн;
var ОбщУслКД:S=РАБ.ПАРАМ_ОТЧ.ОбщУслКД;
var ОбщУслКР:S=РАБ.ПАРАМ_ОТЧ.ОбщУслКР;
var ОбщУслКИФД:S=РАБ.ПАРАМ_ОТЧ.ОбщУслКИФД;
var ОбщУслБС:S=РАБ.ПАРАМ_ОТЧ.ОбщУслБС;

ДопСпр: S;
ИспДопАн:L;
var IterДопАн[]: I;

ФИОРук:S;
ФИОБух:S;
ФИОРукФЭО:S;
selfКБП: S;

М1:I;
М2:I;
М3:I;
М4:I;
М5:I;
М6:I;

--Доходы бюджета
SГ1С020М1[]:S;
SГ3С020М1[]:S;
RГ4С020М1[]:N;
RГ5С020М1[]:N;
RГ6С020М1[]:N;
RГ7С020М1[]:N;
var RГ8С020М1[]=RГ5С020М1[$]+RГ6С020М1[$]+RГ7С020М1[$]; 
var RГ9С020М1[]:N;
var SГ2С020М1[]:S=if(М1=1 and SГ3С020М1[1]="","",Format("%.3D",10+Min(189,$)));


var RГ4С010=SumOfArray(RГ4С020М1,М1);
var RГ5С010=SumOfArray(RГ5С020М1,М1);
var RГ6С010=SumOfArray(RГ6С020М1,М1);
var RГ7С010=SumOfArray(RГ7С020М1,М1);
var RГ8С010=SumOfArray(RГ8С020М1,М1);
var RГ9С010=SumOfArray(RГ9С020М1,М1);

var flagГ9С010:L=[True];
var flagГ9С010_:S=if(flagГ9С010,"е","");

var flagГ9С020М1[]:L=[flagГ9С010];
var flagГ9С020М1_[]:S=if(flagГ9С020М1[$],"е","");

var RГ9С020М1[]=if(flagГ9С020М1[$],RГ4С020М1[$]-RГ8С020М1[$],0);
--Расходы бюджета
SГ1С210М2[]:S;
SГ3С210М2[]:S;
RГ4С210М2[]:N;
RГ5С210М2[]:N;
RГ6С210М2[]:N;
RГ7С210М2[]:N;
RГ8С210М2[]:N;
var RГ9С210М2[]:N=RГ6С210М2[$]+RГ7С210М2[$]+RГ8С210М2[$];
var RГ10С210М2[]:N;
var RГ11С210М2[]:N;
var SГ2С210М2[]:S=if(М2=1 and SГ3С210М2[1]="","",Str(200+Min(249,$)));


var RГ4С200=SumOfArray(RГ4С210М2,М2);
var RГ5С200=SumOfArray(RГ5С210М2,М2);
var RГ6С200=SumOfArray(RГ6С210М2,М2);
var RГ7С200=SumOfArray(RГ7С210М2,М2);
var RГ8С200=SumOfArray(RГ8С210М2,М2);
var RГ9С200=SumOfArray(RГ9С210М2,М2);
var RГ10С200=SumOfArray(RГ10С210М2,М2);
var RГ11С200=SumOfArray(RГ11С210М2,М2);

var flagГ10С200:L=[False];
var flagГ10С200_:S=if(flagГ10С200,"е","");

var flagГ10С210М2[]:L=[flagГ10С200];
var flagГ10С210М2_[]:S=if(flagГ10С210М2[$],"е","");

var flagГ11С200:L=[True];
var flagГ11С200_:S=if(flagГ11С200,"е","");

var flagГ11С210М2[]:L=[flagГ11С200];
var flagГ11С210М2_[]:S=if(flagГ11С210М2[$],"е","");

var RГ10С210М2[]=if(flagГ10С210М2[$],RГ4С210М2[$]-RГ9С210М2[$],0);
var RГ11С210М2[]=if(flagГ11С210М2[$],RГ5С210М2[$]-RГ9С210М2[$],0);
var RГ12С210М2[]: String;

---Резуьтат исполнения бюджета
var RГ6С450=RГ5С010-RГ6С200;
var RГ7С450=RГ6С010-RГ7С200;
var RГ8С450=RГ7С010-RГ8С200;
var RГ9С450=RГ6С450+RГ7С450+RГ8С450;
--Источники финансирования дефицита бюджетов
SГ1С520М3[]:S;
SГ3С520М3[]:S;
RГ4С520М3[]:N;
RГ5С520М3[]:N;
RГ6С520М3[]:N;
RГ7С520М3[]:N;
var RГ8С520М3[]=RГ5С520М3[$]+RГ6С520М3[$]+RГ7С520М3[$]; 
var RГ9С520М3[]:N;
var SГ2С520М3[]:S=if(М3=1 and SГ3С520М3[1]="","",Str(520+Min(99,$)));


var RГ4С520=SumOfArray(RГ4С520М3,М3);
var RГ5С520=SumOfArray(RГ5С520М3,М3);
var RГ6С520=SumOfArray(RГ6С520М3,М3);
var RГ7С520=SumOfArray(RГ7С520М3,М3);
var RГ8С520=SumOfArray(RГ8С520М3,М3);
var RГ9С520=SumOfArray(RГ9С520М3,М3);

var flagГ9С520:L=[True];
var flagГ9С520_:S=if(flagГ9С520,"е","");

var flagГ9С520М3[]:L=[flagГ9С520];
var flagГ9С520М3_[]:S=if(flagГ9С520М3[$],"е","");

var RГ9С520М3[]=if(flagГ9С520М3[$],RГ4С520М3[$]-RГ8С520М3[$],0);

SГ1С620М4[]:S;
SГ3С620М4[]:S;
RГ4С620М4[]:N;
RГ5С620М4[]:N;
RГ6С620М4[]:N;
RГ7С620М4[]:N;
var RГ8С620М4[]=RГ5С620М4[$]+RГ6С620М4[$]+RГ7С620М4[$]; 
var RГ9С620М4[]:N;
var SГ2С620М4[]:S=if(М4=1 and SГ3С620М4[1]="","",Str(620+Min(99,$)));

var RГ4С620=SumOfArray(RГ4С620М4,М4);
var RГ5С620=SumOfArray(RГ5С620М4,М4);
var RГ6С620=SumOfArray(RГ6С620М4,М4);
var RГ7С620=SumOfArray(RГ7С620М4,М4);
var RГ8С620=SumOfArray(RГ8С620М4,М4);
var RГ9С620=SumOfArray(RГ9С620М4,М4);

var flagГ9С620:L=[True];
var flagГ9С620_:S=if(flagГ9С620,"е","");

var flagГ9С620М4[]:L=[flagГ9С620];
var flagГ9С620М4_[]:S=if(flagГ9С620М4[$],"е","");

var RГ9С620М4[]=if(flagГ9С620М4[$],RГ4С620М4[$]-RГ8С620М4[$],0);

SГ1С710М5[]:S;
SГ3С710М5[]:S;
RГ4С710М5[]:N;
RГ6С710М5[]:N;
RГ7С710М5[]:N;
var RГ8С710М5[]=RГ6С710М5[$]+RГ7С710М5[$];
var SГ2С710М5[]:S=if(М5=1 and SГ3С710М5[1]="","",Str(710+Min(9,$)));

SГ3С710:S;
var RГ4С710:N=SumOfArray(RГ4С710М5,М5);
var RГ6С710:N=SumOfArray(RГ6С710М5,М5);
var RГ7С710:N=SumOfArray(RГ7С710М5,М5);
var RГ8С710:N=RГ6С710+RГ7С710;

SГ1С720М6[]:S;
SГ3С720М6[]:S;
RГ4С720М6[]:N;
RГ6С720М6[]:N;
RГ7С720М6[]:N;
var RГ8С720М6[]=RГ6С720М6[$]+RГ7С720М6[$];
var SГ2С720М6[]:S=if(М6=1 and SГ3С720М6[1]="","",Str(720+Min(9,$)));


SГ3С720:S;
var RГ4С720:N=SumOfArray(RГ4С720М6,М6);
var RГ6С720:N=SumOfArray(RГ6С720М6,М6);
var RГ7С720:N=SumOfArray(RГ7С720М6,М6);
var RГ8С720:N=RГ6С720+RГ7С720;

SГ3С700:S;
var RГ4С700:N=RГ4С710+RГ4С720;
var RГ6С700:N=RГ6С710+RГ6С720;
var RГ7С700:N=RГ7С710+RГ7С720;
var RГ8С700:N=RГ8С710+RГ8С720;

var flagГ9С700:L=[True];
var flagГ9С700_:S=if(flagГ9С700,"е","");
var RГ9С700=if(flagГ9С700,RГ4С700-RГ8С700,0);


RГ5С811:N;
RГ6С811:N;
var RГ8С811:N=RГ5С811+RГ6С811;

RГ5С812:N;
RГ6С812:N;
var RГ8С812:N=RГ5С812+RГ6С812;

var RГ5С810:N=RГ5С811+RГ5С812;
var RГ6С810:N=RГ6С811+RГ6С812;
var RГ8С810:N=RГ8С811+RГ8С812;

RГ6С821:N;
RГ7С821:N;
var RГ8С821:N=RГ6С821+RГ7С821;

RГ6С822:N;
RГ7С822:N;
var RГ8С822:N=RГ6С822+RГ7С822;

var RГ6С820:N=RГ6С821+RГ6С822;
var RГ7С820:N=RГ7С821+RГ7С822;
var RГ8С820:N=RГ8С821+RГ8С822;

var RГ5С800:N=RГ5С810;
var RГ6С800:N=RГ6С810+RГ6С820;
var RГ7С800:N=RГ7С820;
var RГ8С800:N=RГ8С810+RГ8С820;

var RГ4С500=RГ4С520+RГ4С620+RГ4С700;
var RГ5С500=RГ5С520+RГ5С620+RГ5С800;
var RГ6С500=RГ6С520+RГ6С620+RГ6С700+RГ6С800;
var RГ7С500=RГ7С520+RГ7С620+RГ7С700+RГ7С800;
var RГ8С500=RГ8С520+RГ8С620+RГ8С700+RГ8С800;
var RГ9С500=RГ9С520+RГ9С620;

var Buf[]:S;
var BufКБК[]:S;

var storeФКР:s;
var storeКИФД:s;
var storeКД:s;

var BufФКР[]:S;
var BufКИФД[]:S;
var BufКД[]:S;
var BufФКР_[]:S;
var BufКИФД_[]:S;
var BufКД_[]:S;

var nBufУсл:I;
var BufИстКБК[]:I;
var BufУслСчД[]:S;
var BufУслСчК[]:S;
var BufУслАн[]:S;

---
var btnОчист1:S="Очистить";
var btnОчист2:S="Очистить";
var btnОчист3:S="Очистить";
var btnРасчет1:S="Расчет";
var btnРасчет2:S="Расчет";
var btnРасчет3:S="Расчет";

var A:S="+";
var D:S="-";

var btnНастрВостан:S="Восстановить значения по умолчанию";
var btnНастрЗакрыть:S="Закрыть настройку";
var btnНастрЗагруз:S="Загрузить настройку";


Доп2:  Section;
Усл_0: Section;
Усл_1: Section; Усл_1_4: Section; Усл_1_4_: Section; Усл_1_5: Section; Усл_1_5_: Section; Усл_1_6: Section; Усл_1_6_: Section; Усл_1_7: Section;
Усл_2: Section; Усл_2_4: Section; Усл_2_4_: Section; Усл_2_5: Section; Усл_2_5_: Section; Усл_2_6: Section; Усл_2_6_: Section; Усл_2_7: Section; Усл_2_7_: Section; Усл_2_8: Section;
Усл_3: Section; Усл_3_4: Section; Усл_3_4_: Section; Усл_3_5: Section; Усл_3_5_: Section; Усл_3_6: Section; Усл_3_6_: Section; Усл_3_7: Section;                    Усл_3_8: Section;

var nУсл_1_4:I; var ИстКБК_1_4[]:I; var Знак_1_4[]:I=[1]; var УслСчД_1_4[]:S; var УслСчК_1_4[]:S; var УслАн_1_4[]:S; var УслСтатус_1_4[]:S; var ИстКБК_1_4_[]:S=if(ИстКБК_1_4[$]=0,"Счета","Аналитика"); var УслНаим_1_4[]:s=if($=1,"Гр.4 Утвержденные бюджетные назначения","");
var nУсл_1_5:I; var ИстКБК_1_5[]:I; var Знак_1_5[]:I=[1]; var УслСчД_1_5[]:S; var УслСчК_1_5[]:S; var УслАн_1_5[]:S; var УслСтатус_1_5[]:S; var ИстКБК_1_5_[]:S=if(ИстКБК_1_5[$]=0,"Счета","Аналитика"); var УслНаим_1_5[]:s=if($=1,"Гр.5 Исполнено через органы организующие исполнение бюджета.","");
var nУсл_1_6:I; var ИстКБК_1_6[]:I; var Знак_1_6[]:I=[1]; var УслСчД_1_6[]:S; var УслСчК_1_6[]:S; var УслАн_1_6[]:S; var УслСтатус_1_6[]:S; var ИстКБК_1_6_[]:S=if(ИстКБК_1_6[$]=0,"Счета","Аналитика"); var УслНаим_1_6[]:s=if($=1,"Гр.6 Исполнено через банковские счета","");
var nУсл_1_7:I; var ИстКБК_1_7[]:I; var Знак_1_7[]:I=[1]; var УслСчД_1_7[]:S; var УслСчК_1_7[]:S; var УслАн_1_7[]:S; var УслСтатус_1_7[]:S; var ИстКБК_1_7_[]:S=if(ИстКБК_1_7[$]=0,"Счета","Аналитика"); var УслНаим_1_7[]:s=if($=1,"Гр.7 Некассовые операции","");

var nУсл_2_4:I; var ИстКБК_2_4[]:I; var Знак_2_4[]:I=[1]; var УслСчД_2_4[]:S; var УслСчК_2_4[]:S; var УслАн_2_4[]:S; var УслСтатус_2_4[]:S; var ИстКБК_2_4_[]:S=if(ИстКБК_2_4[$]=0,"Счета","Аналитика"); var УслНаим_2_4[]:s=if($=1,"Гр.4 Утвержденные бюджетные назначения","");
var nУсл_2_5:I; var ИстКБК_2_5[]:I; var Знак_2_5[]:I=[1]; var УслСчД_2_5[]:S; var УслСчК_2_5[]:S; var УслАн_2_5[]:S; var УслСтатус_2_5[]:S; var ИстКБК_2_5_[]:S=if(ИстКБК_2_5[$]=0,"Счета","Аналитика"); var УслНаим_2_5[]:s=if($=1,"Гр.5 Лимиты бюджетных обязательств","");
var nУсл_2_6:I; var ИстКБК_2_6[]:I; var Знак_2_6[]:I=[1]; var УслСчД_2_6[]:S; var УслСчК_2_6[]:S; var УслАн_2_6[]:S; var УслСтатус_2_6[]:S; var ИстКБК_2_6_[]:S=if(ИстКБК_2_6[$]=0,"Счета","Аналитика"); var УслНаим_2_6[]:s=if($=1,"Гр.6 Исполнено через органы организующие исполнение бюджета.","");
var nУсл_2_7:I; var ИстКБК_2_7[]:I; var Знак_2_7[]:I=[1]; var УслСчД_2_7[]:S; var УслСчК_2_7[]:S; var УслАн_2_7[]:S; var УслСтатус_2_7[]:S; var ИстКБК_2_7_[]:S=if(ИстКБК_2_7[$]=0,"Счета","Аналитика"); var УслНаим_2_7[]:s=if($=1,"Гр.7 Исполнено через банковские счета","");
var nУсл_2_8:I; var ИстКБК_2_8[]:I; var Знак_2_8[]:I=[1]; var УслСчД_2_8[]:S; var УслСчК_2_8[]:S; var УслАн_2_8[]:S; var УслСтатус_2_8[]:S; var ИстКБК_2_8_[]:S=if(ИстКБК_2_8[$]=0,"Счета","Аналитика"); var УслНаим_2_8[]:s=if($=1,"Гр.8 Некассовые операции","");

var nУсл_3_4:I; var ИстКБК_3_4[]:I; var Знак_3_4[]:I=[1]; var УслСчД_3_4[]:S; var УслСчК_3_4[]:S; var УслАн_3_4[]:S; var УслСтатус_3_4[]:S; var ИстКБК_3_4_[]:S=if(ИстКБК_3_4[$]=0,"Счета","Аналитика"); var УслНаим_3_4[]:s=if($=1,"Гр.4 Утвержденные бюджетные назначения","");
var nУсл_3_5:I; var ИстКБК_3_5[]:I; var Знак_3_5[]:I=[1]; var УслСчД_3_5[]:S; var УслСчК_3_5[]:S; var УслАн_3_5[]:S; var УслСтатус_3_5[]:S; var ИстКБК_3_5_[]:S=if(ИстКБК_3_5[$]=0,"Счета","Аналитика"); var УслНаим_3_5[]:s=if($=1,"Гр.5 Исполнено через органы организующие исполнение бюджета.","");
var nУсл_3_6:I; var ИстКБК_3_6[]:I; var Знак_3_6[]:I=[1]; var УслСчД_3_6[]:S; var УслСчК_3_6[]:S; var УслАн_3_6[]:S; var УслСтатус_3_6[]:S; var ИстКБК_3_6_[]:S=if(ИстКБК_3_6[$]=0,"Счета","Аналитика"); var УслНаим_3_6[]:s=if($=1,"Гр.6 Исполнено через банковские счета","");
var nУсл_3_7:I; var ИстКБК_3_7[]:I; var Знак_3_7[]:I=[1]; var УслСчД_3_7[]:S; var УслСчК_3_7[]:S; var УслАн_3_7[]:S; var УслСтатус_3_7[]:S; var ИстКБК_3_7_[]:S=if(ИстКБК_3_7[$]=0,"Счета","Аналитика"); var УслНаим_3_7[]:s=if($=1,"Гр.7 Некассовые операции","");

var Знак_3_4_710:I=[1]; var УслСчД_3_4_710:S; var УслСчК_3_4_710:S; var УслАн_3_4_710:S;
var Знак_3_6_710:I=[1]; var УслСчД_3_6_710:S; var УслСчК_3_6_710:S; var УслАн_3_6_710:S;
var Знак_3_7_710:I=[1]; var УслСчД_3_7_710:S; var УслСчК_3_7_710:S; var УслАн_3_7_710:S;

var Знак_3_4_720:I=[1]; var УслСчД_3_4_720:S; var УслСчК_3_4_720:S; var УслАн_3_4_720:S;
var Знак_3_6_720:I=[1]; var УслСчД_3_6_720:S; var УслСчК_3_6_720:S; var УслАн_3_6_720:S;
var Знак_3_7_720:I=[1]; var УслСчД_3_7_720:S; var УслСчК_3_7_720:S; var УслАн_3_7_720:S;

var Знак_3_5_811:I=[1]; var УслСчД_3_5_811:S; var УслСчК_3_5_811:S; var УслАн_3_5_811:S;
var Знак_3_6_811:I=[1]; var УслСчД_3_6_811:S; var УслСчК_3_6_811:S; var УслАн_3_6_811:S;

var Знак_3_5_812:I=[1]; var УслСчД_3_5_812:S; var УслСчК_3_5_812:S; var УслАн_3_5_812:S;
var Знак_3_6_812:I=[1]; var УслСчД_3_6_812:S; var УслСчК_3_6_812:S; var УслАн_3_6_812:S;

var Знак_3_6_821:I=[1]; var УслСчД_3_6_821:S; var УслСчК_3_6_821:S; var УслАн_3_6_821:S;
var Знак_3_7_821:I=[1]; var УслСчД_3_7_821:S; var УслСчК_3_7_821:S; var УслАн_3_7_821:S;

var Знак_3_6_822:I=[1]; var УслСчД_3_6_822:S; var УслСчК_3_6_822:S; var УслАн_3_6_822:S;
var Знак_3_7_822:I=[1]; var УслСчД_3_7_822:S; var УслСчК_3_7_822:S; var УслАн_3_7_822:S;
--
var ОтчGUID:S;

var НеУчитЗаклПр:L=True;

var Контроль5:L=not(Round(RГ5С500,Точн)=Round(-1*RГ6С450,Точн));
var Контроль6:L=not(Round(RГ6С500,Точн)=Round(-1*RГ7С450,Точн));
var Контроль7:L=not(Round(RГ7С500,Точн)=Round(-1*RГ8С450,Точн));
var ТекстКонтроль5:S="Нарушено контрольное соотношение стр.500 гр.5 не равна стр.450 гр.5 с противоположныи знаком (разница="+Str(RГ5С500-(-1*RГ6С450),2)+")";
var ТекстКонтроль6:S="Нарушено контрольное соотношение стр.500 гр.6 не равна стр.450 гр.6 с противоположныи знаком (разница="+Str(RГ6С500-(-1*RГ7С450),2)+")";
var ТекстКонтроль7:S="Нарушено контрольное соотношение стр.500 гр.7 не равна стр.450 гр.7 с противоположныи знаком (разница="+Str(RГ7С500-(-1*RГ8С450),2)+")";

ИспДол           :String;
ИспФИО           :String;
ИспТЕЛ           :String;
ИспREC           :Record;

var SelfBln:S="ОТЧЕТЫ.БАЛАНС.191Н.0503127";
var НастрGUID:S;
var НастрRec:Record;
var НастрВерсия:I=120105;
var ТекущаяВерсия:I;
2--
2-- Объекты бланка
btnРасчет     :Object;
btnНастр      :Object;
btnЗакрыть    :Object;
btnExport     :Object;


Табл1_1: Section;
Табл1_2: Section;
Табл2  : Section;
Табл2_1: Section;
Табл2_2: Section;
Табл2_3: Section;
Табл3_1: Section;
Табл3_2: Section;
Табл3_3: Section;
Табл3_4: Section;
Табл3_5: Section;
Табл3_6: Section;
Табл3_7: Section;
Табл3_8: Section;
Табл3_9: Section;
Табл4_1: Section;
2--
2-- Процедуры и функции
Proc Очистить_(Part:I);
 if Part=0 or Part=1:
    ClearVariable(М1);
    ClearVariable(SГ1С020М1);
    ClearVariable(SГ3С020М1);
    ClearVariable(RГ4С020М1);
    ClearVariable(RГ5С020М1);
    ClearVariable(RГ6С020М1);
    ClearVariable(RГ7С020М1);
    ClearVariable(flagГ9С020М1); flagГ9С020М1[1]=flagГ9С010;
 fi;
 if Part=0 or Part=2:
    ClearVariable(М2);
    ClearVariable(SГ1С210М2);
    ClearVariable(SГ3С210М2);
    ClearVariable(RГ4С210М2);
    ClearVariable(RГ5С210М2);
    ClearVariable(RГ6С210М2);
    ClearVariable(RГ7С210М2);
    ClearVariable(RГ8С210М2);
    ClearVariable(flagГ10С210М2); flagГ10С210М2[1]=flagГ10С200;
    ClearVariable(flagГ11С210М2); flagГ11С210М2[1]=flagГ11С200;
 fi;
 if Part=0 or Part=3:
    ClearVariable(М3);
    ClearVariable(SГ1С520М3);
    ClearVariable(SГ3С520М3);
    ClearVariable(RГ4С520М3);
    ClearVariable(RГ5С520М3);
    ClearVariable(RГ6С520М3);
    ClearVariable(RГ7С520М3);
    ClearVariable(flagГ9С520М3); flagГ9С520М3[1]=flagГ9С520;

    ClearVariable(М4);
    ClearVariable(SГ1С620М4);
    ClearVariable(SГ3С620М4);
    ClearVariable(RГ4С620М4);
    ClearVariable(RГ5С620М4);
    ClearVariable(RГ6С620М4);
    ClearVariable(RГ7С620М4);
    ClearVariable(flagГ9С620М4); flagГ9С620М4[1]=flagГ9С620;

    ClearVariable(SГ3С700);
    ClearVariable(SГ3С710);
    ClearVariable(М5);
    ClearVariable(SГ3С710М5);
    ClearVariable(RГ4С710М5);
    ClearVariable(RГ6С710М5);
    ClearVariable(RГ7С710М5);

    ClearVariable(SГ3С720);
    ClearVariable(М6);
    ClearVariable(SГ3С720М6);
    ClearVariable(RГ4С720М6);
    ClearVariable(RГ6С720М6);
    ClearVariable(RГ7С720М6);

    ClearVariable(RГ5С811);
    ClearVariable(RГ5С812);
    ClearVariable(RГ6С812);

    ClearVariable(RГ6С821);
    ClearVariable(RГ6С822);
    ClearVariable(RГ7С821);
    ClearVariable(RГ7С822);
 fi;
end;

proc Очистить;
    Очистить_(0);
end;

Proc НастрУмолч;
 ДопСпр = "";
 ИспДопАн = false;
 nУсл_1_4=1; ClearVariable(ИстКБК_1_4); ClearVariable(Знак_1_4); ClearVariable(УслСчД_1_4); ClearVariable(УслСчК_1_4); ClearVariable(УслАн_1_4); ClearVariable(УслСтатус_1_4);
 nУсл_1_5=1; ClearVariable(ИстКБК_1_5); ClearVariable(Знак_1_5); ClearVariable(УслСчД_1_5); ClearVariable(УслСчК_1_5); ClearVariable(УслАн_1_5); ClearVariable(УслСтатус_1_5);
 nУсл_1_6=1; ClearVariable(ИстКБК_1_6); ClearVariable(Знак_1_6); ClearVariable(УслСчД_1_6); ClearVariable(УслСчК_1_6); ClearVariable(УслАн_1_6); ClearVariable(УслСтатус_1_6);
 nУсл_1_7=1; ClearVariable(ИстКБК_1_7); ClearVariable(Знак_1_7); ClearVariable(УслСчД_1_7); ClearVariable(УслСчК_1_7); ClearVariable(УслАн_1_7); ClearVariable(УслСтатус_1_7);
 nУсл_2_4=2; ClearVariable(ИстКБК_2_4); ClearVariable(Знак_2_4); ClearVariable(УслСчД_2_4); ClearVariable(УслСчК_2_4); ClearVariable(УслАн_2_4); ClearVariable(УслСтатус_2_4);
 nУсл_2_5=2; ClearVariable(ИстКБК_2_5); ClearVariable(Знак_2_5); ClearVariable(УслСчД_2_5); ClearVariable(УслСчК_2_5); ClearVariable(УслАн_2_5); ClearVariable(УслСтатус_2_5);
 nУсл_2_6=1; ClearVariable(ИстКБК_2_6); ClearVariable(Знак_2_6); ClearVariable(УслСчД_2_6); ClearVariable(УслСчК_2_6); ClearVariable(УслАн_2_6); ClearVariable(УслСтатус_2_6);
 nУсл_2_7=1; ClearVariable(ИстКБК_2_7); ClearVariable(Знак_2_7); ClearVariable(УслСчД_2_7); ClearVariable(УслСчК_2_7); ClearVariable(УслАн_2_7); ClearVariable(УслСтатус_2_7);
 nУсл_2_8=1; ClearVariable(ИстКБК_2_8); ClearVariable(Знак_2_8); ClearVariable(УслСчД_2_8); ClearVariable(УслСчК_2_8); ClearVariable(УслАн_2_8); ClearVariable(УслСтатус_2_8);
 nУсл_3_4=1; ClearVariable(ИстКБК_3_4); ClearVariable(Знак_3_4); ClearVariable(УслСчД_3_4); ClearVariable(УслСчК_3_4); ClearVariable(УслАн_3_4); ClearVariable(УслСтатус_3_4);
 nУсл_3_5=2; ClearVariable(ИстКБК_3_5); ClearVariable(Знак_3_5); ClearVariable(УслСчД_3_5); ClearVariable(УслСчК_3_5); ClearVariable(УслАн_3_5); ClearVariable(УслСтатус_3_5);
 nУсл_3_6=2; ClearVariable(ИстКБК_3_6); ClearVariable(Знак_3_6); ClearVariable(УслСчД_3_6); ClearVariable(УслСчК_3_6); ClearVariable(УслАн_3_6); ClearVariable(УслСтатус_3_6);
 nУсл_3_7=1; ClearVariable(ИстКБК_3_7); ClearVariable(Знак_3_7); ClearVariable(УслСчД_3_7); ClearVariable(УслСчК_3_7); ClearVariable(УслАн_3_7); ClearVariable(УслСтатус_3_7);

 ИстКБК_1_4[1]=0; Знак_1_4[1]= 1; УслСчД_1_4[1]="";                                                                     УслСчК_1_4[1]="";                                УслАн_1_4[1]="";
 ИстКБК_1_5[1]=0; Знак_1_5[1]= 1; УслСчД_1_5[1]="*.?.210.02.*&(*.110|*.120|*.130|*.140|*.15?|*.160|*.173|*.180|*.4??)"; УслСчК_1_5[1]="";                                УслАн_1_5[1]="";
 ИстКБК_1_6[1]=1; Знак_1_6[1]= 1; УслСчД_1_6[1]="*.?.201.21.*|*.?.201.23.*|*.?.201.27.*";                               УслСчК_1_6[1]="~*.?.401.10.171";                 УслАн_1_6[1]="КД.*";
 ИстКБК_1_7[1]=1; Знак_1_7[1]= 1; УслСчД_1_7[1]="";                                                                     УслСчК_1_7[1]="";                                УслАн_1_7[1]="";

 ИстКБК_2_4[1]=0; Знак_2_4[1]= 1; УслСчД_2_4[1]="*.?.503.15.*";                                                         УслСчК_2_4[1]="";                                УслАн_2_4[1]="";
 ИстКБК_2_4[2]=0; Знак_2_4[2]= 1; УслСчД_2_4[2]="*.?.503.14.*";                                                         УслСчК_2_4[2]="";                                УслАн_2_4[2]="";
 ИстКБК_2_5[1]=0; Знак_2_5[1]= 1; УслСчД_2_5[1]="*.?.501.15.*";                                                         УслСчК_2_5[1]="";                                УслАн_2_5[1]="";
 ИстКБК_2_5[2]=0; Знак_2_5[3]= 1; УслСчД_2_5[2]="*.?.501.14.*";                                                         УслСчК_2_5[2]="";                                УслАн_2_5[2]="";
 ИстКБК_2_6[1]=0; Знак_2_6[1]=-1; УслСчД_2_6[1]="*.?.304.05.*&(*.2??|*.3??|*.530)";                                     УслСчК_2_6[1]="~*.?.304.04.*";                   УслАн_2_6[1]="";
 ИстКБК_2_7[1]=1; Знак_2_7[1]=-1; УслСчД_2_7[1]="*.?.201.21.*|*.?.201.27.*";                                            УслСчК_2_7[1]="~(*.?.304.04.*|*.?.401.10.171)"; УслАн_2_7[1]="ФКР.*";
 ИстКБК_2_8[1]=0; Знак_2_8[1]= 1; УслСчД_2_8[1]="";                                                                     УслСчК_2_8[1]="";                                УслАн_2_8[1]="";

 ИстКБК_3_4[1]=0; Знак_3_4[1]= 1; УслСчД_3_4[1]="";                                                                     УслСчК_3_4[1]="";                                УслАн_3_4[1]="";

 ИстКБК_3_5[1]=0; Знак_3_5[1]= 1; УслСчД_3_5[1]="*.?.210.02.*&(*.171|*.410|*.620|*.630|*.640|*.650|*.710|*.720)";       УслСчК_3_5[1]="";                                УслАн_3_5[1]="";
 ИстКБК_3_5[2]=0; Знак_3_5[2]= 1; УслСчД_3_5[2]="*.?.304.05.*&(*.310|*.520|*.540|*.550|*.810|*.820)";                   УслСчК_3_5[2]="~*.?.304.04.*";                   УслАн_3_5[2]="";

 ИстКБК_3_6[1]=1; Знак_3_6[1]= 1; УслСчД_3_6[1]="*.?.201.21.*|*.?.201.23.*|*.?.201.27.*";                               УслСчК_3_6[1]="~(*.?.304.04.*|*.?.401.10.171)"; УслАн_3_6[1]="КИФД.*";
 ИстКБК_3_6[2]=0; Знак_3_6[2]=-1; УслСчД_3_6[2]="*.?.401.10.171";                                                       УслСчК_3_6[2]="*.?.201.27.*";                    УслАн_3_6[2]="";

 ИстКБК_3_7[1]=1; Знак_3_7[1]= 1; УслСчД_3_7[1]="";                                                                     УслСчК_3_7[1]="";                                УслАн_3_7[1]="";

 Знак_3_4_710=-1; УслСчД_3_4_710="";                                                                                    УслСчК_3_4_710="";                               УслАн_3_4_710="";
 Знак_3_6_710=-1; УслСчД_3_6_710="*.?.201.21.510|*.?.201.22.510|*.?.201.23.510|*.?.201.27.510";                         УслСчК_3_6_710="";                               УслАн_3_6_710="";
 Знак_3_7_710=-1; УслСчД_3_7_710="";                                                                                    УслСчК_3_7_710="";                               УслАн_3_7_710="";

 Знак_3_4_720=-1; УслСчД_3_4_720="";                                                                                    УслСчК_3_4_720="";                               УслАн_3_4_720="";
 Знак_3_6_710=-1; УслСчД_3_6_720="*.?.201.21.610|*.?.201.22.610|*.?.201.23.610|*.?.201.27.610";                         УслСчК_3_6_720="";                               УслАн_3_6_720="";
 Знак_3_7_710=-1; УслСчД_3_7_720="";                                                                                    УслСчК_3_7_720="";                               УслАн_3_7_720="";

 Знак_3_5_811=-1; УслСчД_3_5_811="*.?.210.02.*&~(*.610)";                                                               УслСчК_3_5_811="";                               УслАн_3_5_811="";
 Знак_3_6_811= 1; УслСчД_3_6_811="*.?.210.02.610";                                                                      УслСчК_3_6_811="";                               УслАн_3_6_811="";

 Знак_3_5_812=-1; УслСчД_3_5_812="*.?.304.05.*";                                                                        УслСчК_3_5_812="~*.?.304.04.*";                  УслАн_3_5_812="";
 Знак_3_6_812=-1; УслСчД_3_6_812="*.?.304.05.*";                                                                        УслСчК_3_6_812="*.?.304.04.*";                   УслАн_3_6_812="";

 Знак_3_6_821= 1; УслСчД_3_6_821="*.?.201.21.510|*.?.201.27.510";                                                       УслСчК_3_6_821="*.?.304.05.*";                   УслАн_3_6_821="";
 Знак_3_7_821= 1; УслСчД_3_7_821="*.?.201.23.510";                                                                      УслСчК_3_7_821="*.?.304.04.*";                   УслАн_3_7_821="";

 Знак_3_6_822= 1; УслСчД_3_6_822="*.?.201.21.610|*.?.201.27.610";                                                       УслСчК_3_6_822="*.?.304.05.*";                   УслАн_3_6_822="";
 Знак_3_7_822= 1; УслСчД_3_7_822="*.?.201.23.610";                                                                      УслСчК_3_7_822="*.?.304.04.*";                   УслАн_3_7_822="";
 ТекущаяВерсия=НастрВерсия;
end;

Proc Настр(aСохр:L);
var s,n,nn,z,zz,w,ww:i;
var Val:S;
 if НастрGUID="" or aСохр: НастрGUID=GetGUID; fi;
 if Раб.Настр.Начать(SelfBln,0,НастрВерсия,if(aСохр,"",RecordToString(НастрRec)),НастрGUID):
    Раб.Настр.Добавить("ТекущаяВерсия","I");
    for s=1..3 do
     ClearVariable(Buf);
     n=0;
     if s=1: n=n+1; Buf[n]="4"; n=n+1; Buf[n]="5"; n=n+1; Buf[n]="6"; n=n+1; Buf[n]="7";
       |s=2: n=n+1; Buf[n]="4"; n=n+1; Buf[n]="5"; n=n+1; Buf[n]="6"; n=n+1; Buf[n]="7"; n=n+1; Buf[n]="8";
       |s=3: n=n+1; Buf[n]="4"; n=n+1; Buf[n]="5"; n=n+1; Buf[n]="6"; n=n+1; Buf[n]="7";
     fi;
     nn=n;
     for n=1..nn do
      Val="_"+Str(s)+"_"+Buf[n];
      Раб.Настр.Добавить("nУсл"+Val,"I");
      zz=GetVariableI("nУсл"+Val);
      for z=1..zz do
       Val="_"+Str(s)+"_"+Buf[n]+"["+Str(z)+"]";
       Раб.Настр.Добавить("ИстКБК"+Val,"I");
       Раб.Настр.Добавить("Знак"+Val,"I");
       Раб.Настр.Добавить("УслСчД"+Val,"S");
       Раб.Настр.Добавить("УслСчК"+Val,"S");
       Раб.Настр.Добавить("УслАн"+Val,"S");
      od;
     od;
    od;
    ClearVariable(Buf);
    n=n+1; Buf[n]="710#4#6#7";
    n=n+1; Buf[n]="720#4#6#7";
    n=n+1; Buf[n]="811#5#6";
    n=n+1; Buf[n]="812#5#6";
    n=n+1; Buf[n]="821#6#7";
    n=n+1; Buf[n]="822#6#7";
    nn=n;
    for n=1..nn do
     ww=WordsCount(Buf[n],"#");
     for w=2..ww do
      Val="_3_"+ExtractWord(w,Buf[n],"#")+"_"+ExtractWord(1,Buf[n],"#");
      Раб.Настр.Добавить("Знак"+val,"I"); 
      Раб.Настр.Добавить("УслСчД"+val,"S"); 
      Раб.Настр.Добавить("УслСчК"+val,"S");
      Раб.Настр.Добавить("УслАн"+val,"S");
     od;
    od;
    if aСохр:
       ТекущаяВерсия=НастрВерсия;
       Раб.Настр.Сохранить;
      else
       НастрGUID=Раб.Настр.Загрузить("","");
       if НастрGUID="":
          НастрУмолч;
       fi;
    fi;
    НастрRec=nil;
 fi;
end;

Proc КонтрольВерсии;
 Настр(False);
 if not ТекущаяВерсия=НастрВерсия:
    НастрУмолч;
    Настр(True);
    Message("Настройка отчета актуализирована");
 fi;
end;

Proc УдалитьПустыеСтрНастр;
var Iter:i;
 Iter=1; While Iter<=nУсл_1_4 do if УслСчД_1_4[Iter]="" and УслСчК_1_4[Iter]="" and УслАн_1_4[Iter]="": DeleteFrame(nУсл_1_4,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_1_5 do if УслСчД_1_5[Iter]="" and УслСчК_1_5[Iter]="" and УслАн_1_5[Iter]="": DeleteFrame(nУсл_1_5,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_1_6 do if УслСчД_1_6[Iter]="" and УслСчК_1_6[Iter]="" and УслАн_1_6[Iter]="": DeleteFrame(nУсл_1_6,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_1_7 do if УслСчД_1_7[Iter]="" and УслСчК_1_7[Iter]="" and УслАн_1_7[Iter]="": DeleteFrame(nУсл_1_7,Iter); else Iter=Iter+1; fi; od;
 --
 Iter=1; While Iter<=nУсл_2_4 do if УслСчД_2_4[Iter]="" and УслСчК_2_4[Iter]="" and УслАн_2_4[Iter]="": DeleteFrame(nУсл_2_4,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_2_5 do if УслСчД_2_5[Iter]="" and УслСчК_2_5[Iter]="" and УслАн_2_5[Iter]="": DeleteFrame(nУсл_2_5,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_2_6 do if УслСчД_2_6[Iter]="" and УслСчК_2_6[Iter]="" and УслАн_2_6[Iter]="": DeleteFrame(nУсл_2_6,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_2_7 do if УслСчД_2_7[Iter]="" and УслСчК_2_7[Iter]="" and УслАн_2_7[Iter]="": DeleteFrame(nУсл_2_7,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_2_8 do if УслСчД_2_8[Iter]="" and УслСчК_2_8[Iter]="" and УслАн_2_8[Iter]="": DeleteFrame(nУсл_2_8,Iter); else Iter=Iter+1; fi; od;
 --
 Iter=1; While Iter<=nУсл_3_4 do if УслСчД_3_4[Iter]="" and УслСчК_3_4[Iter]="" and УслАн_3_4[Iter]="": DeleteFrame(nУсл_3_4,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_3_5 do if УслСчД_3_5[Iter]="" and УслСчК_3_5[Iter]="" and УслАн_3_5[Iter]="": DeleteFrame(nУсл_3_5,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_3_6 do if УслСчД_3_6[Iter]="" and УслСчК_3_6[Iter]="" and УслАн_3_6[Iter]="": DeleteFrame(nУсл_3_6,Iter); else Iter=Iter+1; fi; od;
 Iter=1; While Iter<=nУсл_3_7 do if УслСчД_3_7[Iter]="" and УслСчК_3_7[Iter]="" and УслАн_3_7[Iter]="": DeleteFrame(nУсл_3_7,Iter); else Iter=Iter+1; fi; od;
end;

Func ПустаяНастр:L;
 if nУсл_1_4<=1 and УслСчД_1_4[1]="" and УслСчК_1_4[1]="" and УслАн_1_4[1]="" and
     nУсл_1_5<=1 and УслСчД_1_5[1]="" and УслСчК_1_5[1]="" and УслАн_1_5[1]="" and
    nУсл_1_6<=1 and УслСчД_1_6[1]="" and УслСчК_1_6[1]="" and УслАн_1_6[1]="" and
    nУсл_1_7<=1 and УслСчД_1_7[1]="" and УслСчК_1_7[1]="" and УслАн_1_7[1]="" and
    nУсл_2_4<=2 and УслСчД_2_4[1]="" and УслСчК_2_4[1]="" and УслАн_2_4[1]="" and
    nУсл_2_5<=2 and УслСчД_2_5[1]="" and УслСчК_2_5[1]="" and УслАн_2_5[1]="" and
    nУсл_2_6<=2 and УслСчД_2_6[1]="" and УслСчК_2_6[1]="" and УслАн_2_6[1]="" and
    nУсл_2_7<=2 and УслСчД_2_7[1]="" and УслСчК_2_7[1]="" and УслАн_2_7[1]="" and
    nУсл_2_8<=2 and УслСчД_2_8[1]="" and УслСчК_2_8[1]="" and УслАн_2_8[1]="" and
    nУсл_3_4<=3 and УслСчД_3_4[1]="" and УслСчК_3_4[1]="" and УслАн_3_4[1]="" and
    nУсл_3_5<=3 and УслСчД_3_5[1]="" and УслСчК_3_5[1]="" and УслАн_3_5[1]="" and
    nУсл_3_6<=3 and УслСчД_3_6[1]="" and УслСчК_3_6[1]="" and УслАн_3_6[1]="" and
    nУсл_3_7<=3 and УслСчД_3_7[1]="" and УслСчК_3_7[1]="" and УслАн_3_7[1]="": ^True;
 fi;
 ^False;
end;

Proc ОткрытьНастр_(Flag:L);
var Obj:Object;
var x,y:i;
 Усл_0.Visible=Flag;
 x=1;

Доп2.Visible=Flag;

 While FindObject("Усл_"+Str(x),Obj) do
  y=4;
  Obj.Visible=Flag;
  While FindObject("Усл_"+Str(x)+"_"+Str(y),Obj) do
   Obj.Visible=Flag;
   if FindObject("Усл_"+Str(x)+"_"+Str(y)+"_",Obj): Obj.Visible=Flag; fi;
   y=y+1;
  od;
  x=x+1;
 od;
end;

Proc ОткрытьНастр;
 Настр(False);
 ОткрытьНастр_(True);
 Template.Field="УслСчД_3_7";
 Template.Field="УслСчД_1_4";
 if ПустаяНастр: НастрУмолч; fi;
end;

Proc ЗакрытьНастр;
 if AsLogical(Усл_0.Visible):
    ОткрытьНастр_(False);
    УдалитьПустыеСтрНастр;
    Настр(True);
 fi;
end;

Proc ЗаполнитьРекв(Rec: Record);
 if Rec=nil: Rec=Раб.Бюджет2005.НашРекв; fi;
 if not Rec=nil:
    Учреждение=GetCardFieldS('Контрагент',Rec,"ПолнИмя");
    selfКБП=GetCardFieldS('Контрагент',Rec,"РПО_КБП");
    ОКПО=GetCardFieldS('Контрагент',Rec,"ОКПО");
    ОКТМО=GetCardFieldS('Контрагент',Rec,"ОКТМО");
    ФИОРук=GetCardFieldS('Контрагент',Rec,"ФИОРук");
    ФИОБух=GetCardFieldS('Контрагент',Rec,"ФИОБух");
 fi;
end;

Proc ПрисвоитьТочность;
var Obj:Object;
var cf:S;
var x,y,c,r,cc,rr:i;
 cf=",##0."+if(Точн<1,"",RepStr("0",Точн))+";;-";
 for x=1..4 do
  for y=1..9 do
   if FindObject("Табл"+Str(x)+"_"+Str(y),Obj):
      cc=AsInteger(Obj.ColsCount);
      rr=AsInteger(Obj.RowsCount);
      for r=1..rr do
       for c=1..cc do
        if Match(AsString(Obj.Cell(r,c,CellContents,"")),"R*"): Obj.Cell(r,c,CellFormat,cf); fi;
       od;
      od;
   fi;
  od;
 od;
end;

Proc СписокКД;
 Раб.Вспом.Ф0503127_Детал.СписокКД;
 CopyArray(Раб.Вспом.Ф0503127_Детал.BufКБК,BufКД);
 CopyArray(Раб.Вспом.Ф0503127_Детал.BufКБК_,BufКД_);
end;

Proc СписокФКР;
 Раб.Вспом.Ф0503127_Детал.СписокКР;
 CopyArray(Раб.Вспом.Ф0503127_Детал.BufКБК,BufФКР);
 CopyArray(Раб.Вспом.Ф0503127_Детал.BufКБК_,BufФКР_);
end;

Proc СписокКИФД(ТипКИФД:S);
 Раб.Вспом.Ф0503127_Детал.СписокКИФД(ТипКИФД);
 CopyArray(Раб.Вспом.Ф0503127_Детал.BufКБК,BufКИФД);
 CopyArray(Раб.Вспом.Ф0503127_Детал.BufКБК_,BufКИФД_);
end;

Proc InsFrame(Frame:S; Iter:I);
 if not Pos("М1",Frame)=0: InsertFrame(М1,Iter);
   |not Pos("М2",Frame)=0: InsertFrame(М2,Iter);
   |not Pos("М3",Frame)=0: InsertFrame(М3,Iter);
   |not Pos("М4",Frame)=0: InsertFrame(М4,Iter);
   |not Pos("М5",Frame)=0: InsertFrame(М5,Iter);
   |not Pos("М6",Frame)=0: InsertFrame(М6,Iter);
 fi;
end;

Proc РасчетКБКСч (ТипКБК:S; МаскаСчКБК:S; УслСчД:S; УслСчК:S; УслАн:S; fКБК:S; fVal:S; Коэф:I;ИспДА: L;ДопАн: S);
var z,n,nn,l:i;
var УслАн2: String;
var Rep: Report;
var УслСч,КБК_,БК_,КОСГУ_,ОбщУслАн_,УслСжатияАн:S;
var Value:N;
var i: Integer;
var li: String;
var Показатель_:S;
 if УслСчД="" and УслСчК="" and УслАн="": Exit; fi;
 if not УслСчД="": УслСчД="("+УслСчД+")"; fi;
 УслСч=Раб.Бюджет2005.Объединить(УслСчД,МаскаСчКБК,"&");
 УслСч=Раб.Бюджет2005.Объединить("("+УслСч+")",УслСчК,"/");
 if not УслАн="" and not ОбщУслАн="": УслАн="("+УслАн+")"; ОбщУслАн_="("+ОбщУслАн+")"; else ОбщУслАн_=ОбщУслАн; fi;
 УслАн=Раб.Бюджет2005.Объединить(УслАн,ОбщУслАн_,"&");
 if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
 i=1;
 if ИспДА:
    if ExistsTransactions(УслСч+"{"+Раб.Бюджет2005.Объединить(УслАн,ДопАн+".*","&")+"}",ДН,ДК):
       УслСжатияАн=Раб.Бюджет2005.СписокСправ(Раб.Формат.ReplaceSubStr(УслСч,"/","|"),0,ДопАн+".*");
       Раб.Свертка.РазрешитьПрогресс=False;
       Раб.Свертка.ВыполнитьОбновление=False;
       Раб.Свертка.РазрешитьАналитику=True;
       Раб.Свертка.РазрешитьСинтетику=True;
       Раб.Свертка.ДН=ДН;
       Раб.Свертка.ДК=ДК;
       Раб.Свертка.УслСч=УслСч;
       Раб.Свертка.УслАн=Раб.Бюджет2005.Объединить(УслАн,ДопАн+".*","&");
       Раб.Свертка.Расщепление=TujRepBalAccount+TujRepCombinedAna;
       Раб.Свертка.МаскаСправ=ДопАн+".*";
       Раб.Свертка.ПолнСоотвМаскеСправ=False;
       Раб.Свертка.spМаскаСправ="|";
       Раб.Свертка.СжатиеСправ=УслСжатияАн;
       Раб.Свертка.ПорядокПоМаскеСправ=False;
       Раб.Свертка.ТипСинтетики="БК+КОСГУ";
       nn=Раб.Свертка.Расчет;
       for n=1..nn do
        l=Length(Раб.Свертка.Список_Синт[n]);
        БК_=SubStr(Раб.Свертка.Список_Синт[n],1,l-4);
        КОСГУ_=SubStr(Раб.Свертка.Список_Синт[n],l-2,3);
        УслСч=Раб.Бюджет2005.Объединить(УслСчД,БК_+".*."+КОСГУ_,"&");
        УслСч=Раб.Бюджет2005.Объединить("("+УслСч+")",УслСчК,"/");
        УслАн2=Раб.Бюджет2005.Объединить(УслАн,Раб.Свертка.Список_Ан[n],"&");
   --   Value=Turn(УслСч+"'"+УслВал+"{"+УслАн2+"}",ДН,ДК,Показатель);
        Value=Turn(УслСч+"{"+УслАн2+"}",ДН,ДК,Показатель);
        КБК_=БК_+"."+КОСГУ_;
        z=SearchInArray(BufКБК,КБК_+"#"+Раб.Свертка.Список_Ан[n], true);
        if z=-1:
           z=InsertInArraySort(BufКБК,КБК_+"#"+Раб.Свертка.Список_Ан[n]);
           InsFrame(fVal,z);
           PutVariableS(fКБК+"["+Str(z)+"]",КБК_);
           PutVariableS("RГ12С210М2["+Str(z)+"]",SubStr(Раб.Свертка.Список_Ан[n],Pos(".",Раб.Свертка.Список_Ан[n])+1,255));
        fi;
        Value=GetVariableN(fVal+"["+Str(z)+"]")+Round(Value*Коэф/ЕдИзм,Точн);
        PutVariableN(fVal+"["+Str(z)+"]",Value);
       od;
    fi;
    if ExistsTransactions(УслСч+"{"+Раб.Бюджет2005.Объединить(УслАн,"~"+ДопАн+".*","&")+"}",ДН,ДК):
      Rep=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."СЧ"',УслСч,Раб.Бюджет2005.Объединить(УслАн,"~"+ДопАн+".*","&"),ДН,ДК,УслВал);
       if not Показатель="" and not Показатель=BaseCurrency: Показатель_="ВАЛ"; fi;
       Try
        While RepNext(Rep) do
         КБК_=RepIdent(Rep);
         if not КБК_="":
            КБК_=Раб.Бюджет2005.ВзятьКодСчета(КБК_,ТипКБК,"КБК",False)+"."+Раб.Бюджет2005.ВзятьКодСчета(КБК_,ТипКБК,"КОСГУ",False);
            Value=RepTurn(Rep,0,Показатель_);
            z=SearchInArray(BufКБК,КБК_,True);
            if z=-1:
               z=InsertInArraySort(BufКБК,КБК_);
               InsFrame(fVal,z);
               PutVariableS(fКБК+"["+Str(z)+"]",КБК_);
            fi;
            Value=GetVariableN(fVal+"["+Str(z)+"]")+Round(Value*Коэф/ЕдИзм,Точн);
            PutVariableN(fVal+"["+Str(z)+"]",Value);
         fi;
        od;
       Finally
        Rep=RepClose(Rep);
       end;
    fi;
   else
    if ExistsTransactions(УслСч+"{"+УслАн+"}",ДН,ДК):
       Rep=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."СЧ"',УслСч,УслАн,ДН,ДК,УслВал);
       if not Показатель="" and not Показатель=BaseCurrency: Показатель_="ВАЛ"; fi;
       Try
        While RepNext(Rep) do
         КБК_=RepIdent(Rep);
         if not КБК_="":
            КБК_=Раб.Бюджет2005.ВзятьКодСчета(КБК_,ТипКБК,"КБК",False)+"."+Раб.Бюджет2005.ВзятьКодСчета(КБК_,ТипКБК,"КОСГУ",False);
            Value=RepTurn(Rep,0,Показатель_);
            z=SearchInArray(BufКБК,КБК_,True);
            if z=-1:
               z=InsertInArraySort(BufКБК,КБК_);
               InsFrame(fVal,z);
               PutVariableS(fКБК+"["+Str(z)+"]",КБК_);
            fi;
            Value=GetVariableN(fVal+"["+Str(z)+"]")+Round(Value*Коэф/ЕдИзм,Точн);
            PutVariableN(fVal+"["+Str(z)+"]",Value);
         fi;
        od;
       Finally
        Rep=RepClose(Rep);
       end;
    fi;
 fi;
end;

Proc РасчетКБКАн (ТипКБК:S; МаскаАнКБК:S; УслСчД:S; УслСчК:S; УслАн:S; fКБК:S; fVal:S; Коэф:I;ИспДА: L;ДопАн: S);
var z:i;
var Rep1,Rep2: Report;
var УслСч,КБК_,КОСГУ_,ОбщУслАн_,УслАн_:S;
var Value:N;
var i:Integer;
var УслАн2: String;
var li: String;
var Показатель_:S;
 if УслСчД="" and УслСчК="" and УслАн="": Exit; fi;
 if not УслСчД="": УслСчД="("+УслСчД+")"; fi;
 УслСч=Раб.Бюджет2005.Объединить(УслСчД,ОбщУслБС,"&");
 УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК,"/");
 if not УслАн="": УслАн="("+УслАн+")"; fi;
 if not ОбщУслАн="": ОбщУслАн_="("+ОбщУслАн+")"; else ОбщУслАн_=ОбщУслАн; fi;
 УслАн=Раб.Бюджет2005.Объединить(УслАн,ОбщУслАн_,"&");
 УслАн=Раб.Бюджет2005.Объединить(УслАн,МаскаАнКБК,"&");
 if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
 if not Показатель="" and not Показатель=BaseCurrency: Показатель_="ВАЛ"; fi;

if ИспДА:
 Для Признака li = ДопАн+".*" Цикл
 УслАн2=Раб.Бюджет2005.Объединить(УслАн,li,"&");

 Rep1=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."АН"',УслСч,УслАн2,ДН,ДК,УслВал,ТипКБК);
 Try
  While RepNext(Rep1) do
   КБК_=RepIdent(Rep1);
   if not КБК_="":
     УслАн_=Раб.Бюджет2005.Объединить(УслАн,li,"&");
     КБК_=SubStr(КБК_,Pos(".",КБК_)+1,255);
     Rep2=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."АН"',УслСч,УслАн_,ДН,ДК,УслВал,"КОСГУ");
     Try
      While RepNext(Rep2) do
       КОСГУ_=RepIdent(Rep2);
       if not КОСГУ_="":
         Value=RepTurn(Rep2,0,Показатель_);
         КОСГУ_=SubStr(КОСГУ_,Pos(".",КОСГУ_)+1,3);
         z=SearchInArray(BufКБК,КБК_+"."+КОСГУ_,True);
         if z=-1:
            z=InsertInArraySort(BufКБК,КБК_+"."+КОСГУ_);
            InsFrame(fVal,z);
          --  КБК_ = КБК_+"/"+substr(li,Length(ДопСпр)+2,255);
            PutVariableS("RГ12С210М2["+Str(z)+"]",substr(li,Length(ДопСпр)+2,255));
            PutVariableS(fКБК+"["+Str(z)+"]",КБК_+"."+КОСГУ_);
         fi;
         Value=GetVariableN(fVal+"["+Str(z)+"]")+Round(Value*Коэф/ЕдИзм,Точн);
         PutVariableN(fVal+"["+Str(z)+"]",Value);
         i=i+1;
       fi;
      od;
    Finally
     Rep2=RepClose(Rep2);
    end;
   fi;
  od;
 Finally
  Rep1=RepClose(Rep1);
 end;
 конец;
 УслАн2=Раб.Бюджет2005.Объединить(УслАн,"~"+ДопАн+".*","&");
 Rep1=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."СЧ"',УслСч,УслАн2,ДН,ДК,УслВал);
 if not Показатель="" and not Показатель=BaseCurrency: Показатель_="ВАЛ"; fi;
 Try
  While RepNext(Rep1) do
   КБК_=RepIdent(Rep1);
   if not КБК_="":
      КБК_=Раб.Бюджет2005.ВзятьКодСчета(КБК_,ТипКБК,"КБК",False)+"."+Раб.Бюджет2005.ВзятьКодСчета(КБК_,ТипКБК,"КОСГУ",False);
      Value=RepTurn(Rep1,0,Показатель_);
      z=SearchInArray(BufКБК,КБК_,True);
      if z=-1:
         z=InsertInArraySort(BufКБК,КБК_);
         InsFrame(fVal,i);
      -- КБК_ = КБК_+"\"+substr(li,Length(ДопСпр)+2,255);
         PutVariableS("RГ12С210М2["+Str(i)+"]",substr(li,Length(ДопСпр)+2,255));
         PutVariableS(fКБК+"["+Str(i)+"]",КБК_);
      fi;
      Value=GetVariableN(fVal+"["+Str(i)+"]")+Round(Value*Коэф/ЕдИзм,Точн);
      PutVariableN(fVal+"["+Str(i)+"]",Value);
      i=i+1;
   fi;
  od;
 Finally
  Rep1=RepClose(Rep1);
 end;
 else
  if ExistsTransactions(УслСч+"{"+раб.Бюджет2005.Объединить(УслАн,ТипКБК+".*&КОСГУ.*}","&"),ДН,ДК):
     Rep1=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."АН"',УслСч,УслАн,ДН,ДК,УслВал,ТипКБК);
     Try
      While RepNext(Rep1) do
       КБК_=RepIdent(Rep1);
       if not КБК_="":
         УслАн_=Раб.Бюджет2005.Объединить(УслАн,КБК_,"&");
         КБК_=SubStr(КБК_,Pos(".",КБК_)+1,255);
         Rep2=RepOpen('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Ф0503127.lst"."АН"',УслСч,УслАн_,ДН,ДК,УслВал,"КОСГУ");
         Try
          While RepNext(Rep2) do
           КОСГУ_=RepIdent(Rep2);
           if not КОСГУ_="":
             Value=RepTurn(Rep2,0,Показатель_);
             КОСГУ_=SubStr(КОСГУ_,Pos(".",КОСГУ_)+1,3);
             z=SearchInArray(BufКБК,КБК_+"."+КОСГУ_,True);
             if z=-1:
                z=InsertInArraySort(BufКБК,КБК_+"."+КОСГУ_);
                InsFrame(fVal,z);
                PutVariableS(fКБК+"["+Str(z)+"]",КБК_+"."+КОСГУ_);
             fi;
             Value=GetVariableN(fVal+"["+Str(z)+"]")+Round(Value*Коэф/ЕдИзм,Точн);
             PutVariableN(fVal+"["+Str(z)+"]",Value);
           fi;
          od;
        Finally
         Rep2=RepClose(Rep2);
        end;
       fi;
      od;
     Finally
      Rep1=RepClose(Rep1);
     end;
  fi;
 fi;
end;

Proc ЗаполнитьНаимПок(Part:I);
var Iter:I;
var tmp:S;
 if Part=0 or Part=1:
    for Iter=1..М1 do
     SГ1С020М1[Iter]=Раб.Вспом.Ф0503127_Детал.НаимКБК("КД",SГ3С020М1[Iter]);
    od;
 fi;
 if Part=0 or Part=2:
    for Iter=1..М2 do
     tmp=Раб.Бюджет2005.ВзятьКодКБК(SГ3С210М2[Iter],"ФКР","КОСГУ",False);
     SГ1С210М2[Iter]=Раб.Бюджет.НаимКБК("КОСГУ2006",tmp);
    od;
 fi;
 if Part=0 or Part=3:
    for Iter=1..М3 do
     SГ1С520М3[Iter]=Раб.Вспом.Ф0503127_Детал.НаимКБК("КИФД",SГ3С520М3[Iter]);
    od;
    for Iter=1..М4 do
     SГ1С620М4[Iter]=Раб.Вспом.Ф0503127_Детал.НаимКБК("КИФД",SГ3С620М4[Iter]);
    od;
    for Iter=1..М5 do
     SГ1С710М5[Iter]=Раб.Вспом.Ф0503127_Детал.НаимКБК("КИФД",SГ3С710М5[Iter]);
    od;
    for Iter=1..М6 do
     SГ1С720М6[Iter]=Раб.Вспом.Ф0503127_Детал.НаимКБК("КИФД",SГ3С720М6[Iter]);
    od;
 fi;
end;

Proc УдалитьПустыеСтроки(Part:I);
var Iter:I;
 if Part=0 or Part=1:
    Iter=1;
    While Iter<=М1 do
     if RГ4С020М1[Iter]=0 and RГ5С020М1[Iter]=0 and RГ6С020М1[Iter]=0 and RГ7С020М1[Iter]=0: DeleteFrame(М1,Iter); else Iter=Iter+1; fi;
    od;
 fi;
 if Part=0 or Part=2:
    Iter=1;
    While Iter<=М2 do
     if RГ4С210М2[Iter]=0 and RГ5С210М2[Iter]=0 and RГ6С210М2[Iter]=0 and RГ7С210М2[Iter]=0 and RГ8С210М2[Iter]=0: DeleteFrame(М2,Iter); else Iter=Iter+1; fi;
    od;
 fi;
 if Part=0 or Part=3:
    Iter=1;
    While Iter<=М3 do
     if RГ4С520М3[Iter]=0 and RГ5С520М3[Iter]=0 and RГ6С520М3[Iter]=0 and RГ7С520М3[Iter]=0: DeleteFrame(М3,Iter); else Iter=Iter+1; fi;
    od;
    Iter=1;
    While Iter<=М4 do
     if RГ4С620М4[Iter]=0 and RГ5С620М4[Iter]=0 and RГ6С620М4[Iter]=0 and RГ7С620М4[Iter]=0: DeleteFrame(М4,Iter); else Iter=Iter+1; fi;
    od;
    Iter=1;
    While Iter<=М5 do
     if RГ4С710М5[Iter]=0 and RГ6С710М5[Iter]=0 and RГ7С710М5[Iter]=0: DeleteFrame(М5,Iter); else Iter=Iter+1; fi;
    od;
    Iter=1;
    While Iter<=М6 do
     if RГ4С720М6[Iter]=0 and RГ6С720М6[Iter]=0 and RГ7С720М6[Iter]=0: DeleteFrame(М6,Iter); else Iter=Iter+1; fi;
    od;
 fi;
end;

Proc КонтрольКБК;
var Iter:I;
 for Iter=1..М1 do
  Раб.Вспом.Ф0503127_Детал.КонтрольКБК("КД",SГ3С020М1[Iter],SГ2С020М1[Iter]);
 od;
 for Iter=1..М2 do
  Раб.Вспом.Ф0503127_Детал.КонтрольКБК("КР",SГ3С210М2[Iter],SГ2С210М2[Iter]);
 od;
 for Iter=1..М3 do
  Раб.Вспом.Ф0503127_Детал.КонтрольКБК("КИФД",SГ3С520М3[Iter],SГ2С520М3[Iter]);
 od;
 for Iter=1..М4 do
  Раб.Вспом.Ф0503127_Детал.КонтрольКБК("КИФД",SГ3С620М4[Iter],SГ2С620М4[Iter]);
 od;
 for Iter=1..М5 do
  Раб.Вспом.Ф0503127_Детал.КонтрольКБК("КИФД",SГ3С710М5[Iter],SГ2С710М5[Iter]);
 od;
 for Iter=1..М6 do
  Раб.Вспом.Ф0503127_Детал.КонтрольКБК("КИФД",SГ3С720М6[Iter],SГ2С720М6[Iter]);
 od;
end;

Proc Расчет_(Part:I);
var n,Iter:i;
var МаскаСчКБК,МаскаАнКБК,УслСч,УслАн:S;
var КБК,КОСГУ:S;
 Refresh;
 Очистить_(Part);
 ClearTrace(True);
 Раб.Бюджет2005.РежимМаски="?";
 --Расчет КД
 if Part=0 or Part=1:
    ClearVariable(BufКБК);
    if not ОбщУслКД="":
       КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КБК",False);
       КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КОСГУ",False);
       МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
       МаскаАнКБК="КД."+КБК+"&КОСГУ."+КОСГУ;
      else
       МаскаСчКБК="("+Раб.Бюджет2005.МаскаКД+".*&"+ОбщУслБС+")";
       МаскаАнКБК="";
    fi;
    for n=1..nУсл_1_4 do
     if ИстКБК_1_4[n]=0: РасчетКБКСч("КД",МаскаСчКБК,УслСчД_1_4[n],УслСчК_1_4[n],УслАн_1_4[n],"SГ3С020М1","RГ4С020М1",Знак_1_4[n],false,""); fi;
     if ИстКБК_1_4[n]=1: РасчетКБКАн("КД",МаскаАнКБК,УслСчД_1_4[n],УслСчК_1_4[n],УслАн_1_4[n],"SГ3С020М1","RГ4С020М1",Знак_1_4[n],false,""); fi;
    od;
    for n=1..nУсл_1_5 do
     if ИстКБК_1_5[n]=0: РасчетКБКСч("КД",МаскаСчКБК,УслСчД_1_5[n],УслСчК_1_5[n],УслАн_1_5[n],"SГ3С020М1","RГ5С020М1",Знак_1_5[n],false,""); fi;
     if ИстКБК_1_5[n]=1: РасчетКБКАн("КД",МаскаАнКБК,УслСчД_1_5[n],УслСчК_1_5[n],УслАн_1_5[n],"SГ3С020М1","RГ5С020М1",Знак_1_5[n],false,""); fi;
    od;
    for n=1..nУсл_1_6 do
     if ИстКБК_1_6[n]=0: РасчетКБКСч("КД",МаскаСчКБК,УслСчД_1_6[n],УслСчК_1_6[n],УслАн_1_6[n],"SГ3С020М1","RГ6С020М1",Знак_1_6[n],false,""); fi;
     if ИстКБК_1_6[n]=1: РасчетКБКАн("КД",МаскаАнКБК,УслСчД_1_6[n],УслСчК_1_6[n],УслАн_1_6[n],"SГ3С020М1","RГ6С020М1",Знак_1_6[n],false,""); fi;
    od;
    for n=1..nУсл_1_7 do
     if ИстКБК_1_7[n]=0: РасчетКБКСч("КД",МаскаСчКБК,УслСчД_1_7[n],УслСчК_1_7[n],УслАн_1_7[n],"SГ3С020М1","RГ7С020М1",Знак_1_7[n],false,""); fi;
     if ИстКБК_1_7[n]=1: РасчетКБКАн("КД",МаскаАнКБК,УслСчД_1_7[n],УслСчК_1_7[n],УслАн_1_7[n],"SГ3С020М1","RГ7С020М1",Знак_1_7[n],false,""); fi;
    od;
 fi;
 --Расчет КР
 if Part=0 or Part=2:
    ClearVariable(BufКБК);
    if not ОбщУслКР="":
       КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КБК",False);
       КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КОСГУ",False);
       МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
       МаскаАнКБК="ФКР."+КБК+"&КОСГУ."+КОСГУ;
      else
       МаскаСчКБК="("+Раб.Бюджет2005.МаскаФКР+".*&"+ОбщУслБС+")";
       МаскаАнКБК="";
    fi;
    for n=1..nУсл_2_4 do
     if ИстКБК_2_4[n]=0: РасчетКБКСч("ФКР",МаскаСчКБК,УслСчД_2_4[n],УслСчК_2_4[n],УслАн_2_4[n],"SГ3С210М2","RГ4С210М2",Знак_2_4[n],ИспДопАн,ДопСпр); fi;
     if ИстКБК_2_4[n]=1: РасчетКБКАн("ФКР",МаскаАнКБК,УслСчД_2_4[n],УслСчК_2_4[n],УслАн_2_4[n],"SГ3С210М2","RГ4С210М2",Знак_2_4[n],ИспДопАн,ДопСпр); fi;
    od;
    for n=1..nУсл_2_5 do
     if ИстКБК_2_5[n]=0: РасчетКБКСч("ФКР",МаскаСчКБК,УслСчД_2_5[n],УслСчК_2_5[n],УслАн_2_5[n],"SГ3С210М2","RГ5С210М2",Знак_2_5[n],ИспДопАн,ДопСпр); fi;
     if ИстКБК_2_5[n]=1: РасчетКБКАн("ФКР",МаскаАнКБК,УслСчД_2_5[n],УслСчК_2_5[n],УслАн_2_5[n],"SГ3С210М2","RГ5С210М2",Знак_2_5[n],ИспДопАн,ДопСпр); fi;
    od;
    for n=1..nУсл_2_6 do
     if ИстКБК_2_6[n]=0: РасчетКБКСч("ФКР",МаскаСчКБК,УслСчД_2_6[n],УслСчК_2_6[n],УслАн_2_6[n],"SГ3С210М2","RГ6С210М2",Знак_2_6[n],ИспДопАн,ДопСпр); fi;
     if ИстКБК_2_6[n]=1: РасчетКБКАн("ФКР",МаскаАнКБК,УслСчД_2_6[n],УслСчК_2_6[n],УслАн_2_6[n],"SГ3С210М2","RГ6С210М2",Знак_2_6[n],ИспДопАн,ДопСпр); fi;
    od;
    for n=1..nУсл_2_7 do
     if ИстКБК_2_7[n]=0: РасчетКБКСч("ФКР",МаскаСчКБК,УслСчД_2_7[n],УслСчК_2_7[n],УслАн_2_7[n],"SГ3С210М2","RГ7С210М2",Знак_2_7[n],ИспДопАн,ДопСпр); fi;
     if ИстКБК_2_7[n]=1: РасчетКБКАн("ФКР",МаскаАнКБК,УслСчД_2_7[n],УслСчК_2_7[n],УслАн_2_7[n],"SГ3С210М2","RГ7С210М2",Знак_2_7[n],ИспДопАн,ДопСпр); fi;
    od;
    for n=1..nУсл_2_8 do
     if ИстКБК_2_8[n]=0: РасчетКБКСч("ФКР",МаскаСчКБК,УслСчД_2_8[n],УслСчК_2_8[n],УслАн_2_8[n],"SГ3С210М2","RГ8С210М2",Знак_2_8[n],ИспДопАн,ДопСпр); fi;
     if ИстКБК_2_8[n]=0: РасчетКБКАн("ФКР",МаскаАнКБК,УслСчД_2_8[n],УслСчК_2_8[n],УслАн_2_8[n],"SГ3С210М2","RГ8С210М2",Знак_2_8[n],ИспДопАн,ДопСпр); fi;
    od;
 fi;
 --Расчет КИВФ
 if Part=0 or Part=3:
    ClearVariable(BufКБК);
    if not ОбщУслКИФД="":
      КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КБК",False);
      КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КОСГУ",False);
      МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")&(???.01.*&~???.01.05.*)";
      МаскаАнКБК="КИФД."+КБК+"&КОСГУ."+КОСГУ;
     else
      МаскаСчКБК="("+Раб.Бюджет2005.МаскаКИФД+".*&"+ОбщУслБС+")&(???.01.*&~???.01.05.*)";
      МаскаАнКБК="(КИФД.???.01.*&~КИФД.???.01.05.*)";
    fi;
    for n=1..nУсл_3_4 do
     if ИстКБК_3_4[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_4[n],УслСчК_3_4[n],УслАн_3_4[n],"SГ3С520М3","RГ4С520М3",Знак_3_4[n],false,""); fi;
     if ИстКБК_3_4[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_4[n],УслСчК_3_4[n],УслАн_3_4[n],"SГ3С520М3","RГ4С520М3",Знак_3_4[n],false,""); fi;
    od;
    for n=1..nУсл_3_5 do
     if ИстКБК_3_5[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_5[n],УслСчК_3_5[n],УслАн_3_5[n],"SГ3С520М3","RГ5С520М3",Знак_3_5[n],false,""); fi;
     if ИстКБК_3_5[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_5[n],УслСчК_3_5[n],УслАн_3_5[n],"SГ3С520М3","RГ5С520М3",Знак_3_5[n],false,""); fi;
    od;
    for n=1..nУсл_3_6 do
     if ИстКБК_3_6[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_6[n],УслСчК_3_6[n],УслАн_3_6[n],"SГ3С520М3","RГ6С520М3",Знак_3_6[n],false,""); fi;
     if ИстКБК_3_6[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_6[n],УслСчК_3_6[n],УслАн_3_6[n],"SГ3С520М3","RГ6С520М3",Знак_3_6[n],false,""); fi;
    od;
    for n=1..nУсл_3_7 do
     if ИстКБК_3_7[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_7[n],УслСчК_3_7[n],УслАн_3_7[n],"SГ3С520М3","RГ7С520М3",Знак_3_7[n],false,""); fi;
     if ИстКБК_3_7[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_7[n],УслСчК_3_7[n],УслАн_3_7[n],"SГ3С520М3","RГ7С520М3",Знак_3_7[n],false,""); fi;
    od;
   --Расчет КИВнФ
    ClearVariable(BufКБК);
    if not ОбщУслКИФД="":
      КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КБК",False);
      КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КОСГУ",False);
      МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")&(???.02.*)";
      МаскаАнКБК="КИФД."+КБК+"&КОСГУ."+КОСГУ;
     else
      МаскаСчКБК="("+Раб.Бюджет2005.МаскаКИФД+".*&"+ОбщУслБС+")&(???.02.*)";
      МаскаАнКБК="КИФД.???.02.*";
    fi;
    for n=1..nУсл_3_4 do
     if ИстКБК_3_4[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_4[n],УслСчК_3_4[n],УслАн_3_4[n],"SГ3С620М4","RГ4С620М4",Знак_3_4[n],false,""); fi;
     if ИстКБК_3_4[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_4[n],УслСчК_3_4[n],УслАн_3_4[n],"SГ3С620М4","RГ4С620М4",Знак_3_4[n],false,""); fi;
    od;
    for n=1..nУсл_3_5 do
     if ИстКБК_3_5[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_5[n],УслСчК_3_5[n],УслАн_3_5[n],"SГ3С620М4","RГ5С620М4",Знак_3_5[n],false,""); fi;
     if ИстКБК_3_5[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_5[n],УслСчК_3_5[n],УслАн_3_5[n],"SГ3С620М4","RГ5С620М4",Знак_3_5[n],false,""); fi;
    od;
    for n=1..nУсл_3_6 do
     if ИстКБК_3_6[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_6[n],УслСчК_3_6[n],УслАн_3_6[n],"SГ3С620М4","RГ6С620М4",Знак_3_6[n],false,""); fi;
     if ИстКБК_3_6[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_6[n],УслСчК_3_6[n],УслАн_3_6[n],"SГ3С620М4","RГ6С620М4",Знак_3_6[n],false,""); fi;
    od;
    for n=1..nУсл_3_7 do
     if ИстКБК_3_7[n]=0: РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_7[n],УслСчК_3_7[n],УслАн_3_7[n],"SГ3С620М4","RГ7С620М4",Знак_3_7[n],false,""); fi;
     if ИстКБК_3_7[n]=1: РасчетКБКАн("КИФД",МаскаАнКБК,УслСчД_3_7[n],УслСчК_3_7[n],УслАн_3_7[n],"SГ3С620М4","RГ7С620М4",Знак_3_7[n],false,""); fi;
    od;
    --Расчет КИФД08
    ClearVariable(BufКБК);
    if not ОбщУслКИФД="":
      --Берем только ППП и Элемент (код бюджета)
      КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","ППП",False)+".??.??.??.??."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","ЭЛ",False)+".????";
      КОСГУ="???";
      МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")&(???.01.05.*)";
     else
      МаскаСчКБК="("+Раб.Бюджет2005.МаскаКИФД+".*&"+ОбщУслБС+")&(???.01.05.*)";
    fi;
    РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_4_710,УслСчК_3_4_710,УслАн_3_4_710,"SГ3С710М5","RГ4С710М5",Знак_3_4_710,false,"");
    РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_6_710,УслСчК_3_6_710,УслАн_3_6_710,"SГ3С710М5","RГ6С710М5",Знак_3_6_710,false,"");
    РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_7_710,УслСчК_3_7_710,УслАн_3_7_710,"SГ3С710М5","RГ7С710М5",Знак_3_7_710,false,"");
    --
    ClearVariable(BufКБК);
    РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_4_720,УслСчК_3_4_720,УслАн_3_4_720,"SГ3С720М6","RГ4С720М6",Знак_3_4_710,false,"");
    РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_6_720,УслСчК_3_6_720,УслАн_3_6_720,"SГ3С720М6","RГ6С720М6",Знак_3_6_720,false,"");
    РасчетКБКСч("КИФД",МаскаСчКБК,УслСчД_3_7_720,УслСчК_3_7_720,УслАн_3_7_720,"SГ3С720М6","RГ7С720М6",Знак_3_7_720,false,"");
    --Расчет изменения остатков в расчетах
    МаскаСчКБК="";
    if not ОбщУслКД="":
       КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КБК",False);
       КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КОСГУ",False);
       МаскаСчКБК=КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ;
    fi;
    if not ОбщУслКР="":
       КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КБК",False);
       КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КОСГУ",False);
       МаскаСчКБК=Раб.Бюджет2005.Объединить(МаскаСчКБК,КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ,"|");
    fi;
    if not ОбщУслКИФД="":
      КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КБК",False);
      КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КОСГУ",False);
      МаскаСчКБК=Раб.Бюджет2005.Объединить(МаскаСчКБК,КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ,"|");
    fi;
    if not МаскаСчКБК="": МаскаСчКБК="("+МаскаСчКБК+")"; fi;
    МаскаСчКБК=Раб.Бюджет2005.Объединить(МаскаСчКБК,ОбщУслБС,"&");
    --
    if not УслСчД_3_5_811="" or not УслСчК_3_5_811="" or not УслАн_3_5_811="":
       if not УслСчД_3_5_811="": УслСч="("+УслСчД_3_5_811+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_5_811,"/");
       if not УслАн_3_5_811="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_5_811+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_5_811,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ5С811=Round(Знак_3_5_811*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
     else
       RГ5С811=0;
    fi;
    if not УслСчД_3_5_812="" or not УслСчК_3_5_812="" or not УслАн_3_5_812="":
       if not УслСчД_3_5_812="": УслСч="("+УслСчД_3_5_812+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_5_812,"/");
       if not УслАн_3_5_812="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_5_812+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_5_812,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ5С812=Round(Знак_3_5_812*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
      else
       RГ5С812=0;
    fi;
    if not УслСчД_3_6_812="" or not УслСчК_3_6_812="" or not УслАн_3_6_812="":
       if not УслСчД_3_6_812="": УслСч="("+УслСчД_3_6_812+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_812,"/");
       if not УслАн_3_6_812="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_812+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_812,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ6С812=Round(Знак_3_6_812*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
      else
       RГ6С812=0;
    fi;
    if not УслСчД_3_6_821="" or not УслСчК_3_6_821="" or not УслАн_3_6_821="":
       if not УслСчД_3_6_821="": УслСч="("+УслСчД_3_6_821+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_821,"/");
       if not УслАн_3_6_821="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_821+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_821,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ6С821=Round(Знак_3_6_821*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
      else
       RГ6С821=0;
    fi;
    if not УслСчД_3_6_822="" or not УслСчК_3_6_822="" or not УслАн_3_6_822="":
       if not УслСчД_3_6_822="": УслСч="("+УслСчД_3_6_822+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_822,"/");
       if not УслАн_3_6_822="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_822+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_822,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ6С822=Round(Знак_3_6_822*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
      else
       RГ6С822=0;
    fi;
    if not УслСчД_3_7_821="" or not УслСчК_3_7_821="" or not УслАн_3_7_821="":
       if not УслСчД_3_7_821="": УслСч="("+УслСчД_3_7_821+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_7_821,"/");
       if not УслАн_3_7_821="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_7_821+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_7_821,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ7С821=Round(Знак_3_7_821*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
      else
       RГ7С821=0;
    fi;
    if not УслСчД_3_7_822="" or not УслСчК_3_7_822="" or not УслАн_3_7_822="":
       if not УслСчД_3_7_822="": УслСч="("+УслСчД_3_7_822+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_7_822,"/");
       if not УслАн_3_7_822="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_7_822+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_7_822,ОбщУслАн,"&"); fi;
       if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
       RГ7С822=Round(Знак_3_7_822*Turn(УслСч+if(УслВал="","","'"+УслВал)+"{"+УслАн+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
      else
       RГ7С822=0;
    fi;
 fi;
 --Удаление пустых строк
 УдалитьПустыеСтроки(Part);
 --
 ЗаполнитьНаимПок(Part);
 --
 ОтчGUID=Раб.Парам_Отч.ОтчGUID;
 --
 if Part=0 or Part=1:
    for Iter=1..М1 do flagГ9С020М1[Iter]=flagГ9С010; od;
 fi;
 if Part=0 or Part=2:
    for Iter=1..М2 do flagГ10С210М2[Iter]=flagГ10С200; od;
 fi;
 if Part=0 or Part=3:
    for Iter=1..М3 do flagГ9С520М3[Iter]=flagГ9С520; od;
    for Iter=1..М4 do flagГ9С620М4[Iter]=flagГ9С620; od;
 fi;
 --
 КонтрольКБК;
--if РАБ.ПАРАМ_ОТЧ.ПоказПрогресс:  Message("Расчет "+if(part=0,"","раздела "+Str(part))+" завершен");  fi;
end;

proc Расчет;
  Расчет_(0);
end;


Proc Перерасчет(Flag:L);
var Msg:S;
 if ДН>ДК: Message("Дата начада периода превышает дату окончания периода",mtError); Template.Field="ДК"; Exit; fi;
 if ДК=1.1.100: Message("Выберите отчетный период",mtError); Template.Field="ДК"; Exit; fi;
 if Flag: Msg="Параметры отчета изменились."+Chr(13); else Msg=""; fi;
 if EnqOkCancel(Msg+'Выполнить расчет ?'+chr(13)+'Набранные вручную данные будут утеряны',mtWarning)=CmOk: Расчет_(0); fi;
end;

Proc Детализация(КБК:S; МаскаСчКБК:S; МаскаАнКБК:S);
var УслСч,УслАн,NameRep,ОбщУслАн_:S;
var n:i;
 if nBufУсл=0: Exit; fi;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.Очистить;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.ДН=ДН;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.ДК=ДК;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.КБК=КБК;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.УслВал=УслВал;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.Показатель=Показатель;
 РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.Упр=nBufУсл;
 for n=1..nBufУсл do
  if BufИстКБК[n]=0:  --Счета
     if not BufУслСчД[n]="": BufУслСчД[n]="("+BufУслСчД[n]+")"; fi;
     УслСч=Раб.Бюджет2005.Объединить(BufУслСчД[n],МаскаСчКБК,"&");
     УслСч=Раб.Бюджет2005.Объединить("("+УслСч+")",BufУслСчК[n],"/");
     УслАн=BufУслАн[n];
     if not УслАн="" and not ОбщУслАн="": УслАн="("+УслАн+")"; ОбщУслАн_="("+ОбщУслАн+")"; else ОбщУслАн_=ОбщУслАн; fi;
     УслАн=Раб.Бюджет2005.Объединить(УслАн,ОбщУслАн_,"&");
     if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
     if ИспДопАн:
       if RГ12С210М2[IterДопАн[1]]<>"": 
        УслАн=Раб.Бюджет2005.Объединить(УслАн,Допспр+"."+RГ12С210М2[IterДопАн[1]],"&");
        else
        УслАн=Раб.Бюджет2005.Объединить(УслАн,"~"+Допспр+".*","&");
       fi;
     fi;
  fi;
  if BufИстКБК[n]=1: --Аналитика
     if not BufУслСчД[n]="": BufУслСчД[n]="("+BufУслСчД[n]+")"; fi;
     УслСч=Раб.Бюджет2005.Объединить(BufУслСчД[n],ОбщУслБС,"&");
     УслСч=Раб.Бюджет2005.Объединить(УслСч,BufУслСчК[n],"/");
     if not BufУслАн[n]="": BufУслАн[n]="("+BufУслАн[n]+")"; fi;
     if not ОбщУслАн="": ОбщУслАн_="("+ОбщУслАн+")"; fi;
     УслАн=Раб.Бюджет2005.Объединить(BufУслАн[n],ОбщУслАн_,"&");
     УслАн=Раб.Бюджет2005.Объединить(УслАн,МаскаАнКБК,"&");
     if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;

  fi;
  if nBufУсл=1: 
     if not УслВал="": 
        if  УслВал=BaseCurrency: NameRep='"001"'; else NameRep='"003"'; fi;
        УслСч=УслСч+"'"+УслВал;
        Report('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Служебные отчеты.lst".'+NameRep,ДН,ДК,УслСч,УслАн);
       else
        Report('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Служебные отчеты.lst"."001"',ДН,ДК,УслСч,УслАн);
     fi;
     Exit;
  fi;
  РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.УслСч[n]=УслСч;
  РАБ.ВСПОМ.Ф0503127_ДЕТАЛ.УслАн[n]=УслАн;
 od;
 OpenBlank("РАБ.ВСПОМ.Ф0503127_ДЕТАЛ",True);
end;

--=====Блок для взаимодействия=====
Func Готово:S;
   if М1=0 and М2=0:
      ^"Разделы 1 и 2 не заполнены";
   fi;
   ^"";
end;
Func ЗаменитьРазделительПредложения(srcSTR:String; oldSEP:String; newSEP:String) :String;
var num, ii :Integer;
var RES :String;
 RES="";
 num=WordsCount(srcSTR, oldSEP);
 if num>0:
   for ii=1 to num do
     RES=РАБ.БЮДЖЕТ2005.Объединить(RES, ExtractWord(ii, srcSTR, oldSEP), newSEP);
   od;
 fi;
 ^RES;
end;


Proc ФормироватьXML;
var i,j:I;
var idx:I;
var k:String;
  Раб.XML.ДОБАТТР("КодФормы","0503127");
  Раб.XML.ДОБАТТР("Код","ВО.0002");--идентификатор в сводной отчетности
  РАБ.XML.ОткрытьТэгBuf("ВидОтчета",false);
  РАБ.XML.ОткрытьТэг("Отчет",'Отчетность=О.0001#Учреждение=К.0001');
    Раб.XML.СоздатьТэг("КОД","0001",False);
    Раб.XML.СоздатьТэг("ИМЯ","Отчет об исполнении бюджета",False);
    Раб.XML.СоздатьТэг("КОММЕНТАРИЙ","",False);
    Раб.XML.СоздатьТэг("ВЕРСИЯФОРМЫ","0",False);
    Раб.XML.СоздатьТэг("ДАТА",DateToString(ДК),False);
    Раб.XML.СоздатьТэг("НАЧАЛОПЕРИОДА",DateToString(ДН),False);
    Раб.XML.СоздатьТэг("КОНЕЦПЕРИОДА",DateToString(ДК),False);
    Раб.XML.СоздатьТэг("НАИМБЮДЖ",НаимБюдж,False);
    Раб.XML.СоздатьТэг("ВИДДЕЯТЕЛЬНОСТИ","",False);
    Раб.XML.СоздатьТэг("ЕДИЗМ",Str(ЕдИзм),False);
    Раб.XML.СоздатьТэг("ТОЧН",Str(Точн),False);
    Раб.XML.СоздатьТэг("ОКЕИ",ОКЕИ,False);
    Раб.XML.СоздатьТэг("ПОКАЗАТЕЛЬ",Показатель,False);
    Раб.XML.СоздатьТэг("ИМЯРУК",ФИОРук,False);
    Раб.XML.СоздатьТэг("ИМЯБУХ",ФИОБух,False);
    Раб.XML.СоздатьТэг("ИМЯРУКФЭО",ФИОРукФЭО,False);

    Раб.XML.СоздатьТэг("ДОЛЖНИСП",ИспДол,False);
    Раб.XML.СоздатьТэг("ИМЯИСП",ИспФИО,False);

    Раб.XML.СоздатьТэг("НЕВЫГРУЖАТЬ","false",False);
    Раб.XML.СоздатьТэг("СВОД","false",False);
    Раб.XML.СоздатьТэг("СВОДСВОДА","false",False);
    Раб.XML.СоздатьТэг("GUID_CREATE",GetGUID,False);
    Раб.XML.СоздатьТэг("GUID_CURRENT","",False);

  РАБ.XML.ОткрытьТэг("ПозицииОтчета",'');
    --1 раздел
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=010");
    for j=4..9 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С010"),2),True);
    od;
    for i=1 .. LengthOfArray(SГ1С020М1) do
       if SГ3С020М1[i] <> "":
       idx = idx+1;
        Раб.XML.ДОБАТТР("Вычислимое","false");
        Раб.XML.ДОБАТТР("Тип","S");
        Раб.XML.ДОБАТТР("Стр","020");
        Раб.XML.ДОБАТТР("Табл","М1");
        Раб.XML.ДОБАТТР("Индекс",Str(Idx));
        k=ЗаменитьРазделительПредложения(SГ3С020М1[i], ".", "");
        Раб.XML.ДОБАТТР("Графа","1"); 
        Раб.XML.СоздатьТэг("Позиция",SГ1С020М1[i],True);
        Раб.XML.ДОБАТТР("Графа","3"); 
        Раб.XML.СоздатьТэг("Позиция",k,false);
        --значения
        for j=4..9 do
        Раб.XML.ДОБАТТР("Вычислимое","false");
        Раб.XML.ДОБАТТР("Тип","R");
        Раб.XML.ДОБАТТР("Стр","020");
        Раб.XML.ДОБАТТР("Табл","М1");
        Раб.XML.ДОБАТТР("Индекс",Str(Idx));
          Раб.XML.ДОБАТТР("Графа",Str(j));
          Раб.XML.ДОБАТТР("Вычислимое",if(j>=8,"true","false"));
          Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С020М1["+Str(i)+"]"),2),false);
        od;
        fi;

    od;
    --2 раздел

    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=200");
    for j=4..11 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С200"),2),True);
    od;
    idx=0;
    for i=1 .. LengthOfArray(SГ1С210М2) do
        if SГ3С210М2[i] <> "":
        idx = idx+1;
        Раб.XML.ДОБАТТР("Вычислимое","false");
        Раб.XML.ДОБАТТР("Тип","S"); 
        Раб.XML.ДОБАТТР("Стр","210");
        Раб.XML.ДОБАТТР("Индекс",Str(idx));
        Раб.XML.ДОБАТТР("Табл","М2");

        k=ЗаменитьРазделительПредложения(SГ3С210М2[i], ".", "");
        Раб.XML.ДОБАТТР("Графа","1"); Раб.XML.СоздатьТэг("Позиция",SГ1С210М2[i],True);
        Раб.XML.ДОБАТТР("Графа","3"); Раб.XML.СоздатьТэг("Позиция",k,True);
        --значения
        Раб.XML.ДОБАТТР("Тип","R");
        for j=4..11 do
          Раб.XML.ДОБАТТР("Графа",Str(j));
          Раб.XML.ДОБАТТР("Вычислимое",if(j>=9,"true","false"));
          Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С210М2["+Str(i)+"]"),2),True);
        od;
        fi;
    od;
     --Чистим атрибуты
     ClearVariable(Раб.XML.BufAtName);
     ClearVariable(Раб.XML.BufAtVal);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=450");
    for j=6..9 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С450"),2),True);
    od;
    Раб.XML.ДОБАТТР("Стр","500");
    for j=4..9 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С500"),2),True);
    od;
    Раб.XML.ДОБАТТР("Стр","520");
    for j=4..9 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С520"),2),True);
    od;
    idx=0;
    for i=1 .. LengthOfArray(SГ1С520М3) do
       if SГ3С520М3[i] <> "":
        idx = idx+1;
        Раб.XML.ДОБАТТР("Вычислимое","false");
        Раб.XML.ДОБАТТР("Тип","S");
        Раб.XML.ДОБАТТР("Стр","520");
        Раб.XML.ДОБАТТР("Табл","М3");
        Раб.XML.ДОБАТТР("Индекс",Str(idx));
       -- Раб.XML.ДОБАТТР("ownrow",Format("%.3D",520+Min(099,i)) );
         k=ЗаменитьРазделительПредложения(SГ3С520М3[i], ".", "");
        Раб.XML.ДОБАТТР("Графа","1"); Раб.XML.СоздатьТэг("Позиция",SГ1С520М3[i],True);
        Раб.XML.ДОБАТТР("Графа","3"); Раб.XML.СоздатьТэг("Позиция",k,True);
        --значения
        Раб.XML.ДОБАТТР("Тип","R");
        for j=4..7 do
          Раб.XML.ДОБАТТР("Вычислимое",if(j>=8,"true","false"));
          Раб.XML.ДОБАТТР("Графа",Str(j));
          Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С520М3["+Str(i)+"]"),2),True);

        od;
        fi;
    od;
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=620");
    for j=4..9 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С620"),2),True);
    od;
    idx=0;
    for i=1 .. LengthOfArray(SГ1С620М4) do
        if SГ3С620М4[i] <> "":
        idx = idx+1;
        Раб.XML.ДОБАТТР("Вычислимое","false");
        Раб.XML.ДОБАТТР("Тип","S");
       Раб.XML.ДОБАТТР("Стр","620"); 
       Раб.XML.ДОБАТТР("Табл","М4");
       Раб.XML.ДОБАТТР("Индекс",Str(idx));
        k=ЗаменитьРазделительПредложения(SГ3С620М4[i], ".", "");
        Раб.XML.ДОБАТТР("Графа","1"); Раб.XML.СоздатьТэг("Позиция",SГ1С620М4[i],True);
        Раб.XML.ДОБАТТР("Графа","3"); Раб.XML.СоздатьТэг("Позиция",k,True);
        --значения
        Раб.XML.ДОБАТТР("Тип","R");
        for j=4..9 do
          Раб.XML.ДОБАТТР("Графа",Str(j));
          Раб.XML.ДОБАТТР("Вычислимое",if(j>=8,"true","false"));
          Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С620М4["+Str(i)+"]"),2),True);
        od;
        fi;
    od;
     --Чистим атрибуты
     ClearVariable(Раб.XML.BufAtName);
     ClearVariable(Раб.XML.BufAtVal);

    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=S#Стр=700#Графа=3");
    Раб.XML.СоздатьТэг("Позиция",SГ3С700,True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=S#Стр=700#Графа=4");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ4С700,2),True);
    for j=6..9 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С700"),2),True);
    od;

    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=S#Стр=710#Графа=3");
    Раб.XML.СоздатьТэг("Позиция",SГ3С710,True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=S#Стр=710#Графа=4");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ4С710,2),True);
    for j=6..8 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С710"),2),True);
    od;
   idx=0;
    for i=1 .. LengthOfArray(SГ1С710М5) do
     if SГ3С710М5[i] <> "":
        idx = idx+1;
        Раб.XML.ДОБАТТР("Вычислимое","false");
        Раб.XML.ДОБАТТР("Тип","S");

        Раб.XML.ДОБАТТР("Стр","710");
        Раб.XML.ДОБАТТР("Табл","М5");
        Раб.XML.ДОБАТТР("Индекс",Str(idx));
             k=ЗаменитьРазделительПредложения(SГ3С710М5[i], ".", "");
        Раб.XML.ДОБАТТР("Графа","1"); Раб.XML.СоздатьТэг("Позиция",SГ1С710М5[i],True);
        Раб.XML.ДОБАТТР("Графа","3"); Раб.XML.СоздатьТэг("Позиция",k,True);
        --значения
        Раб.XML.ДОБАТТР("Тип","R");
        Раб.XML.ДОБАТТР("Графа","4"); Раб.XML.СоздатьТэг("Позиция",Str(RГ4С710М5[i],2),True);
        for j=6..8 do
          Раб.XML.ДОБАТТР("Графа",Str(j));
          Раб.XML.ДОБАТТР("Вычислимое",if(j=8,"true","false"));
          Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С710М5["+Str(i)+"]"),2),True);
        od;
        fi;
    od;
     --Чистим атрибуты
     ClearVariable(Раб.XML.BufAtName);
     ClearVariable(Раб.XML.BufAtVal);



    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=S#Стр=720#Графа=3");
    Раб.XML.СоздатьТэг("Позиция",SГ3С720,True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=S#Стр=720#Графа=4");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ4С720,2),True);
    for j=6..8 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С720"),2),True);
    od;
    idx=0;
    for i=1 .. LengthOfArray(SГ1С720М6) do
     if SГ3С720М6[i] <> "":
        idx = idx+1;
        Раб.XML.ДОБАТТР("Вычислимое","false");   
        Раб.XML.ДОБАТТР("Тип","S");
        Раб.XML.ДОБАТТР("Стр","720");
        Раб.XML.ДОБАТТР("Табл","М6");
        Раб.XML.ДОБАТТР("Индекс",Str(idx));
        Раб.XML.ДОБАТТР("Графа","1");
        k=ЗаменитьРазделительПредложения(SГ3С720М6[i], ".", "");
        Раб.XML.ДОБАТТР("Графа","1"); Раб.XML.СоздатьТэг("Позиция",SГ1С720М6[i],True);
        Раб.XML.ДОБАТТР("Графа","3"); Раб.XML.СоздатьТэг("Позиция",k,True);
        --значения
        Раб.XML.ДОБАТТР("Тип","R");
        Раб.XML.ДОБАТТР("Графа","4"); Раб.XML.СоздатьТэг("Позиция",Str(RГ4С720М6[i],2),True);
        for j=6..8 do
          Раб.XML.ДОБАТТР("Графа",Str(j));
          Раб.XML.ДОБАТТР("Вычислимое",if(j=8,"true","false"));
          Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С720М6["+Str(i)+"]"),2),True);
        od;
        fi;
    od;

     --Чистим атрибуты
     ClearVariable(Раб.XML.BufAtName);
     ClearVariable(Раб.XML.BufAtVal);

    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=800");
    for j=5..8 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С800"),2),True);
    od;
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=810#Графа=5");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ5С810,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=810#Графа=6");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ6С810,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=810#Графа=8");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ8С810,2),True);

    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=R#Стр=811#Графа=5");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ5С811,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=R#Стр=811#Графа=5");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ6С811,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=R#Стр=811#Графа=8");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ8С811,2),True);

    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=R#Стр=812#Графа=5");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ5С812,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=R#Стр=812#Графа=6");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ6С812,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=false#Тип=R#Стр=812#Графа=8");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ8С812,2),True);

    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=820");
    for j=6..8 do
      Раб.XML.ДОБАТТР("Графа",Str(j));
      Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С820"),2),True);
    od;

    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=821#Графа=6");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ6С821,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=821#Графа=7");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ7С821,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=821#Графа=8");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ8С821,2),True);

    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=822#Графа=6");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ6С822,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=822#Графа=7");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ7С822,2),True);
    Раб.XML.ДОБСловарьАТТР("Вычислимое=true#Тип=R#Стр=822#Графа=8");
    Раб.XML.СоздатьТэг("Позиция",Str(RГ8С822,2),False);

    РАБ.XML.ЗакрытьТэг;--ПозицииОтчета


    РАБ.XML.ЗакрытьТэг;
    РАБ.XML.ЗакрытьТэг;
end;
--=====конец блока для взаимодействия=====
2--
2-- События полей шаблона
Func ПарамОтч_onEnter(FieldName: String; Iter: Integer): logical;
var Flag:L;
 Flag=РАБ.ПАРАМ_ОТЧ.Взять(FieldName,0);
 ОКПО=ОКПО; --Вызываем обновление переменных бланка!!!!
 if Flag or not ОтчGUID=РАБ.ПАРАМ_ОТЧ.ОтчGUID: ПрисвоитьТочность; Перерасчет(True); fi;
 Return False;
end;

Proc ОбщУсл_onExit(FieldName: String; Iter: Integer);
 ПарамОтч_onEnter(FieldName,Iter);
end;

Func Учреждение_OnEnter(FieldName: String; Iter: Integer): logical;
var rec :Record;
  rec=OpenCardFile('Контрагент','Наше',nil,crdRecordOnly);
  if Rec=nil: ^False; fi;
  ЗаполнитьРекв(Rec);
  return false;
end;

Func btnОчист_OnEnter(FieldName: String; Iter: Integer): logical;
var Part:I;
 Part=Int(SubStr(FieldName,9,1));
if EnqOkCancel("Все данные раздела "+Str(Part)+" будут очищены. Вы уверены ?",mtWarning)=cmOk: Очистить_(Part); fi;
 Return False;
end;

Func btnРасчет_OnEnter(FieldName: String; Iter: Integer): logical;
var Part:I;
 Part=Int(SubStr(FieldName,10,1));
 Расчет_(Part);
 Return False;
end;

Proc SГ3СxxxМx_OnExit(FieldName: String; Iter: Integer);
 if GetVariableS(FieldName+"["+Str(Iter)+"]")="":
    FieldName=SubStr(FieldName,1,2)+"1"+SubStr(FieldName,4,6);
    PutVariableS(FieldName,"");
 fi;
end;

Func КД_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var n,nn,Iter:i;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 n=1;
 if BufКД_[1]="": СписокКД; fi;
 While n=1 do
  n=Alternate("Выбор кода дохода",BufКД_,-1,SearchInArray(BufКД,storeКД,True)+2,12);
  if n=1: СписокКД; fi;
 od;
 if n=0: ^Cur; fi;
 if n=2:
    nn=LengthOfArray(BufКД);
    CopyArray(SГ3С020М1,Buf);
    for n=1..nn do
     if SearchInArray(Buf,BufКД[n],False)=-1:
        Iter=InsertInArraySort(Buf,BufКД[n]);
        InsertFrame(М1,Iter);
        SГ1С020М1[Iter]=SubStr(BufКД_[n+2],Pos(" --",BufКД_[n+2])+3,255);
        SГ3С020М1[Iter]=BufКД[n];
     fi;
    od;
    ^Cur;
 fi;
 SГ1С020М1[Iter]=SubStr(BufКД_[n],Pos(" --",BufКД_[n])+3,255);
 SГ3С020М1[Iter]=BufКД[n-2];
 storeКД=SГ3С020М1[Iter];
 Return  Cur;
end;

Func КР_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var n,nn,Iter:i;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 n=1;
 if BufФКР_[1]="": СписокФКР; fi;
 While n=1 do
  n=Alternate("Выбор кода расхода",BufФКР_,-1,SearchInArray(BufФКР,storeФКР,True)+2,12);
  if n=1: СписокФКР; fi;
 od;
 if n=0: ^Cur; fi;
 if n=2:
    nn=LengthOfArray(BufФКР);
    CopyArray(SГ3С210М2,Buf);
    for n=1..nn do
     ProgressPos(n);
     if SearchInArray(Buf,BufФКР[n],False)=-1:
        Iter=InsertInArraySort(Buf,BufФКР[n]);
        InsertFrame(М2,Iter);
        SГ1С210М2[Iter]=SubStr(BufФКР_[n+2],Pos(" --",BufФКР_[n+2])+3,255);
        SГ3С210М2[Iter]=BufФКР[n];
     fi;
    od;
    ^Cur;
 fi;
 SГ1С210М2[Iter]=SubStr(BufФКР_[n],Pos(" --",BufФКР_[n])+3,255);
 SГ3С210М2[Iter]=BufФКР[n-2];
 storeФКР=SГ3С210М2[Iter];


 Return  Cur;
end;

Func КИФД_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var n,nn,Iter:i;
var FieldName,Value:S;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 FieldName=AsString(Template.Field);
 if FieldName="SГ3С520М3": Value="КИВФ";
   |FieldName="SГ3С620М4": Value="КИВнФ";
   |FieldName="SГ3С700":   Value="КИФД08";
   |FieldName="SГ3С710":   Value="КИФД510_";
   |FieldName="SГ3С720":   Value="КИФД610_";
   |FieldName="SГ3С710М5": Value="КИФД510";
   |FieldName="SГ3С720М6": Value="КИФД610";
   |True: ^Cur;
 fi;
 n=1;
 СписокКИФД(Value);
 While n=1 do
  n=Alternate("Выбор кода источника финансирования дефицитов бюджета",BufКИФД_,-1,SearchInArray(BufКИФД,storeКИФД,True)+2,12);
  if n=1: СписокКИФД(Value); fi;
 od;
 if n=0: ^Cur; fi;
 if n=2 and not Value="КИФД08":
    nn=LengthOfArray(BufКИФД);
    if Value="КИВФ" : CopyArray(SГ3С520М3,Buf);
      |Value="КИВнФ": CopyArray(SГ3С620М4,Buf); 
      |Value="КИФД510": CopyArray(SГ3С710М5,Buf);
      |Value="КИФД610": CopyArray(SГ3С720М6,Buf);
    fi;
    for n=1..nn do
     ProgressPos(n);
     if SearchInArray(Buf,BufКИФД[n],False)=-1:
        Iter=InsertInArraySort(Buf,BufКИФД[n]);
        if Value="КИВФ": 
           InsertFrame(М3,Iter);
           SГ1С520М3[Iter]=SubStr(BufКИФД_[n+2],Pos(" --",BufКИФД_[n+2])+3,255);
           SГ3С520М3[Iter]=BufКИФД[n];
          |Value="КИВнФ": 
           InsertFrame(М4,Iter);
           SГ1С620М4[Iter]=SubStr(BufКИФД_[n+2],Pos(" --",BufКИФД_[n+2])+3,255);
           SГ3С620М4[Iter]=BufКИФД[n];
          |Value="КИФД510":
           InsertFrame(М5,Iter);
           SГ1С710М5[Iter]=SubStr(BufКИФД_[n+2],Pos(" --",BufКИФД_[n+2])+3,255);
           SГ3С710М5[Iter]=BufКИФД[n];
          |Value="КИФД610":
           InsertFrame(М6,Iter);
           SГ1С720М6[Iter]=SubStr(BufКИФД_[n+2],Pos(" --",BufКИФД_[n+2])+3,255);
           SГ3С720М6[Iter]=BufКИФД[n];
        fi;
     fi;
    od;
   else
    if Value="КИВФ":
       SГ1С520М3[Iter]=SubStr(BufКИФД_[n],Pos(" --",BufКИФД_[n])+3,255);
       SГ3С520М3[Iter]=BufКИФД[n-2];
       storeКИФД=SГ3С520М3[Iter];
      |Value="КИВнФ":
       SГ1С620М4[Iter]=SubStr(BufКИФД_[n],Pos(" --",BufКИФД_[n])+3,255);
       SГ3С620М4[Iter]=BufКИФД[n-2];
       storeКИФД=SГ3С620М4[Iter];
      |Value="КИФД08":
       SГ3С700=BufКИФД[n-1];
       storeКИФД=SГ3С700;
      |Value="КИФД510_":
       SГ3С710=BufКИФД[n-2];
       storeКИФД=SГ3С710;
      |Value="КИФД510":
       SГ1С710М5[Iter]=SubStr(BufКИФД_[n],Pos(" --",BufКИФД_[n])+3,255);
       SГ3С710М5[Iter]=BufКИФД[n-2];
       storeКИФД=SГ3С710М5[Iter];
      |Value="КИФД610_":
       SГ3С720=BufКИФД[n-2];
       storeКИФД=SГ3С720;
      |Value="КИФД610":
       SГ1С720М6[Iter]=SubStr(BufКИФД_[n],Pos(" --",BufКИФД_[n])+3,255);
       SГ3С720М6[Iter]=BufКИФД[n-2];
       storeКИФД=SГ3С720М6[Iter];
    fi;
 fi;
 Return Cur;
end;

Func flagГ9С010_OnEnter(FieldName: String; Iter: Integer): logical;
 for Iter=1..М1 do flagГ9С020М1[Iter]=not flagГ9С010; od;
 flagГ9С010=not flagГ9С010;
 Return False;
end;

Func flagГ9С020М1_OnEnter(FieldName: String; Iter: Integer): logical;
 flagГ9С020М1[Iter]=not flagГ9С020М1[Iter];
 Return False;
end;

Func С020М1_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var МаскаСчКБК,МаскаАнКБК,КБК,КОСГУ:S;
var FieldName:S;
var Iter:I;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 FieldName=AsString(Template.Field);
 КБК=Раб.Бюджет2005.ВзятьКодКБК(SГ3С020М1[Iter],"КД","КБК",False);
 КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(SГ3С020М1[Iter],"КД","КОСГУ",False);
 if КБК="" or КОСГУ="": Message("Нет данных для расшифровки",mtError); Template.Field="SГ3С020М1"; ^Cur; fi;
 Раб.Бюджет2005.РежимМаски="?";
 МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
 МаскаАнКБК="(КД."+КБК+"&КОСГУ."+КОСГУ+"!)";
 if FieldName="RГ4С020М1": nBufУсл=nУсл_1_4; CopyArray(ИстКБК_1_4,BufИстКБК); CopyArray(УслСчД_1_4,BufУслСчД); CopyArray(УслСчК_1_4,BufУслСчК); CopyArray(УслАн_1_4,BufУслАн);
   |FieldName="RГ5С020М1": nBufУсл=nУсл_1_5; CopyArray(ИстКБК_1_5,BufИстКБК); CopyArray(УслСчД_1_5,BufУслСчД); CopyArray(УслСчК_1_5,BufУслСчК); CopyArray(УслАн_1_5,BufУслАн);
   |FieldName="RГ6С020М1": nBufУсл=nУсл_1_6; CopyArray(ИстКБК_1_6,BufИстКБК); CopyArray(УслСчД_1_6,BufУслСчД); CopyArray(УслСчК_1_6,BufУслСчК); CopyArray(УслАн_1_6,BufУслАн);
   |FieldName="RГ7С020М1": nBufУсл=nУсл_1_7; CopyArray(ИстКБК_1_7,BufИстКБК); CopyArray(УслСчД_1_7,BufУслСчД); CopyArray(УслСчК_1_7,BufУслСчК); CopyArray(УслАн_1_7,BufУслАн);
   |True: Message("Неизвестный идентификатор "+FieldName);
 fi;
 Детализация(SГ3С020М1[Iter],МаскаСчКБК,МаскаАнКБК);
 Return Cur;
end;

Func flagГ10С200_OnEnter(FieldName: String; Iter: Integer): logical;
 for Iter=1..М2 do flagГ10С210М2[Iter]=not flagГ10С200; od;
 flagГ10С200=not flagГ10С200;
 Return False;
end;

Func flagГ10С210М2_OnEnter(FieldName: String; Iter: Integer): logical;
 flagГ10С210М2[Iter]=not flagГ10С210М2[Iter];
 Return False;
end;

Func flagГ11С200_OnEnter(FieldName: String; Iter: Integer): logical;
 for Iter=1..М2 do flagГ11С210М2[Iter]=not flagГ11С200; od;
 flagГ11С200=not flagГ11С200;
 Return False;
end;

Func flagГ11С210М2_OnEnter(FieldName: String; Iter: Integer): logical;
 flagГ11С210М2[Iter]=not flagГ11С210М2[Iter];
 Return False;
end;

Func С210М2_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var МаскаСчКБК,МаскаАнКБК,КБК,КОСГУ:S;
var FieldName:S;
var Iter:I;
 IterДопАн[1] = Row;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 FieldName=AsString(Template.Field);
 КБК=Раб.Бюджет2005.ВзятьКодКБК(SГ3С210М2[Iter],"ФКР","КБК",False);
 КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(SГ3С210М2[Iter],"ФКР","КОСГУ",False);
 if КБК="" or КОСГУ="": Message("Нет данных для расшифровки",mtError); Template.Field="SГ3С210М2"; ^Cur; fi;
 Раб.Бюджет2005.РежимМаски="?";
 МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
 МаскаАнКБК="(ФКР."+КБК+"&КОСГУ."+КОСГУ+"!)";
 if FieldName="RГ4С210М2": nBufУсл=nУсл_2_4; CopyArray(ИстКБК_2_4,BufИстКБК); CopyArray(УслСчД_2_4,BufУслСчД); CopyArray(УслСчК_2_4,BufУслСчК); CopyArray(УслАн_2_4,BufУслАн);
   |FieldName="RГ5С210М2": nBufУсл=nУсл_2_5; CopyArray(ИстКБК_2_5,BufИстКБК); CopyArray(УслСчД_2_5,BufУслСчД); CopyArray(УслСчК_2_5,BufУслСчК); CopyArray(УслАн_2_5,BufУслАн);
   |FieldName="RГ6С210М2": nBufУсл=nУсл_2_6; CopyArray(ИстКБК_2_6,BufИстКБК); CopyArray(УслСчД_2_6,BufУслСчД); CopyArray(УслСчК_2_6,BufУслСчК); CopyArray(УслАн_2_6,BufУслАн);
   |FieldName="RГ7С210М2": nBufУсл=nУсл_2_7; CopyArray(ИстКБК_2_7,BufИстКБК); CopyArray(УслСчД_2_7,BufУслСчД); CopyArray(УслСчК_2_7,BufУслСчК); CopyArray(УслАн_2_7,BufУслАн);
   |FieldName="RГ8С210М2": nBufУсл=nУсл_2_8; CopyArray(ИстКБК_2_8,BufИстКБК); CopyArray(УслСчД_2_8,BufУслСчД); CopyArray(УслСчК_2_8,BufУслСчК); CopyArray(УслАн_2_8,BufУслАн);
   |True: Message("Неизвестный идентификатор "+FieldName);
 fi;
 Детализация(SГ3С210М2[Iter],МаскаСчКБК,МаскаАнКБК);
 Return Cur;
end;

Func flagГ9С520_OnEnter(FieldName: String; Iter: Integer): logical;
 for Iter=1..М3 do flagГ9С520М3[Iter]=not flagГ9С520; od;
 flagГ9С520=not flagГ9С520;
 Return False;
end;

Func flagГ9С520М3_OnEnter(FieldName: String; Iter: Integer): logical;
 flagГ9С520М3[Iter]=not flagГ9С520М3[Iter];
 Return False;
end;

Func С520М3_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var МаскаСчКБК,МаскаАнКБК,КБК,КОСГУ:S;
var FieldName:S;
var Iter:I;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 FieldName=AsString(Template.Field);
 КБК=Раб.Бюджет2005.ВзятьКодКБК(SГ3С520М3[Iter],"КИФД","КБК",False);
 КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(SГ3С520М3[Iter],"КИФД","КОСГУ",False);
 if КБК="" or КОСГУ="": Message("Нет данных для расшифровки",mtError); Template.Field="SГ3С520М3"; ^Cur; fi;
 Раб.Бюджет2005.РежимМаски="?";
 МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
 МаскаАнКБК="(КИФД."+КБК+"&КОСГУ."+КОСГУ+"!)";
 if FieldName="RГ4С520М3": nBufУсл=nУсл_3_4; CopyArray(ИстКБК_3_4,BufИстКБК); CopyArray(УслСчД_3_4,BufУслСчД); CopyArray(УслСчК_3_4,BufУслСчК); CopyArray(УслАн_3_4,BufУслАн);
   |FieldName="RГ5С520М3": nBufУсл=nУсл_3_5; CopyArray(ИстКБК_3_5,BufИстКБК); CopyArray(УслСчД_3_5,BufУслСчД); CopyArray(УслСчК_3_5,BufУслСчК); CopyArray(УслАн_3_5,BufУслАн);
   |FieldName="RГ6С520М3": nBufУсл=nУсл_3_6; CopyArray(ИстКБК_3_6,BufИстКБК); CopyArray(УслСчД_3_6,BufУслСчД); CopyArray(УслСчК_3_6,BufУслСчК); CopyArray(УслАн_3_6,BufУслАн);
   |FieldName="RГ7С520М3": nBufУсл=nУсл_3_7; CopyArray(ИстКБК_3_7,BufИстКБК); CopyArray(УслСчД_3_7,BufУслСчД); CopyArray(УслСчК_3_7,BufУслСчК); CopyArray(УслАн_3_7,BufУслАн);
   |True: Message("Неизвестный идентификатор "+FieldName);
 fi;
 Детализация(SГ3С520М3[Iter],МаскаСчКБК,МаскаАнКБК);
 Return Cur;
end;

Func flagГ9С620_OnEnter(FieldName: String; Iter: Integer): logical;
 for Iter=1..М4 do flagГ9С620М4[Iter]=not flagГ9С620; od;
 flagГ9С620=not flagГ9С620;
 Return False;
end;

Func flagГ9С620М4_OnEnter(FieldName: String; Iter: Integer): logical;
 flagГ9С620М4[Iter]=not flagГ9С620М4[Iter];
 Return  False;
end;

Func С620М4_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var МаскаСчКБК,МаскаАнКБК,КБК,КОСГУ:S;
var FieldName:S;
var Iter:I;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 FieldName=AsString(Template.Field);
 КБК=Раб.Бюджет2005.ВзятьКодКБК(SГ3С620М4[Iter],"КИФД","КБК",False);
 КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(SГ3С620М4[Iter],"КИФД","КОСГУ",False);
 if КБК="" or КОСГУ="": Message("Нет данных для расшифроки",mtError); Template.Field="SГ3С620М4"; ^Cur; fi;
 Раб.Бюджет2005.РежимМаски="?";
 МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
 МаскаАнКБК="(КИФД!&КОСГУ!)";
 if FieldName="RГ4С620М4": nBufУсл=nУсл_3_4; CopyArray(ИстКБК_3_4,BufИстКБК); CopyArray(УслСчД_3_4,BufУслСчД); CopyArray(УслСчК_3_4,BufУслСчК); CopyArray(УслАн_3_4,BufУслАн);
   |FieldName="RГ5С620М4": nBufУсл=nУсл_3_5; CopyArray(ИстКБК_3_5,BufИстКБК); CopyArray(УслСчД_3_5,BufУслСчД); CopyArray(УслСчК_3_5,BufУслСчК); CopyArray(УслАн_3_5,BufУслАн);
   |FieldName="RГ6С620М4": nBufУсл=nУсл_3_6; CopyArray(ИстКБК_3_6,BufИстКБК); CopyArray(УслСчД_3_6,BufУслСчД); CopyArray(УслСчК_3_6,BufУслСчК); CopyArray(УслАн_3_6,BufУслАн);
   |FieldName="RГ7С620М4": nBufУсл=nУсл_3_7; CopyArray(ИстКБК_3_7,BufИстКБК); CopyArray(УслСчД_3_7,BufУслСчД); CopyArray(УслСчК_3_7,BufУслСчК); CopyArray(УслАн_3_7,BufУслАн);
   |True: Message("Неизвестный идентификатор "+FieldName);
 fi;
 Детализация(SГ3С620М4[Iter],МаскаСчКБК,МаскаАнКБК);
 Return Cur;
end;

Func С700_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var КБК,КОСГУ,УслСч,УслАн,МаскаСчКБК:S;
var FieldName,tmp:S;
var Iter:I;
 Template.HideEditor(False);
 Iter=AsInteger(Template.Frame);
 FieldName=AsString(Template.Field);
 tmp="SГ3С"+SubStr(FieldName,5,5);
 КБК=Раб.Бюджет2005.ВзятьКодКБК(GetVariableS(tmp),"КИФД","КБК",False);
 КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(GetVariableS(tmp),"КИФД","КОСГУ",False);
 if КБК="" or КОСГУ="": Message("Нет данных для расшифровки",mtError); Template.Field=tmp; ^Cur; fi;
 Раб.Бюджет2005.РежимМаски="?";
 МаскаСчКБК="("+КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ+"&"+ОбщУслБС+")";
 if FieldName="RГ4С710М5":
    if not УслСчД_3_4_710="" or not УслСчК_3_4_710="" or not УслАн_3_4_710="":
       if not УслСчД_3_4_710="": УслСч="("+УслСчД_3_4_710+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_4_710,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_4_710="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_4_710+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_4_710,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ4С720М5":
    if not УслСчД_3_4_720="" or not УслСчК_3_4_720="" or not УслАн_3_4_720="":
       if not УслСчД_3_4_720="": УслСч="("+УслСчД_3_4_720+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_4_720,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_4_720="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_4_720+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_4_720,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ6С710М5":
    if not УслСчД_3_6_710="" or not УслСчК_3_6_710="" or not УслАн_3_6_710="":
       if not УслСчД_3_6_710="": УслСч="("+УслСчД_3_6_710+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_710,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_6_710="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_710+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_710,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ7С710М5":
    if not УслСчД_3_7_710="" or not УслСчК_3_7_710="" or not УслАн_3_7_710="":
       if not УслСчД_3_7_710="": УслСч="("+УслСчД_3_7_710+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_7_710,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_7_710="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_7_710+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_7_710,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ6С720М6":
    if not УслСчД_3_6_720="" or not УслСчК_3_6_720="" or not УслАн_3_6_720="":
       if not УслСчД_3_6_720="": УслСч="("+УслСчД_3_6_720+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_720,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_6_720="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_720+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_720,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ7С720М6":
    if not УслСчД_3_7_720="" or not УслСчК_3_7_720="" or not УслАн_3_7_720="":
       if not УслСчД_3_7_720="": УслСч="("+УслСчД_3_7_720+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_7_720,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_7_720="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_7_720+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_7_720,ОбщУслАн,"&"); fi;
    fi;
 fi;
 if not УслСч="" or not УслАн="": 
    if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
    Report('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Служебные отчеты.lst"."001"',ДН,ДК,УслСч+if(УслВал="","","'"+УслВал),УслАн); 
   else
    Message("Не задано условие отбора показателя",mtError);
 fi;
 Return Cur;
end;

Func flagГ9С700_OnEnter(FieldName: String; Iter: Integer): logical;
 flagГ9С700=not flagГ9С700;
 Return False;
end;

Func С800_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var FieldName:S;
var КБК,КОСГУ,УслСч,УслАн,МаскаСчКБК:S;
 Template.HideEditor(False);
 FieldName=AsString(Template.Field);
 МаскаСчКБК="";
 if not ОбщУслКД="":
    КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КБК",False);
    КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КОСГУ",False);
    МаскаСчКБК=КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ;
 fi;
 if not ОбщУслКР="":
    КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КБК",False);
    КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КОСГУ",False);
    МаскаСчКБК=Раб.Бюджет2005.Объединить(МаскаСчКБК,КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ,"|");
 fi;
 if not ОбщУслКИФД="":
   КБК=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КБК",False);
   КОСГУ=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КОСГУ",False);
   МаскаСчКБК=Раб.Бюджет2005.Объединить(МаскаСчКБК,КБК+"."+Раб.Бюджет2005.МаскаСч6+"."+КОСГУ,"|");
 fi;
 if not МаскаСчКБК="": МаскаСчКБК="("+МаскаСчКБК+")"; fi;
 МаскаСчКБК=Раб.Бюджет2005.Объединить(МаскаСчКБК,ОбщУслБС,"&");
 --
 if FieldName="RГ5С811":
    if not УслСчД_3_5_811="" or not УслСчК_3_5_811="" or not УслАн_3_5_811="":
       if not УслСчД_3_5_811="": УслСч="("+УслСчД_3_5_811+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_5_811,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_5_811="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_5_811+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_5_811,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ6С811":
    if not УслСчД_3_6_811="" or not УслСчК_3_6_811="" or not УслАн_3_6_811="":
       if not УслСчД_3_6_811="": УслСч="("+УслСчД_3_6_811+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_811,"/")+if(УслВал="","","'"+УслВал);
       if not УслАн_3_6_811="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_811+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_811,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ5С812":
    if not УслСчД_3_5_812="" or not УслСчК_3_5_812="" or not УслАн_3_5_812="":
       if not УслСчД_3_5_812="": УслСч="("+УслСчД_3_5_812+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_5_812,"/");
       if not УслАн_3_5_812="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_5_812+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_5_812,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ6С812":
    if not УслСчД_3_6_812="" or not УслСчК_3_6_812="" or not УслАн_3_6_812="":
       if not УслСчД_3_6_812="": УслСч="("+УслСчД_3_6_812+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_812,"/");
       if not УслАн_3_6_812="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_812+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_812,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ6С821":
    if not УслСчД_3_6_821="" or not УслСчК_3_6_821="" or not УслАн_3_6_821="":
       if not УслСчД_3_6_821="": УслСч="("+УслСчД_3_6_821+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_821,"/");
       if not УслАн_3_6_821="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_821+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_821,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ6С822":
    if not УслСчД_3_6_822="" or not УслСчК_3_6_822="" or not УслАн_3_6_822="":
       if not УслСчД_3_6_822="": УслСч="("+УслСчД_3_6_822+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_6_822,"/");
       if not УслАн_3_6_822="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_6_822+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_6_822,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ7С821":
    if not УслСчД_3_7_821="" or not УслСчК_3_7_821="" or not УслАн_3_7_821="":
       if not УслСчД_3_7_821="": УслСч="("+УслСчД_3_7_821+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_7_821,"/");
       if not УслАн_3_7_821="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_7_821+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_7_821,ОбщУслАн,"&"); fi;
    fi;
   |FieldName="RГ7С822":
    if not УслСчД_3_7_822="" or not УслСчК_3_7_822="" or not УслАн_3_7_822="":
       if not УслСчД_3_7_822="": УслСч="("+УслСчД_3_7_822+")"; fi;
       УслСч=Раб.Бюджет2005.Объединить(УслСч,МаскаСчКБК,"&");
       УслСч=Раб.Бюджет2005.Объединить(УслСч,УслСчК_3_7_822,"/");
       if not УслАн_3_7_822="" and not ОбщУслАн="": УслАн=Раб.Бюджет2005.Объединить("("+УслАн_3_7_822+")","("+ОбщУслАн+")","&"); else УслАн=Раб.Бюджет2005.Объединить(УслАн_3_7_822,ОбщУслАн,"&"); fi;
    fi;
 fi;
 if not УслСч="" or not УслАн="": 
    if НеУчитЗаклПр: УслАн=Раб.Бюджет2005.Объединить(УслАн,Раб.Парам_Отч.ИсклЗакл,"&"); fi;
    Report('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Служебные отчеты.lst"."001"',ДН,ДК,УслСч+if(УслВал="","","'"+УслВал),УслАн); 
   else
    Message("Не задано условие отбора показателя",mtError);
 fi;
 Return Cur;
end;


Func ФИО_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Rec:Record;
var tmp,FieldName:S;
 Template.HideEditor(False);
 FieldName=AsString(Template.Field);
 Rec=OpenCardFile("Сотрудники");
 if Rec=NIL: ^Cur; fi;
 tmp=GetCardFieldS("Сотрудники",Rec,"ФАМИЛИЯ")+" "+GetCardFieldS("Сотрудники",Rec,"ИНИЦИАЛЫ");
 if FieldName="ФИОРук": ФИОРук=tmp;
   |FieldName="ФИОБух": ФИОБух=tmp;
   |FieldName="ФИОРукФЭО": ФИОРукФЭО=tmp;
 fi;
 Return Cur ;
end;

Func A_OnEnter(FieldName: String; Iter: Integer): logical;
var Name:S;
 Name=AsString(Template.Name);
 if Name="Усл_1_4": InsertFrame(nУсл_1_4,Iter+1);
   |Name="Усл_1_5": InsertFrame(nУсл_1_5,Iter+1);
   |Name="Усл_1_6": InsertFrame(nУсл_1_6,Iter+1);
   |Name="Усл_1_7": InsertFrame(nУсл_1_7,Iter+1);
   |Name="Усл_2_4": InsertFrame(nУсл_2_4,Iter+1);
   |Name="Усл_2_5": InsertFrame(nУсл_2_5,Iter+1);
   |Name="Усл_2_6": InsertFrame(nУсл_2_6,Iter+1);
   |Name="Усл_2_7": InsertFrame(nУсл_2_7,Iter+1);
   |Name="Усл_2_8": InsertFrame(nУсл_2_8,Iter+1);
   |Name="Усл_3_4": InsertFrame(nУсл_3_4,Iter+1);
   |Name="Усл_3_5": InsertFrame(nУсл_3_5,Iter+1);
   |Name="Усл_3_6": InsertFrame(nУсл_3_6,Iter+1);
   |Name="Усл_3_7": InsertFrame(nУсл_3_7,Iter+1);
 fi;
 Return False ;
end;


Func D_OnEnter(FieldName: String; Iter: Integer): logical;
var Name:S;
 Name=AsString(Template.Name);
 if Name="Усл_1_4": DeleteFrame(nУсл_1_4,Iter);
   |Name="Усл_1_5": DeleteFrame(nУсл_1_5,Iter);
   |Name="Усл_1_6": DeleteFrame(nУсл_1_6,Iter);
   |Name="Усл_1_7": DeleteFrame(nУсл_1_7,Iter);
   |Name="Усл_2_4": DeleteFrame(nУсл_2_4,Iter);
   |Name="Усл_2_5": DeleteFrame(nУсл_2_5,Iter);
   |Name="Усл_2_6": DeleteFrame(nУсл_2_6,Iter);
   |Name="Усл_2_7": DeleteFrame(nУсл_2_7,Iter);
   |Name="Усл_2_8": DeleteFrame(nУсл_2_8,Iter);
   |Name="Усл_3_4": DeleteFrame(nУсл_3_4,Iter);
   |Name="Усл_3_5": DeleteFrame(nУсл_3_5,Iter);
   |Name="Усл_3_6": DeleteFrame(nУсл_3_6,Iter);
   |Name="Усл_3_7": DeleteFrame(nУсл_3_7,Iter);
 fi;
 Return False;
end;

Func btnНастрВостан_OnEnter(FieldName: String; Iter: Integer): logical;
 if EnqOkCancel("Восстановить значения по умолчанию?",mtWarning)=cmOk:
    НастрУмолч;
    Message("Значение по умолчанию восстановлены");
 fi;
 ^False;
end;

Func btnНастрЗагруз_OnEnter(FieldName: String; Iter: Integer): logical;
var Rec:Record;
 if EnqOkCancel("Текущая настройка будет утеряна, продолжить ?",mtWarning)=cmCancel: ^False; fi;
 Rec=Раб.Настр.Выбрать(SelfBln,0,-1,"");
 if not Rec=nil:
    НастрRec=Rec;
    Настр(False);
    Message("Настройка загружена");
 fi;
 Return False;
end;

Func btnНастрЗакрыть_OnEnter(FieldName: String; Iter: Integer): logical;
 ЗакрытьНастр;
 Return False;
end;

Func ИстКБК_OnEnter(FieldName: String; Iter: Integer): logical;
var n:i;
 ClearVariable(Buf);
 Buf[1]="Данные счетов";
 Buf[2]="Данные аналитического учета";
 n=Alternate("Источник формирования КБК",Buf,-1,1,12);
 if n=0: ^False; fi;
 n=n-1;
 FieldName=SubStr(FieldName,1,Length(FieldName)-1)+"["+Str(Iter)+"]";
 PutVariableI(FieldName,n);
 ^False;
end;

Proc Знак_OnClick(Row: Integer; Col: Integer; Double: Logical);
var n:i;
var Field:S;
 ClearVariable(Buf);
 Buf[1]="Умножить на  1";
 Buf[2]="Умножить на -1";
 n=Alternate("Знак показателя",Buf,-1,1,12);
 if n=0: Exit; fi;
 if n=2: n=-1; fi;
 Field=asString(Template.Field)+"["+Str(asInteger(Template.Frame))+"]";
 PutVariableI(Field,n);
end;

Func УслСч_OnVerify (FieldName: String; Iter: Integer; Value:String): logical;
var z:n;
 Try
  z=Turn(Value,1.1.100,1.1.100);
 Except
  Raise;
  ^False;
 end;
 if not Pos("/",Value)=0: Message("В условии отбора нельзя использовать операцию /",mtError); ^False; fi;
 ^True;
end;

Func УслАн_OnVerify (FieldName: String; Iter: Integer; Value:String): logical;
var z:n;
 Try
  z=Turn("{"+Value+"}",1.1.100,1.1.100);
 Except
  Raise;
  ^False;
 end;
 ^True;
end;

Func УслСч_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Field:s;
var Iter:I;
 Field=AsString(Template.Field);
 Iter=AsInteger(Template.Frame);
 Cur=Раб.КБК.Список("","","СЧ8 И");
 if Cur="": Template.HideEditor(False); ^Cur; fi;
 Cur="*.?."+SubStr(Cur,1,7)+Раб.Бюджет2005.КОСГУВМаску(SubStr(Cur,8,3),"*");
 if not SubStr(Cur,Length(Cur),1)="*": Cur=Cur+"*"; fi;
 Field=Field+"["+Str(Iter)+"]";
 Cur=Раб.Бюджет2005.Объединить_Диалог(GetVariableS(Field),Cur,"|=ИЛИ;&~=И ИСКЛЮЧИТЬ;_=ЗАМЕНИТЬ","_");
 if Раб.Бюджет2005.HideEditor: Template.HideEditor(False); PutVariableS(Field,Cur); fi;
 ^Cur;
end;

Func УслАн_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var tmp,Field:s;
var Iter:I;
 Field=AsString(Template.Field);
 Iter=AsInteger(Template.Frame);
 tmp=SubStr(Field,6,255)+"["+Str(Iter)+"]";
 tmp=Раб.Бюджет2005.Объединить(GetVariableS("УслСчД"+tmp),GetVariableS("УслСчК"+tmp),"|");
 if not tmp="": tmp=Раб.Бюджет2005.СписокСправ(tmp,0,""); fi;
 if not tmp="": tmp="("+tmp+")|~*.*"; fi;
 Cur=AnaElection(tmp);
 if Cur="": Template.HideEditor(False); ^Cur; fi;
 Cur=Раб.Бюджет2005.Объединить_Диалог(GetVariableS(Field),Cur,"&=И;|=ИЛИ;&~=И ИСКЛЮЧИТЬ;_=ЗАМЕНИТЬ","_");
 if Раб.Бюджет2005.HideEditor: Template.HideEditor(False); PutVariableS(Field,Cur); fi;
 ^Cur;
end;
2--
2-- События объектов шаблона
Proc cbНеУчитЗаклПр_OnChange(Sender: String);
 Перерасчет(False);
end;

Proc btnРасчет_OnClick(Sender: String);
var b,e:i;
 ЗакрытьНастр;
 b=time;
 Расчет_(0);
 e=time;
-- Trace(Str(e-b));
end;

Proc btnНастр_OnClick(Sender: String);
 ОткрытьНастр;
end;

Proc btnПечать_OnClick(Sender: String);
 Раб.Настр_Печать.Prn("","","RPO_0503127_001.cfg","",1);
end;

Proc btnОчистить_OnClick(Sender: String);
 if EnqOkCancel("Все данные будут очищены. Вы уверены?",mtWarning)=cmOk: Очистить_(0); fi;
end;

Proc btnФ0503164_OnClick(Sender: String);
 OpenBlank("ОТЧЕТЫ.БАЛАНС.191Н.0503164",False);
end;

Proc btnФ0503179_OnClick(Sender: String);
 OpenBlank("ОТЧЕТЫ.БАЛАНС.191Н.0503179",False);
end;

Proc btnЗакрыть_OnClick(Sender: String);
 Close;
end;

Func Сотрудники_onLookup(Sect:String; Row:Integer; Col:Integer; Cur:String): String;
var REC :Record;
var FieldName, СТРФИО, СТРДОЛ, СТРТЕЛ, tmp1, tmp2 :String;
 Template.HideEditor(False);
 if not AutoRefresh: RefreshAna; fi;
 FieldName=asString(Template.Field);
 REC=OpenCardFile("СОТРУДНИКИ", "", ИспREC, crdRecordOnly);
 if REC=NIL: ^Cur; fi;
 tmp1=GetCardFieldS("СОТРУДНИКИ", REC, "ИНИЦИАЛЫ");
 tmp2=GetCardFieldS("СОТРУДНИКИ", REC, "ФАМИЛИЯ");
 СТРТЕЛ=GetCardFieldS("СОТРУДНИКИ", REC, "ТЕЛЕФОНРАБОЧИЙ");
 СТРФИО=if(tmp2="", GetCardFieldS("СОТРУДНИКИ", REC, "ФИОТ"), tmp2+" "+if(tmp1<>"..", tmp1, ""));
 Try СТРДОЛ=GetCardFieldS("СОТРУДНИКИ", REC, "ДОЛЖНОСТЬ.ДОЛЖ"); Except СТРДОЛ=""; end;
 if FieldName="ИСПФИО": ИСПФИО=СТРФИО; ИСПДОЛ=СТРДОЛ; ИСПТЕЛ=СТРТЕЛ;
 |  FieldName="ИСПДОЛ": ИСПФИО=СТРФИО; ИСПДОЛ=СТРДОЛ; ИСПТЕЛ=СТРТЕЛ;
 fi;
 ^"";
end;

Proc ЗакрытьФайлПоОшибке(numberFile:Integer; FlagCreate:Logical; RESnameFile:String);
 if FlagCreate:
   TextFileClose(numberFile);
   Message("Ошибка записи в файл '"+RESnameFile+"'!", mtError);
 else
   Message("Ошибка создания файла '"+RESnameFile+"'!", mtError);
 fi;
end;

Func ЕстьДанныеДляВыгрузки :Logical;
var SUM :Numeric;
 SUM=Abs(RГ4С010)+Abs(RГ8С010)+Abs(RГ9С010)+
     Abs(RГ4С200)+Abs(RГ5С200)+Abs(RГ9С200)+Abs(RГ10С200)+Abs(RГ11С200)+
     Abs(RГ4С500)+Abs(RГ8С500)+Abs(RГ9С500);
 if SUM>0.00: ^True; else ^False; fi;
end;

Func СформироватьИмяФайла(CФ:String; VФ:String; RD:Date; Архив:Logical; CВ:String) :String;
var ok1, ok2, mm :Integer;
var RES, PФ :String;
 RES="";
 ok1=Length(Trim(CФ)); --код формы
 ok2=Length(Trim(VФ)); --версия формы
 if (ok1=3 or ok1=4) and ok2=2:
   mm=Mon(RD);
   if mm=1                  : PФ="Y";
   |  mm=4 or mm=7 or mm=10 : PФ="Q";
   else                       PФ="M";
   fi;
   if Архив: 
     if Length(CВ)=3: RES=CВ+"_"+"01"+Format("%.2d", mm)+Format("%.2d", Year(RD)-2000)+"_"+CФ+"_"+PФ+"_"+VФ+".ZIP"; fi;
   else
     RES=CФ+PФ+VФ+".TXT";
   fi;
 fi;
 ^RES;
end;

Func УдалитьЗапрещенныйСимволВпозиции(valStr:String; delPos:Integer) :String;
var tmpFrst, tmpLast, RES :String;
var len :Integer;
 RES=""; tmpFrst=""; tmpLast="";
 len=Length(valStr);
 if delPos<1: delPos=1; fi;
 if delPos>len or valStr="": ^valStr; fi;
 if delPos>1:   tmpFrst=SubStr(valStr,        1, delPos-1  ); else tmpFrst=""; fi;
 if delPos<len: tmpLast=SubStr(valStr, delPos+1, len-delPos); else tmpLast=""; fi;
 RES=tmpFrst+tmpLast;
 ^RES;
end;

Func ПроверитьНаЗапрещенныеСимволы(Value:String) :String;
var num, ii :Integer;
 ClearVariable(Buf);
 Buf[01]=Chr(010); -- перевод строки
 Buf[02]=Chr(013); -- возврат каретки
 Buf[03]=Chr(034); -- стандартная кавычка
 Buf[04]=Chr(035); -- #
 Buf[05]=Chr(039); -- апостроф
 Buf[06]=Chr(096); -- акцент (ударение)
 Buf[07]=Chr(124); -- вертикальная черта
 Buf[08]=Chr(145); -- одинарная кавычка открывающая
 Buf[09]=Chr(146); -- одинарная кавычка закрывающая
 Buf[10]=Chr(147); -- двойная кавычка узкая открывающая
 Buf[11]=Chr(148); -- двойная кавычка узкая закрывающая
 Buf[12]=Chr(166); -- вертикальная черта прерывистая
 Buf[13]=Chr(171); -- двойная кавычка широкая открывающая
 Buf[14]=Chr(187); -- двойная кавычка широкая закрывающая
 Value=Trim(Value);
 for ii=1 to LengthOfArray(Buf) do
   num=Pos(Buf[ii], Value);
   while num>0 do 
     Value=УдалитьЗапрещенныйСимволВпозиции(Value, num);
     num=Pos(Buf[ii], Value);
   od;
 od;
 ^Value;
end;


Func ЗаписатьСтроку_01Раздела_Итого :String;
var RES :String;
var SUM :Numeric;
 RES="010|***|85000000000000000|";
 SUM=RГ4С010; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ5С010; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ6С010; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ7С010; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ8С010; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ9С010; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 ^RES;
end;

Func ЗаписатьСтроку_01Раздела(Iter:Integer) :String;
var RES, Value :String;
var SUM :Numeric;
 RES="";
 if Iter>0:
   Value=ЗаменитьРазделительПредложения(SГ3С020М1[Iter], ".", "");
   if Length(Value)=20:
     RES="010|"+SubStr(Value, 1, 3)+"|"+SubStr(Value, 4, 17)+"|";
     SUM=RГ4С020М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ5С020М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ6С020М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ7С020М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ8С020М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ9С020М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   fi;
 fi;
 ^RES;
end;

Func ЗаписатьСтроку_02Раздела_Итого :String;
var RES :String;
var SUM :Numeric;
 RES="200|***|9600|0000000|000|000|";
 SUM= RГ4С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM= RГ5С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM= RГ6С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM= RГ7С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM= RГ8С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM= RГ9С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ10С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ11С200; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 ^RES;
end;

Func ЗаписатьСтроку_02Раздела_Результат :String;
var RES :String;
var SUM :Numeric;
 RES="450|***|7900|0000000|000|000|0|0|";
 SUM=RГ6С450; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ7С450; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ8С450; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 SUM=RГ9С450; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|0|0|";
 ^RES;
end;

Func ЗаписатьСтроку_02Раздела(Iter:Integer) :String;
var RES, Value :String;
var SUM :Numeric;
 RES="";
 if Iter>0:
   Value=ЗаменитьРазделительПредложения(SГ3С210М2[Iter], ".", "|");
   if Match(Value, "???|????|???????|???|???"):
     RES="200|"+Value+"|";
     SUM= RГ4С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM= RГ5С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM= RГ6С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM= RГ7С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM= RГ8С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM= RГ9С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ10С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
     SUM=RГ11С210М2[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   fi;
 fi;
 ^RES;
end;

Func ЗаписатьСтроку_03Раздела(SГР2:String; SГР3:String; NГР4:Numeric; NГР5:Numeric; NГР6:Numeric; NГР7:Numeric; NГР8:Numeric; NГР9:Numeric) :String;
var RES :String;
var SUM :Numeric;
 RES="";
 SUM=Abs(NГР4)+Abs(NГР5)+Abs(NГР6)+Abs(NГР7)+Abs(NГР8)+Abs(NГР9);
 if Length(SГР2)=3 and Length(SГР3)=20 and SUM>0.00:
   RES=SГР2+"|"+SubStr(SГР3, 1, 3)+"|"+SubStr(SГР3, 4, 17)+"|";
   SUM=NГР4; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=NГР5; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=NГР6; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=NГР7; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=NГР8; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=NГР9; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
 fi;
 ^RES;
end;

Proc Экспорт_TXT_ФК(Архивировать:Logical);
var Путь, ПутьАрх, nameFile, nameFileArc, Value, КБК :String;
var FS, num, ii, mm :Integer;
var FlagCreate :Logical;

 if Year(ДК)<2000: Message("Дата отчета должна быть позже 2000 года.", mtWarning); Template.Field="ДК"; Exit; fi;
 if Day(ДК)<>1: Message("Для выгрузки в файл требуется отчет расчитанный на '1' число.", mtWarning); Template.Field="ДК"; Exit; fi;
 if not ЕстьДанныеДляВыгрузки: Message("Нет данных для выгрузки.^MПредварительно сделайте расчет формы.", mtWarning); Template.Object="btnРасчет"; Exit; fi;
 if not Length(ПроверитьНаЗапрещенныеСимволы(ГлаваБК))=3: Message("Не заполнено 'Глава по БК' учреждения", mtWarning); Template.Field="Учреждение"; Exit; fi;
 --if Trim(ОКТМО)="": Message("Не заполнено 'ОКТМО' учреждения", mtWarning); Template.Field="Учреждение"; Exit; fi;
 --
 if ChooseFolder(Путь, "Выберите папку для сохранения файла выгрузки...")=cmOk:

   nameFile=РАБ.БЮДЖЕТ2005.Контроль2Слэш(Путь)+СформироватьИмяФайла("227", "01", ДК, False, "");
   mm=Mon(ДК);
   Try
     Try if ExistFile(nameFile): DeleteFile(nameFile); fi; Except end;
     FlagCreate=False;
     FS=TextFileCreate(nameFile);
     FlagCreate=True;
     --Заголовочная часть
     TextFileWriteLn(FS, "#%");
     TextFileWriteLn(FS, "КОДФ=227");
     TextFileWriteLn(FS, "ПРД="+if(mm=1: "5" | mm=4 or mm=7 or mm=10: "4", "3"));
     TextFileWriteLn(FS, "РДТ="+DateToString(ДК));
     TextFileWriteLn(FS, "ВИД=3");   -- всегда "3"
     TextFileWriteLn(FS, "ИСТ="+Trim(ГлаваБК));
     TextFileWriteLn(FS, "ПРП=500"); -- еще возможное значение - 600
     TextFileWriteLn(FS, "#");
     -- Содержательная часть 1 раздела
     TextFileWriteLn(FS, "#@");
     TextFileWriteLn(FS, "ТБ=01");
     TextFileWriteLn(FS, "#$");
     Value=ЗаписатьСтроку_01Раздела_Итого;
     if Value<>"": TextFileWriteLn(FS, Value); fi;
     num=М1;
     if num>0:
       for ii=1 to num do
         Value=ЗаписатьСтроку_01Раздела(ii);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;
     TextFileWriteLn(FS, "#");
     -- Содержательная часть 2 раздела
     TextFileWriteLn(FS, "#@");
     TextFileWriteLn(FS, "ТБ=02");
     TextFileWriteLn(FS, "#$");
     Value=ЗаписатьСтроку_02Раздела_Итого;
     if Value<>"": TextFileWriteLn(FS, Value); fi;
     num=М2;
     if num>0:
       for ii=1 to num do
         Value=ЗаписатьСтроку_02Раздела(ii);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;
     Value=ЗаписатьСтроку_02Раздела_Результат;
     if Value<>"": TextFileWriteLn(FS, Value); fi;
     TextFileWriteLn(FS, "#");
     -- Содержательная часть 3 раздела
     TextFileWriteLn(FS, "#@");
     TextFileWriteLn(FS, "ТБ=03");
     TextFileWriteLn(FS, "#$");
     КБК="***90000000000000000";      Value=ЗаписатьСтроку_03Раздела("500", КБК, RГ4С500, RГ5С500, RГ6С500, RГ7С500, RГ8С500, RГ9С500); if Value<>"": TextFileWriteLn(FS, Value); fi;
     num=М3;
     if num>0:
       КБК=ГлаваБК+"01000000000000000";
       Value=ЗаписатьСтроку_03Раздела("520", КБК, RГ4С520, RГ5С520, RГ6С520, RГ7С520, RГ8С520, RГ9С520);
       if Value<>"": TextFileWriteLn(FS, Value); fi;
       for ii=1 to num do
         КБК=ЗаменитьРазделительПредложения(SГ3С520М3[ii], ".", "");
         Value=ЗаписатьСтроку_03Раздела("520", КБК, RГ4С520М3[ii], RГ5С520М3[ii], RГ6С520М3[ii], RГ7С520М3[ii], RГ8С520М3[ii], RГ9С520М3[ii]);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;
     num=М4;
     if num>0:
       КБК=ГлаваБК+"02000000000000000";
       Value=ЗаписатьСтроку_03Раздела("620", КБК, RГ4С620, RГ5С620, RГ6С620, RГ7С620, RГ8С620, RГ9С620);
       if Value<>"": TextFileWriteLn(FS, Value); fi;
       for ii=1 to num do
         КБК=ЗаменитьРазделительПредложения(SГ3С620М4[ii], ".", "");
         Value=ЗаписатьСтроку_03Раздела("620", КБК, RГ4С620М4[ii], RГ5С620М4[ii], RГ6С620М4[ii], RГ7С620М4[ii], RГ8С620М4[ii], RГ9С620М4[ii]);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;

     КБК=ГлаваБК+"00000000000000000";
     Value=ЗаписатьСтроку_03Раздела("700", КБК, RГ4С700, 0.00, RГ6С700, RГ7С700, RГ8С700, RГ9С700);
     if Value<>"": TextFileWriteLn(FS, Value); fi;

     КБК=ГлаваБК+"00000000000000000";
     Value=ЗаписатьСтроку_03Раздела("710", КБК, RГ4С710, 0.00, RГ6С710, RГ7С710, RГ8С710,    0.00);
     if Value<>"": TextFileWriteLn(FS, Value); fi;
     num=М5;
     if num>0:
       for ii=1 to num do
         КБК=ЗаменитьРазделительПредложения(SГ3С710М5[ii], ".", "");
         Value=ЗаписатьСтроку_03Раздела("710", КБК, RГ4С710М5[ii], 0.00, RГ6С710М5[ii], RГ7С710М5[ii], RГ8С710М5[ii], 0.00);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;

     КБК=ГлаваБК+"00000000000000000";
     Value=ЗаписатьСтроку_03Раздела("720", КБК, RГ4С720, 0.00, RГ6С720, RГ7С720, RГ8С720,    0.00);
     if Value<>"": TextFileWriteLn(FS, Value); fi;
     num=М6;
     if num>0:
       for ii=1 to num do
         КБК=ЗаменитьРазделительПредложения(SГ3С720М6[ii], ".", "");
         Value=ЗаписатьСтроку_03Раздела("720", КБК, RГ4С720М6[ii], 0.00, RГ6С720М6[ii], RГ7С720М6[ii], RГ8С720М6[ii], 0.00);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;

     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("800", КБК,    0.00, RГ5С800, RГ6С800, RГ7С800, RГ8С800,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;
     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("810", КБК,    0.00, RГ5С810, RГ6С810,    0.00, RГ8С810,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;
     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("811", КБК,    0.00, RГ5С811, RГ6С811,    0.00, RГ8С811,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;
     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("812", КБК,    0.00, RГ5С812, RГ6С812,    0.00, RГ8С812,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;
     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("820", КБК,    0.00,    0.00, RГ6С820, RГ7С820, RГ8С820,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;
     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("821", КБК,    0.00,    0.00, RГ6С821, RГ7С821, RГ8С821,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;
     КБК =    "***00000000000000000";                      Value=ЗаписатьСтроку_03Раздела("822", КБК,    0.00,    0.00, RГ6С822, RГ7С822, RГ8С822,    0.00); if Value<>"": TextFileWriteLn(FS, Value); fi;

     TextFileWriteLn(FS, "#");
     -- Заключительная часть
     TextFileWriteLn(FS, "#&");
     TextFileWriteLn(FS, "Руководитель="+ПроверитьНаЗапрещенныеСимволы(ФИОРук));
     TextFileWriteLn(FS, "Гл. бухгалтер="+ПроверитьНаЗапрещенныеСимволы(ФИОБух));
     TextFileWriteLn(FS, "Исполнитель="+ПроверитьНаЗапрещенныеСимволы(ИспФИО));
     TextFileWriteLn(FS, "Тел.="+ПроверитьНаЗапрещенныеСимволы(ИспТЕЛ));
     TextFileWriteLn(FS, "#");
     TextFileWriteLn(FS, "#~");
     TextFileWriteLn(FS, "ППО=Турбо Бухгалтер 6.9 - "+ПроверитьНаЗапрещенныеСимволы(ВЕРСИЯ.Сборка_)+" "+ПроверитьНаЗапрещенныеСимволы(ВЕРСИЯ.ДатаСборки_));
     TextFileWriteLn(FS, "#");
     TextFileWriteLn(FS, "##");
     --
     TextFileClose(FS);
     --
     if ExistFile(nameFile): 
       if Архивировать:
         ClearTrace(True);
         ПутьАрх=РАБ.БЮДЖЕТ2005.Контроль2Слэш(PlanVar("STD_RPO"))+"\Bin\7z.exe";
         if ExistFile(ПутьАрх):
           nameFileArc=Путь+СформироватьИмяФайла("227", "01", ДК, True, ГлаваБК);
           Try if ExistFile(nameFileArc): DeleteFile(nameFileArc); fi; Except end;
           ExecuteProgram(ПутьАрх+" a -y -tzip "+nameFileArc+" "+nameFile, True);
         else
           Trace("Не найден файл-архиватор. Архивация выгрузки невозможна.");
         fi;
       fi;
       if EnqOkCancel("Открыть созданный файл выгрузки?", mtInformation)=cmOK: OpenEditor(nameFile); fi;
     fi;
   Except
     ЗакрытьФайлПоОшибке(FS, FlagCreate, nameFile);
     Raise;
   end;

 fi; --ChooseFolder

end;  

Func TimeToHMSstring_adv(valTime:Integer; valSep:String) :String;
var ihh, imm, icc :Integer;
var shh, smm, scc :String;
 shh=''; smm=''; scc='';
 ihh=Int(Trunc(valTime/3600));
 imm=Int(Trunc((valTime-ihh*3600)/60));
 icc=valTime-ihh*3600-imm*60;
 shh=Format("%.2d", ihh);
 smm=Format("%.2d", imm);
 scc=Format("%.2d", icc);
 ^(shh+valSep+smm+valSep+scc);
end;

Proc Экспорт_Excel;
var xlsApp, xlsBooks, xlsBook, xlsSheets, xlsSheet, xlsRng :AutoObject;
var localTS, localDS, xlNameFile, xlNameFolder, ExcelVersion, Value :String;
var начало, kol, max_kol, need_sheet, offsetRow, len, ii, Iter, maxIterCount, IterCount, IterSave, xx :Integer;
var NoError, rusExcel, ExportWork :Logical;

 if not ЕстьДанныеДляВыгрузки: Message("Нет данных для выгрузки.^MПредварительно сделайте расчет формы.", mtWarning); Template.Object="btnРасчет"; Exit; fi;
 NoError=True;
 maxIterCount=300;
 offsetRow=0;
 kol=0;
 need_sheet=4;
 if ChooseFolder(xlNameFolder, "Выберите папку для сохранения файла экспорта...")=cmOK:
   начало=Time;
   xlNameFile=xlNameFolder+"ExportExcel0503127_"+Format("%.4d", Year(ToDay))+Format("%.2d", Mon(ToDay))+Format("%.2d", Day(ToDay))+"_"+TimeToHMSstring_adv(Time, "")+".xls";
   if ExistFile(xlNameFile): DeleteFile(xlNameFile); fi;
   if ExistFile(xlNameFile+"x"): DeleteFile(xlNameFile+"x"); fi; -- для версий Офиса 2007 или старше
   -- Формирование шапки
   if NoError:
     xlsApp=CreateAutoObject('Excel.Application');
     Try
       ExcelVersion=asString(xlsApp.Version);
       if Int(ExcelVersion)>=12 or ExcelVersion="12.0": xlNameFile=xlNameFile+"x"; fi;
       ShowProgress(0, "Подготовка...");
       Try
         xlsApp.EnableEvents=False;   -- отключить события
         xlsApp.AutomationSecurity=3; -- отключить макросы
         --
         rusExcel=РАБ.EXCEL.РусскийExcel(xlsApp);
         localDS=asString(xlsApp.International[РАБ.EXCEL.xlDecimalSeparator]);
         localTS=asString(xlsApp.International[РАБ.EXCEL.xlThousandsSeparator]);
         --
         xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
         Try
           xlsBook=AsAutoObject(xlsBooks.Add); -- добавить книгу
           Try
             Try
               xlsSheets=AsAutoObject(xlsBook.Sheets);
               Try
                 max_kol=asInteger(xlsSheets.Count);
                 if max_kol<need_sheet:
                   len=need_sheet-max_kol;
                   Try
                     for ii=1 to len do Try xlsSheet=AsAutoObject(xlsSheets.Add); Finally ClearVariable(xlsSheet); end; od;
                   Except
                     ClearVariable(xlsSheet);
                     Raise;
                   end;
                 fi;
                 kol=kol+1;
                 xlsSheet=AsAutoObject(xlsBook.Worksheets[kol]);
                 Try
                   xlsSheet.Name = "127_1_раздел";
                   xx=0;
                   ShowProgress(26, "Формируем титул 1 раздела...");
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 01, 35.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 02, 04.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 03, 21.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 04, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 05, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 06, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 07, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 08, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 09, 12.0);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ОТЧЕТ ОБ ИСПОЛНЕНИИ БЮДЖЕТА");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ГЛАВНОГО РАСПОРЯДИТЕЛЯ, РАСПОРЯДИТЕЛЯ, ПОЛУЧАТЕЛЯ БЮДЖЕТНЫХ СТРЕДСТВ,");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ГЛАВНОГО АДМИНИСТРАТОРА, АДМИНИСТРАТОРА ИСТОЧНИКОВ ФИНАНСИРОВАНИЯ ДЕФИЦИТОВ БЮДЖЕТА,");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ГЛАВНОГО АДМИНИСТРАТОРА, АДМИНИСТРАТОРА ДОХОДОВ БЮДЖЕТА");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 25, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "КОДЫ");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "Форма по ОКУД");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "0503127");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Courier New", 11, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   Value="на "+Format("%.2d", Day(ДК))+" "+Месяца(Mon(ДК))+" "+Format("%.4d", Year(ДК))+" г.";
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "   "+Value+"   "); -- пробелы нужны для подчеркивания
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ПодчеркнутыйТекстЯчеек(xlsSheet, offsetRow, 03, offsetRow, 05, False, True, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "Дата");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, DateToString(ДК));
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Главный распорядитель, распорядитель, получатель бюджетных средств,");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 09, offsetRow+1, 09);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "главный администратор, администратор доходов бюджета, главный");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "администратор, администратор источников финансирования");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по ОКПО");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, ОКПО);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "дефицита бюджета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, Учреждение);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 07, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "Глава по БК");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, ГлаваБК);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование бюджета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, НаимБюдж);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 07, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по ОКТМО");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, ОКТМО);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Периодичность:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "месячная");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 03, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Валюта отчета:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, Вал_);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 03, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Единица измерения:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, ЕдИзм_);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 03, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по ОКЕИ");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, ОКЕИ);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-10, 9, offsetRow, 9, True,  True,  True,  True, True,  True,  False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-09, 9, offsetRow, 9, True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.PrintSetup_ЧБ_Поля10(xlsApp, xlsSheet, False, 0, 0, 0, 0, True, False, True, 100);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "1. Доходы бюджета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование показателя");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+1, 01);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Код строки");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 02);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "Код дохода"+Chr(10)+"по бюджетной"+Chr(10)+"классификации");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow+1, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "Утвержденные"+Chr(10)+"бюджетные"+Chr(10)+"назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow+1, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "Исполнено");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "Неисполненные назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 09, offsetRow+1, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "через финансовые органы");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "через банковские счета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "некассовые операции");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "итого");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "1");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "2");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "3");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "4");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "5");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "6");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "7");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "8");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "9");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 1, offsetRow, 9, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Доходы бюджета - всего");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "010");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ4С010<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04, RГ4С010, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ5С010<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05, RГ5С010, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ6С010<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06, RГ6С010, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ7С010<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07, RГ7С010, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ8С010<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08, RГ8С010, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ9С010<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09, RГ9С010, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "в том числе:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-4, 1, offsetRow, 9, False, True, False, True, True, True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 2, offsetRow, 9, True,  True,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   xx=xx+1; ProgressPos(xx);
                   --
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Finally
                 ClearVariable(xlsSheets);
               end;
             Except
               NoError=False;
               xlsBook.Close(False); -- закрыть книгу без сохранения
             end;
           Finally
             xlsBook.Close(True, xlNameFile);
             ClearVariable(xlsBook); -- освободить объект книги
           end;
         Finally
           ClearVariable(xlsBooks); -- освободить объект книг
         end;
       Finally
         ClearVariable(xlsApp); -- освободить объект Excel
         CloseProgress;
       end;
     Except
       NoError=False;
       ClearVariable(xlsRng);
       ClearVariable(xlsSheet);
       ClearVariable(xlsSheets);
       ClearVariable(xlsBook);
       ClearVariable(xlsBooks);
       ClearVariable(xlsApp);
     end;
   fi; --Формирование шапки
   -- Основная таблица 1 раздел
   len=М1;
   if NoError:
     if len>0:
       ShowProgress(len, "Формируем 1 раздел таблицы...");
       Try
         Iter=0;
         IterCount=0;
         IterSave=1;
         ExportWork=True;
         while ExportWork do
           if NoError:
             xlsApp=CreateAutoObject('Excel.Application');
             Try
               Try
                 xlsApp.EnableEvents=False;   -- отключить события
                 xlsApp.AutomationSecurity=3; -- отключить макросы
                 xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
                 Try
                   xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
                   Try
                     Try
                       xlsSheet=AsAutoObject(xlsBook.Worksheets["127_1_раздел"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С020М1[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, SГ2С020М1[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С020М1[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ4С020М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04, RГ4С020М1[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ5С020М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05, RГ5С020М1[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ6С020М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06, RГ6С020М1[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ7С020М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07, RГ7С020М1[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ8С020М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08, RГ8С020М1[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ9С020М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09, RГ9С020М1[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           if ii=len:
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           fi;
                           --
                           IterCount=IterCount+1;
                           if IterCount>=maxIterCount: IterSave=IterSave+IterCount; IterCount=0; Break; fi;
                         od;
                         --
                         xx=xx+1; ProgressPos(xx);
                         xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                         Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                         --
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     xlsBook.Save;
                     xlsBook.Close(False); -- закрыть книгу без сохранения
                     ClearVariable(xlsBook); -- освободить объект книги
                   end;
                 Finally
                   ClearVariable(xlsBooks); -- освободить объект книг
                 end;
               Finally
                 ClearVariable(xlsApp); -- освободить объект Excel
               end;
             Except
               NoError=False;
               ExportWork=False;
               ClearVariable(xlsRng);
               ClearVariable(xlsSheet);
               ClearVariable(xlsSheets);
               ClearVariable(xlsBook);
               ClearVariable(xlsBooks);
               ClearVariable(xlsApp);
             end;
             if ii>=len: ExportWork=False; fi;
           else
             ExportWork=False;
           fi;
         end; -- while
       Finally
         CloseProgress;
       end;
     else -- если данных нет рисуем пустую строчку
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               Try
                 xlsSheet=AsAutoObject(xlsBook.Worksheets["127_1_раздел"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   --
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 1, offsetRow, 9, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 2, offsetRow, 9,  True, False,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Except
                 NoError=False;
                 xlsBook.Close(False); -- закрыть книгу без сохранения
               end;
             Finally
               xlsBook.Save;
               xlsBook.Close(False); -- закрыть книгу без сохранения
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp); -- освободить объект Excel
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; -- Основная таблица 1 раздел
   -- Титул 2 раздел
   if NoError:
     xlsApp=CreateAutoObject('Excel.Application');
     Try
       Try
         xlsApp.EnableEvents=False;   -- отключить события
         xlsApp.AutomationSecurity=3; -- отключить макросы
         xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
         Try
           xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
           Try
             Try
               xlsSheets=AsAutoObject(xlsBook.Sheets);
               Try
                 kol=kol+1;
                 xlsSheet=AsAutoObject(xlsBook.Worksheets[kol]);
                 Try
                   xlsSheet.Name = "127_2_раздел";
                   xx=0;
                   offsetRow=0;
                   ShowProgress(26, "Формируем титул 2 раздела...");
                   -- Устанавливаем ширину колонок
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 01, 24.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 02, 04.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 03, 20.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 04, 10.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 05, 11.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 06, 10.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 07, 10.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 08, 10.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 09, 11.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 10, 10.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 11, 11.0);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.PrintSetup_ЧБ_Поля10(xlsApp, xlsSheet, False, 0, 0, 0, 0, True, False, True, 100);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Форма 0503127 с. 2");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 01, offsetRow, 11, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "2. Расходы бюджета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование показателя");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+1, 01);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Код строки");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 02);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "Код расхода"+Chr(10)+"по бюджетной"+Chr(10)+"классификации");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow+1, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "Утвержденные"+Chr(10)+"бюджетные"+Chr(10)+"назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow+1, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "Лимиты"+Chr(10)+"бюджетных"+Chr(10)+"обязательств");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow+1, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "Исполнено");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "Неисполненные назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "через финансовые органы");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "через банковские счета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "некассовые операции");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "итого");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по"+Chr(10)+"ассигно-"+Chr(10)+"ваниям");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "по лимитам"+Chr(10)+"бюджетных"+Chr(10)+"обязательств");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "1");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "2");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "3");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "4");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "5");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "6");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "7");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "8");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "9");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "10");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "11");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 1, offsetRow, 11, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Расходы бюджета - всего");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "020");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ4С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ5С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ7С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ9С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ10С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 10, RГ10С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if RГ11С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 11, RГ11С200, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "в том числе:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-4, 1, offsetRow, 11, False, True, False, True, True, True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 2, offsetRow, 11, True,  True,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   xx=xx+1; ProgressPos(xx);
                   --
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Finally
                 ClearVariable(xlsSheets);
               end;
             Except
               NoError=False;
               xlsBook.Close(False); -- закрыть книгу без сохранения
             end;
           Finally
             xlsBook.Save;
             xlsBook.Close(False); -- закрыть книгу без сохранения
             ClearVariable(xlsBook); -- освободить объект книги
           end;
         Finally
           ClearVariable(xlsBooks); -- освободить объект книг
         end;
       Finally
         ClearVariable(xlsApp); -- освободить объект Excel
         CloseProgress;
       end;
     Except
       NoError=False;
       ClearVariable(xlsRng);
       ClearVariable(xlsSheet);
       ClearVariable(xlsSheets);
       ClearVariable(xlsBook);
       ClearVariable(xlsBooks);
       ClearVariable(xlsApp);
     end;
   fi; -- Титул 2 раздел
   -- Основная таблица 2 раздел
   len=М2;
   if NoError:
     if len>0:
       ShowProgress(len+1, "Формируем 2 раздел таблицы...");
       Try
         Iter=0;
         IterCount=0;
         IterSave=1;
         ExportWork=True;
         while ExportWork do
           if NoError:
             xlsApp=CreateAutoObject('Excel.Application');
             Try
               Try
                 xlsApp.EnableEvents=False;   -- отключить события
                 xlsApp.AutomationSecurity=3; -- отключить макросы
                 xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
                 Try
                   xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
                   Try
                     Try
                       xlsSheet=AsAutoObject(xlsBook.Worksheets["127_2_раздел"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С210М2[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, SГ2С210М2[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С210М2[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ4С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ5С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ6С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ7С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ8С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ9С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ10С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 10, RГ10С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ11С210М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 11, RГ11С210М2[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 11, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 11,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           if ii=len:
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Результат исполнения бюджета"+Chr(10)+"(дефицит / профицит)");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "450");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ6С450<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С450, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ7С450<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С450, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ8С450<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С450, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ9С450<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С450, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 11, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 11,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           fi;
                           --
                           IterCount=IterCount+1;
                           if IterCount>=maxIterCount: IterSave=IterSave+IterCount; IterCount=0; Break; fi;
                         od;
                         --
                         xx=xx+1; ProgressPos(xx);
                         xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                         Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                         --
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     xlsBook.Save;
                     xlsBook.Close(False); -- закрыть книгу без сохранения
                     ClearVariable(xlsBook); -- освободить объект книги
                   end;
                 Finally
                   ClearVariable(xlsBooks); -- освободить объект книг
                 end;
               Finally
                 ClearVariable(xlsApp); -- освободить объект Excel
               end;
             Except
               NoError=False;
               ExportWork=False;
               ClearVariable(xlsRng);
               ClearVariable(xlsSheet);
               ClearVariable(xlsSheets);
               ClearVariable(xlsBook);
               ClearVariable(xlsBooks);
               ClearVariable(xlsApp);
             end;
             if ii>=len: ExportWork=False; fi;
           else
             ExportWork=False;
           fi;
         end; -- while
       Finally
         CloseProgress;
       end;
     else -- если данных нет рисуем пустую строчку
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               Try
                 xlsSheet=AsAutoObject(xlsBook.Worksheets["127_2_раздел"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   --
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Результат исполнения бюджета"+Chr(10)+"(дефицит / профицит)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "450");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 11, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 11,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Except
                 NoError=False;
                 xlsBook.Close(False); -- закрыть книгу без сохранения
               end;
             Finally
               xlsBook.Save;
               xlsBook.Close(False); -- закрыть книгу без сохранения
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp); -- освободить объект Excel
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; -- Основная таблица 2 раздел
   -- Титул 3 раздел
   if NoError:
     xlsApp=CreateAutoObject('Excel.Application');
     Try
       Try
         xlsApp.EnableEvents=False;   -- отключить события
         xlsApp.AutomationSecurity=3; -- отключить макросы
         xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
         Try
           xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
           Try
             Try
               xlsSheets=AsAutoObject(xlsBook.Sheets);
               Try
                 kol=kol+1;
                 xlsSheet=AsAutoObject(xlsBook.Worksheets[kol]);
                 Try
                   xlsSheet.Name = "127_3_раздел";
                   xx=0;
                   offsetRow=0;
                   ShowProgress(14, "Формируем титул 3 раздела...");
                   -- Устанавливаем ширину колонок
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 01, 35.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 02, 04.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 03, 21.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 04, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 05, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 06, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 07, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 08, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 09, 12.0);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.PrintSetup_ЧБ_Поля10(xlsApp, xlsSheet, False, 0, 0, 0, 0, True, False, True, 100);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Форма 0503127 с. 3");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "3. Источники финансирования дефицита бюджетов");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование показателя");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+1, 01);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Код строки");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 02);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "Код источника"+Chr(10)+"финансирования"+Chr(10)+"по бюджетной"+Chr(10)+"классификации");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow+1, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "Утвержденные"+Chr(10)+"бюджетные"+Chr(10)+"назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow+1, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "Исполнено");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "Неисполненные назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 09, offsetRow+1, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "через финансовые органы");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "через банковские счета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "некассовые операции");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "итого");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "1");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "2");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "3");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "4");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "5");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "6");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "7");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "8");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "9");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 1, offsetRow, 09, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Источники финансирования дефицита бюджетов - всего");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "500");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ4С500<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С500, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ5С500<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С500, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С500<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С500, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ7С500<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С500, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С500<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С500, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ9С500<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С500, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "в том числе:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "источники внутреннего финансирования бюджета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "520");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ4С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С520, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ5С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С520, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С520, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ7С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С520, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С520, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ9С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С520, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "из них:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-6, 1, offsetRow, 09, False, True, False, True, True, True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-3, 2, offsetRow, 09, True,  True,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   --
                   xx=xx+1; ProgressPos(xx);
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Finally
                 ClearVariable(xlsSheets);
               end;
             Except
               NoError=False;
               xlsBook.Close(False); -- закрыть книгу без сохранения
             end;
           Finally
             xlsBook.Save;
             xlsBook.Close(False); -- закрыть книгу без сохранения
             ClearVariable(xlsBook); -- освободить объект книги
           end;
         Finally
           ClearVariable(xlsBooks); -- освободить объект книг
         end;
       Finally
         ClearVariable(xlsApp); -- освободить объект Excel
         CloseProgress;
       end;
     Except
       NoError=False;
       ClearVariable(xlsRng);
       ClearVariable(xlsSheet);
       ClearVariable(xlsSheets);
       ClearVariable(xlsBook);
       ClearVariable(xlsBooks);
       ClearVariable(xlsApp);
     end;
   fi; -- Титул 3 раздел
   -- Основная таблица 3 раздел 1
   len=М3;
   if NoError:
     if len>0:
       ShowProgress(len+2, "Формируем 3 раздел таблицы (1)...");
       Try
         Iter=0;
         IterCount=0;
         IterSave=1;
         ExportWork=True;
         while ExportWork do
           if NoError:
             xlsApp=CreateAutoObject('Excel.Application');
             Try
               Try
                 xlsApp.EnableEvents=False;   -- отключить события
                 xlsApp.AutomationSecurity=3; -- отключить макросы
                 xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
                 Try
                   xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
                   Try
                     Try
                       xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С520М3[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, SГ2С520М3[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С520М3[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ4С520М3[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С520М3[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ5С520М3[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С520М3[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ6С520М3[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С520М3[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ7С520М3[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С520М3[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ8С520М3[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С520М3[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ9С520М3[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С520М3[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           if ii=len:
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "источники внешнего финансирования бюджета");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "620");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ4С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С520, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ5С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С520, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ6С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С520, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ7С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С520, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ8С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С520, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ9С520<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С520, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "из них:");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             xx=xx+1; ProgressPos(xx);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           fi;
                           --
                           IterCount=IterCount+1;
                           if IterCount>=maxIterCount: IterSave=IterSave+IterCount; IterCount=0; Break; fi;
                         od;
                         --
                         xx=xx+1; ProgressPos(xx);
                         xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                         Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                         --
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     xlsBook.Save;
                     xlsBook.Close(False); -- закрыть книгу без сохранения
                     ClearVariable(xlsBook); -- освободить объект книги
                   end;
                 Finally
                   ClearVariable(xlsBooks); -- освободить объект книг
                 end;
               Finally
                 ClearVariable(xlsApp); -- освободить объект Excel
               end;
             Except
               NoError=False;
               ExportWork=False;
               ClearVariable(xlsRng);
               ClearVariable(xlsSheet);
               ClearVariable(xlsSheets);
               ClearVariable(xlsBook);
               ClearVariable(xlsBooks);
               ClearVariable(xlsApp);
             end;
             if ii>=len: ExportWork=False; fi;
           else
             ExportWork=False;
           fi;
         end; -- while
       Finally
         CloseProgress;
       end;
     else -- если данных нет рисуем пустую строчку
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               Try
                 xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   --
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "источники внешнего финансирования бюджета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "620");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "из них:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-2, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-2, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Except
                 NoError=False;
                 xlsBook.Close(False); -- закрыть книгу без сохранения
               end;
             Finally
               xlsBook.Save;
               xlsBook.Close(False); -- закрыть книгу без сохранения
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp); -- освободить объект Excel
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; -- Основная таблица 3 раздел 1
   -- Основная таблица 3 раздел 2
   len=М4;
   if NoError:
     if len>0:
       ShowProgress(len+2, "Формируем 3 раздел таблицы (2)...");
       Try
         Iter=0;
         IterCount=0;
         IterSave=1;
         ExportWork=True;
         while ExportWork do
           if NoError:
             xlsApp=CreateAutoObject('Excel.Application');
             Try
               Try
                 xlsApp.EnableEvents=False;   -- отключить события
                 xlsApp.AutomationSecurity=3; -- отключить макросы
                 xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
                 Try
                   xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
                   Try
                     Try
                       xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С620М4[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, SГ2С620М4[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С620М4[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ4С620М4[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С620М4[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ5С620М4[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С620М4[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ6С620М4[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С620М4[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ7С620М4[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С620М4[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ8С620М4[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С620М4[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ9С620М4[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С620М4[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           if ii=len:
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Изменение остатков средств");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "700");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С700);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ4С700<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С700, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ6С700<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С700, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ7С700<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С700, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ8С700<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С700, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ9С700<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С700, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "увеличение остатков средств, всего");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "710");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С710);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ4С710<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С710, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ6С710<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С710, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ7С710<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С710, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ8С710<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С710, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             xx=xx+1; ProgressPos(xx);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           fi;
                           --
                           IterCount=IterCount+1;
                           if IterCount>=maxIterCount: IterSave=IterSave+IterCount; IterCount=0; Break; fi;
                         od;
                         --
                         xx=xx+1; ProgressPos(xx);
                         xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                         Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                         --
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     xlsBook.Save;
                     xlsBook.Close(False); -- закрыть книгу без сохранения
                     ClearVariable(xlsBook); -- освободить объект книги
                   end;
                 Finally
                   ClearVariable(xlsBooks); -- освободить объект книг
                 end;
               Finally
                 ClearVariable(xlsApp); -- освободить объект Excel
               end;
             Except
               NoError=False;
               ExportWork=False;
               ClearVariable(xlsRng);
               ClearVariable(xlsSheet);
               ClearVariable(xlsSheets);
               ClearVariable(xlsBook);
               ClearVariable(xlsBooks);
               ClearVariable(xlsApp);
             end;
             if ii>=len: ExportWork=False; fi;
           else
             ExportWork=False;
           fi;
         end; -- while
       Finally
         CloseProgress;
       end;
     else -- если данных нет рисуем пустую строчку
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               Try
                 xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   --
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Изменение остатков средств");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "700");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "увеличение остатков средств, всего");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "710");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   --
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-2, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-2, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Except
                 NoError=False;
                 xlsBook.Close(False); -- закрыть книгу без сохранения
               end;
             Finally
               xlsBook.Save;
               xlsBook.Close(False); -- закрыть книгу без сохранения
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp); -- освободить объект Excel
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; -- Основная таблица 3 раздел 2
   -- Основная таблица 3 раздел 3
   len=М5;
   if NoError:
     if len>0:
       ShowProgress(len+1, "Формируем 3 раздел таблицы (3)...");
       Try
         Iter=0;
         IterCount=0;
         IterSave=1;
         ExportWork=True;
         while ExportWork do
           if NoError:
             xlsApp=CreateAutoObject('Excel.Application');
             Try
               Try
                 xlsApp.EnableEvents=False;   -- отключить события
                 xlsApp.AutomationSecurity=3; -- отключить макросы
                 xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
                 Try
                   xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
                   Try
                     Try
                       xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С710М5[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, SГ2С710М5[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С710М5[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ4С710М5[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С710М5[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ6С710М5[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С710М5[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ7С710М5[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С710М5[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ8С710М5[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С710М5[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           if ii=len:
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "уменьшение остатков средств, всего");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "720");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С720);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ4С720<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С720, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ6С720<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С720, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ7С720<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С720, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ8С720<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С720, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             xx=xx+1; ProgressPos(xx);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           fi;
                           --
                           IterCount=IterCount+1;
                           if IterCount>=maxIterCount: IterSave=IterSave+IterCount; IterCount=0; Break; fi;
                         od;
                         --
                         xx=xx+1; ProgressPos(xx);
                         xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                         Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                         --
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     xlsBook.Save;
                     xlsBook.Close(False); -- закрыть книгу без сохранения
                     ClearVariable(xlsBook); -- освободить объект книги
                   end;
                 Finally
                   ClearVariable(xlsBooks); -- освободить объект книг
                 end;
               Finally
                 ClearVariable(xlsApp); -- освободить объект Excel
               end;
             Except
               NoError=False;
               ExportWork=False;
               ClearVariable(xlsRng);
               ClearVariable(xlsSheet);
               ClearVariable(xlsSheets);
               ClearVariable(xlsBook);
               ClearVariable(xlsBooks);
               ClearVariable(xlsApp);
             end;
             if ii>=len: ExportWork=False; fi;
           else
             ExportWork=False;
           fi;
         end; -- while
       Finally
         CloseProgress;
       end;
     else -- если данных нет рисуем пустую строчку
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               Try
                 xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   --
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "уменьшение остатков средств, всего");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "720");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   --
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Except
                 NoError=False;
                 xlsBook.Close(False); -- закрыть книгу без сохранения
               end;
             Finally
               xlsBook.Save;
               xlsBook.Close(False); -- закрыть книгу без сохранения
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp); -- освободить объект Excel
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; -- Основная таблица 3 раздел 3
   -- Основная таблица 3 раздел 4
   len=М6;
   if NoError:
     if len>0:
       ShowProgress(len+1, "Формируем 3 раздел таблицы (4)...");
       Try
         Iter=0;
         IterCount=0;
         IterSave=1;
         ExportWork=True;
         while ExportWork do
           if NoError:
             xlsApp=CreateAutoObject('Excel.Application');
             Try
               Try
                 xlsApp.EnableEvents=False;   -- отключить события
                 xlsApp.AutomationSecurity=3; -- отключить макросы
                 xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
                 Try
                   xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
                   Try
                     Try
                       xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С720М6[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, SГ2С720М6[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, SГ3С720М6[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ4С720М6[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С720М6[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ6С720М6[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С720М6[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ7С720М6[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С720М6[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if  RГ8С720М6[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С720М6[ii], localDS, localTS); fi;
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           if ii=len:
                             xx=xx+1; ProgressPos(xx);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Изменение остатков в расчетах (стр.810+820)");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "800");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             if  RГ5С800<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С800, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ6С800<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С800, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ7С800<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С800, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             if  RГ8С800<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С800, localDS, localTS); fi;
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             xx=xx+1; ProgressPos(xx);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           fi;
                           --
                           IterCount=IterCount+1;
                           if IterCount>=maxIterCount: IterSave=IterSave+IterCount; IterCount=0; Break; fi;
                         od;
                         --
                         xx=xx+1; ProgressPos(xx);
                         xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                         Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                         --
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     xlsBook.Save;
                     xlsBook.Close(False); -- закрыть книгу без сохранения
                     ClearVariable(xlsBook); -- освободить объект книги
                   end;
                 Finally
                   ClearVariable(xlsBooks); -- освободить объект книг
                 end;
               Finally
                 ClearVariable(xlsApp); -- освободить объект Excel
               end;
             Except
               NoError=False;
               ExportWork=False;
               ClearVariable(xlsRng);
               ClearVariable(xlsSheet);
               ClearVariable(xlsSheets);
               ClearVariable(xlsBook);
               ClearVariable(xlsBooks);
               ClearVariable(xlsApp);
             end;
             if ii>=len: ExportWork=False; fi;
           else
             ExportWork=False;
           fi;
         end; -- while
       Finally
         CloseProgress;
       end;
     else -- если данных нет рисуем пустую строчку
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               Try
                 xlsSheet=AsAutoObject(xlsBook.Worksheets["127_3_раздел"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   3,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   --
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Изменение остатков в расчетах (стр.810+820)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "800");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   --
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 01, offsetRow, 09, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-1, 02, offsetRow, 09,  True, False,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   --
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Except
                 NoError=False;
                 xlsBook.Close(False); -- закрыть книгу без сохранения
               end;
             Finally
               xlsBook.Save;
               xlsBook.Close(False); -- закрыть книгу без сохранения
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp); -- освободить объект Excel
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; -- Основная таблица 3 раздел 4
   --Заключительный этап
   --4 страница (3 раздел)
   if NoError:
     xlsApp=CreateAutoObject('Excel.Application');
     Try
       Try
         xlsApp.EnableEvents=False;   -- отключить события
         xlsApp.AutomationSecurity=3; -- отключить макросы
         xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
         Try
           xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
           Try
             Try
               xlsSheets=AsAutoObject(xlsBook.Sheets);
               Try
                 kol=kol+1;
                 xlsSheet=AsAutoObject(xlsBook.Worksheets[kol]);
                 Try
                   xlsSheet.Name = "127_4_раздел";
                   xx=0;
                   offsetRow=0;
                   ShowProgress(27, "Заключительный этап... ");
                   -- Устанавливаем ширину колонок
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 01, 35.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 02, 04.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 03, 21.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 04, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 05, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 06, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 07, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 08, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 09, 12.0);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.PrintSetup_ЧБ_Поля10(xlsApp, xlsSheet, False, 0, 0, 0, 0, True, False, True, 100);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Форма 0503127 с. 4");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 01, offsetRow, 09, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование показателя");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+1, 01);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Код строки");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 02);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "Код источника"+Chr(10)+"финансирования"+Chr(10)+"по бюджетной"+Chr(10)+"классификации");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow+1, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "Утвержденные"+Chr(10)+"бюджетные"+Chr(10)+"назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow+1, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "Исполнено");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "Неисполненные назначения");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 09, offsetRow+1, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "через финансовые органы");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "через банковские счета");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "некассовые операции");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "итого");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "1");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "2");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "3");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "4");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "5");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "6");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "7");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "8");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "9");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 1, offsetRow, 09, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Изменение остатков по расчетам с органами, организующими исполнение бюджета (стр.811+812)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "810");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ5С810<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С810, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С810<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С810, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С810<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С810, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "из них:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "увеличение счетов расчетов (дебетовый остаток счета 121002000)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "811");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ5С811<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С811, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С811<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С811, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С811<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С811, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "уменьшение счетов расчетов (кредитовый остаток счета 130405000)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "812");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ5С812<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С812, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С812<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С812, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С812<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С812, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Изменение остатков по внутренним расчетам (стр.821+822)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "820");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С820<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С820, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ7С820<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С820, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С820<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С820, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "увеличение остатков по внутренним расчетам");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "821");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С821<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С821, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ7С821<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С821, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С821<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С821, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "уменьшение остатков по внутренним расчетам");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "822");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ6С822<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С822, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ7С822<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С822, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   if  RГ8С822<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С822, localDS, localTS); fi;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "X");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-9, 1, offsetRow, 09, False, True, False, True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-6, 2, offsetRow, 09, True,  True,  True, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   --
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+3;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Руководитель");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, ФИОРук);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 2, offsetRow, 3, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 5, offsetRow, 7, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(подпись)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 5, offsetRow, 7);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 5, offsetRow, 7, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Руководитель финансово-экономической службы");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, ФИОРукФЭО);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 2, offsetRow, 3, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 5, offsetRow, 7, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   --РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "экономической службы");
                   --РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(подпись)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 5, offsetRow, 7);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 5, offsetRow, 7, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Главный бухгалтер");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, ФИОБух);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 05, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 2, offsetRow, 3, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 5, offsetRow, 7, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(подпись)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 5, offsetRow, 7);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 5, offsetRow, 7, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, '"______"  ________________________  20______ г.');
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, True, False, 0, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Исполнитель:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, ИспДол);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, ИспФИО);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 2, offsetRow, 3, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 5, offsetRow, 5, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 7, offsetRow, 9, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(должность)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "(подпись)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 7, offsetRow, 9);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 5, offsetRow, 5, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 7, offsetRow, 9, True);
                   xx=xx+1; ProgressPos(xx);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "Телефон:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, ИспТЕЛ);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 7, offsetRow, 9, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   xx=xx+1; ProgressPos(xx);
                   xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                   Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                   xx=xx+1; ProgressPos(xx);
                   --
                   NoError=True;
                 Finally
                   ClearVariable(xlsSheet);
                 end;
               Finally
                 ClearVariable(xlsSheets);
               end;
             Except
               NoError=False;
               xlsBook.Close(False); -- закрыть книгу без сохранения
             end;
           Finally
             xlsBook.Save;
             xlsBook.Close(False); -- закрыть книгу без сохранения
             ClearVariable(xlsBook); -- освободить объект книги
           end;
         Finally
           ClearVariable(xlsBooks); -- освободить объект книг
         end;
       Finally
         ClearVariable(xlsApp); -- освободить объект Excel
         CloseProgress;
       end;
     Except
       NoError=False;
       ClearVariable(xlsRng);
       ClearVariable(xlsSheet);
       ClearVariable(xlsSheets);
       ClearVariable(xlsBook);
       ClearVariable(xlsBooks);
       ClearVariable(xlsApp);
     end;
   fi; --  4 страница (3 раздел)
   if NoError:
     len=EnqOkCancel("Экспорт завершен!^MВремя работы - "+TimeToHMSstring_adv(Time-начало, ":")+Chr(13)+"Открыть файл экспорта?", mtInformation);
     if len=cmOK:
       xlsApp=CreateAutoObject('Excel.Application');
       Try
         Try
           xlsApp.EnableEvents=False;   -- отключить события
           xlsApp.AutomationSecurity=3; -- отключить макросы
           xlsBooks=AsAutoObject(xlsApp.Workbooks); -- получить объект Workbooks
           Try
             xlsBook=AsAutoObject(xlsBooks.Open(xlNameFile));
             Try
               xlsApp.Visible=True;  -- сделать видимым Excel
             Finally
               ClearVariable(xlsBook); -- освободить объект книги
             end;
           Finally
             ClearVariable(xlsBooks); -- освободить объект книг
           end;
         Finally
           ClearVariable(xlsApp);
         end;
       Except
         ClearVariable(xlsApp);
       end;
     fi;
   fi;
 fi; --ChooseFolder
end;

proc ЭкспортXML;
var file,folder:S;
 if ChooseFolder(folder, "Выберите папку для сохранения файла экспорта...")=cmOK:
    file = folder + "ТБ_ОТЧ__001__"+Format("%.4d", Year(ToDay))+Format("%.2d", Mon(ToDay))+Format("%.2d", Day(ToDay))+"_"+TimeToHMSstring_adv(Time, "")+".xml";
   РАБ.XML.ОЧИСТИТЬ;
   --Report
   РАБ.XML.ДобАттр("Дата",DateToString(Today));
   РАБ.XML.ДобАттр("ПО_Название","Турбо Бухгалтер 6.9 (Бюджет-157Н)");
   РАБ.XML.ДобАттр("ПО_Версия",Str(Версия.Сборка0)+if(Версия.Сборка1<>0,"."+Str(Версия.Сборка1),"")+Версия.Сборка2);
   РАБ.XML.ОткрытьТэгBuf("Выгрузка",False);
   РАБ.XML.ОткрытьТэг("Контрагенты",'');
    РАБ.XML.ОткрытьТэг("Учреждение",'');
     РАБ.XML.СоздатьТэг("КОД","К.0001",False);
     РАБ.XML.СоздатьТэг("ИМЯ",Учреждение,False);
     РАБ.XML.СоздатьТэг("КБП",selfКБП,False);
    РАБ.XML.ЗакрытьТэг;
   РАБ.XML.ЗакрытьТэг;
   РАБ.XML.ОткрытьТэг("Отчетности",'');
    РАБ.XML.ОткрытьТэг("Отчетность",'');
     РАБ.XML.СоздатьТэг("КОД","О.0001",False);
     РАБ.XML.СоздатьТэг("ИМЯ","Выгрузка из бухгалтерии",False);
     РАБ.XML.СоздатьТэг("НАЧАЛОПЕРИОДА",DateToString(ДН),False);
     РАБ.XML.СоздатьТэг("КОНЕЦПЕРИОДА",DateToString(ДК),False);
    РАБ.XML.ЗакрытьТэг;
   РАБ.XML.ЗакрытьТэг;
   РАБ.XML.ОткрытьТэг("Отчеты",'');
   ФормироватьXML;
   РАБ.XML.ЗакрытьТэг;
   РАБ.XML.ЗакрытьТэг;
   РАБ.XML.ЗаписьФайла(file,"1251");
   Message("Выгрузка завершена успешно");
 fi;
end;

proc СкрГрафуДопАн(s: Logical);

if s:
   Табл2.Column(5, ColVisible, true);
   Табл2_1.Column(5, ColVisible, true);
   Табл2_2.Column(5, ColVisible, true);
   Табл2_3.Column(5, ColVisible, true);
else
   Табл2.Column(5, ColVisible, false);
   Табл2_1.Column(5, ColVisible, false);
   Табл2_2.Column(5, ColVisible, false);
   Табл2_3.Column(5, ColVisible, false);

fi;
end;

Proc btnExport_OnClick(Sender: String);
var num :Integer;
 ClearVariable(Buf);
 Buf[1]="Выгрузка в файл (формат ФК) [ + архивация]";
 Buf[2]="Выгрузка в файл (формат ФК) [только текст]";
 Buf[3]="Выгрузка в Excel";
 Buf[4]="Выгрузка для программы 'Сводная отчетность - Бюджет' (ТБ-XML)";

 num=Alternate("Выберите тип выгрузки...", Buf, -1, 1, 12);
 if num=1: Экспорт_TXT_ФК(True);
 |  num=2: Экспорт_TXT_ФК(False);
 |  num=3: Экспорт_Excel;
 |  num=4: ЭкспортXML;

 else Exit;
 fi;
end;

2--
2-- События шаблона
proc OnOpen(Create: Logical);
 Раб.Настр_Печать.Cfg("","RPO_0503127_001.cfg");
 if Учреждение="": ЗаполнитьРекв(nil); fi;
end;

Proc AfterOpen(Destroy: Logical);
 СкрГрафуДопАн(ИспДопАн);
 КонтрольВерсии;
 ЗакрытьНастр;
 ПрисвоитьТочность;
end;




Func ДопСпр_OnEnter(FieldName: String; Iter: Integer): logical;
  var tmpE:S;
  tmpE= AnaElection("*",true,true);
  if tmpE<>'' then
     допспр=tmpE;
  fi;
  Return  false;
end;



Func Ф_OnEnter(FieldName: String; Iter: Integer): logical;
  var tmp:l;
    tmp=GetVariableL(FieldName);
    tmp= not tmp;
    PutVariableL(Fieldname, tmp);
    ИспДопАн = tmp;
    СкрГрафуДопАн(ИспДопАн);
   -- Настр(True);
  Return  False;
end;





Func RГ12С210М2_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;

 var tmpE:string;
 tmpE= AnaElection(ДопСпр+"*");
    if tmpE<>'' then
       cur=substr(tmpE,Length(ДопСпр)+2,255);
    fi;
  Return cur;

end;


Конец
