БЛАНКСШАБЛОНОМ [20.01.2005] "ф.0503110 Справка по заключению счетов бюджетного учета отчетного финансового года";

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

var ПоУмолчНастр:S="Настройка по умолчанию";
var ЗакрНастр:S="Закрыть настройку";
var Фокус:S="";

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

ТипНастрCur :Integer=[0];
var ТипНастрOld :Integer;

var flgСубИтоги :L=[True];
var flgСубИтоги_:L=flgСубИтоги;
var flgКБалансу :L=[False];
var txtКБалансу :S=if(flgКБалансу, "0503154", if(ТипНастрCur=0:"0503130"|ТипНастрCur=1:"0503140"|ТипНастрCur=2:"0503120","0503154"));
var flgВвдПрил  :L=[False];

var УпрН:I;
var СписокСЧ[]:S;
var СписокФР[]:S;
var Раздел_ДК[]:L;
var Раздел_ДК_[]:S=if(Раздел_ДК[$],"Да","Нет");
var НастрФО[]:L=if(Match(СписокФР[$], "*.?.402.30.???"), True, False);

var КР_ППП  []:i;
var КР_РП   []:i;
var КР_ЦС   []:i;
var КР_ВР   []:i;
var КР_КОСГУ[]:i;

var КР_ППП_  []:s=if(КР_ППП[$]=1,"vvv","000");
var КР_РП_   []:s=if(КР_РП[$]=1,"vvvv","0000");
var КР_ЦС_   []:s=if(КР_ЦС[$]=1,"vvvvvvv","0000000");
var КР_ВР_   []:s=if(КР_ВР[$]=1,"vvv","000");
var КР_КОСГУ_[]:s=if(КР_КОСГУ[$]=1,"vvv","000");

var КД_ППП  []:i;
var КД_ГР   []:i;
var КД_ПГР  []:i;
var КД_СТ   []:i;
var КД_ЭЛ   []:i;
var КД_ПРГ  []:i;
var КД_КОСГУ[]:i;

var КД_ППП_  []:s=if(КД_ППП[$]=1,"vvv","000");
var КД_ГР_   []:s=if(КД_ГР[$]=1,"v","0");
var КД_ПГР_  []:s=if(КД_ПГР[$]=1,"vv","00");
var КД_СТ_   []:s=if(КД_СТ[$]=1,"vvvvv","00000");
var КД_ЭЛ_   []:s=if(КД_ЭЛ[$]=1,"vv","00");
var КД_ПРГ_  []:s=if(КД_ПРГ[$]=1,"vvvv","0000");
var КД_КОСГУ_[]:s=if(КД_КОСГУ[$]=1,"vvv","000");

var КИФД_ППП  []:i;
var КИФД_ГР   []:i;
var КИФД_ПГР  []:i;
var КИФД_СТ   []:i;
var КИФД_ПСТ  []:i;
var КИФД_ЭЛ   []:i;
var КИФД_ПРГ  []:i;
var КИФД_КОСГУ[]:i;

var КИФД_ППП_  []:s=if(КИФД_ППП[$]=1,"vvv","000");
var КИФД_ГР_   []:s=if(КИФД_ГР[$]=1,"vv","00");
var КИФД_ПГР_  []:s=if(КИФД_ПГР[$]=1,"vv","00");
var КИФД_СТ_   []:s=if(КИФД_СТ[$]=1,"vv","00");
var КИФД_ПСТ_  []:s=if(КИФД_ПСТ[$]=1,"vv","00");
var КИФД_ЭЛ_   []:s=if(КИФД_ЭЛ[$]=1,"vv","00");
var КИФД_ПРГ_  []:s=if(КИФД_ПРГ[$]=1,"vvvv","0000");
var КИФД_КОСГУ_[]:s=if(КИФД_КОСГУ[$]=1,"vvv","000");

var ДН:D=РАБ.ПАРАМ_ОТЧ.ДН;
var ДК:D=РАБ.ПАРАМ_ОТЧ.ДК;

Учреждение:S;
ОКПО:S;
ГлаваБК:S;
ОКТМО:S;
НаимБюдж:S;
УЧРИНН:S;

ФИОРук:S;
ФИОБух:S;

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

ЕдИзм:I=РАБ.ПАРАМ_ОТЧ.ЕдИзм;
var ЕдИзм_:S=if(ЕдИзм=1,Показатель,if(ЕдИзм=1000,"Тыс. "+Показатель,Str(ЕдИзм)+" "+Показатель));
var ОКЕИ:S=РАБ.ПАРАМ_ОТЧ.ОКЕИ;

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

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

var ОбщУслСч:S;

М1:Integer;
SГ0С100М1[] :S;
SГ1С100М1[] :S;
SПЛЮС_ИТГ[] :L;
S_ФЛАГ_ФО[] :L;
RГ2С100М1[] :N; var RГ2С100М1_[] :N=if(SПЛЮС_ИТГ[$], RГ2С100М1[$],  0.00);
RГ3С100М1[] :N; var RГ3С100М1_[] :N=if(SПЛЮС_ИТГ[$], RГ3С100М1[$],  0.00);
RГ4С100М1[] :N; var RГ4С100М1_[] :N=if(SПЛЮС_ИТГ[$], RГ4С100М1[$],  0.00);
RГ5С100М1[] :N; var RГ5С100М1_[] :N=if(SПЛЮС_ИТГ[$], RГ5С100М1[$],  0.00);
RГ10С100М1[]:N; var RГ10С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ10С100М1[$], 0.00);
RГ11С100М1[]:N; var RГ11С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ11С100М1[$], 0.00);
RГ12С100М1[]:N; var RГ12С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ12С100М1[$], 0.00);
RГ13С100М1[]:N; var RГ13С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ13С100М1[$], 0.00);
RГ14С100М1[]:N; var RГ14С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ14С100М1[$], 0.00);
RГ15С100М1[]:N; var RГ15С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ15С100М1[$], 0.00);
RГ16С100М1[]:N; var RГ16С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ16С100М1[$], 0.00);
RГ17С100М1[]:N; var RГ17С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ17С100М1[$], 0.00);

var RГ6С100М1[]:N=if(S_ФЛАГ_ФО[$], RГ15С100М1[$], RГ11С100М1[$]); var RГ6С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ6С100М1[$], 0.00);
var RГ7С100М1[]:N=if(S_ФЛАГ_ФО[$], RГ14С100М1[$], RГ10С100М1[$]); var RГ7С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ7С100М1[$], 0.00);
var RГ8С100М1[]:N=if(S_ФЛАГ_ФО[$], RГ17С100М1[$], RГ13С100М1[$]); var RГ8С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ8С100М1[$], 0.00);
var RГ9С100М1[]:N=if(S_ФЛАГ_ФО[$], RГ16С100М1[$], RГ12С100М1[$]); var RГ9С100М1_[]:N=if(SПЛЮС_ИТГ[$], RГ9С100М1[$], 0.00);

var RОткл401[]:N=if(Abs(RГ10С100М1_[$])>0 and not Round(RГ10С100М1_[$]-RГ2С100М1_[$],Точн)=0:RГ10С100М1_[$]-RГ2С100М1_[$]
                   |Abs(RГ11С100М1_[$])>0 and not Round(RГ11С100М1_[$]-RГ3С100М1_[$],Точн)=0:RГ11С100М1_[$]-RГ3С100М1_[$]
                   |Abs(RГ12С100М1_[$])>0 and not Round(RГ12С100М1_[$]-RГ4С100М1_[$],Точн)=0:RГ12С100М1_[$]-RГ4С100М1_[$]
                   |Abs(RГ13С100М1_[$])>0 and not Round(RГ13С100М1_[$]-RГ5С100М1_[$],Точн)=0:RГ13С100М1_[$]-RГ5С100М1_[$]
                   |True:0);

var RОткл402[]:N=if(Abs(RГ14С100М1_[$])>0 and not Round(RГ14С100М1_[$]-RГ2С100М1[$],Точн)=0:RГ14С100М1_[$]-RГ2С100М1_[$]
                   |Abs(RГ15С100М1_[$])>0 and not Round(RГ15С100М1_[$]-RГ3С100М1[$],Точн)=0:RГ15С100М1_[$]-RГ3С100М1_[$]
                   |Abs(RГ16С100М1_[$])>0 and not Round(RГ16С100М1_[$]-RГ4С100М1[$],Точн)=0:RГ16С100М1_[$]-RГ4С100М1_[$]
                   |Abs(RГ17С100М1_[$])>0 and not Round(RГ17С100М1_[$]-RГ5С100М1[$],Точн)=0:RГ17С100М1_[$]-RГ5С100М1_[$]
                   |True:0);

var RГ2С100 =SumOfArray(RГ2С100М1_,М1);
var RГ3С100 =SumOfArray(RГ3С100М1_,М1);
var RГ4С100 =SumOfArray(RГ4С100М1_,М1);
var RГ5С100 =SumOfArray(RГ5С100М1_,М1);
var RГ6С100 =SumOfArray(RГ6С100М1_,М1);
var RГ7С100 =SumOfArray(RГ7С100М1_,М1);
var RГ8С100 =SumOfArray(RГ8С100М1_,М1);
var RГ9С100 =SumOfArray(RГ9С100М1_,М1);
var RГ10С100=SumOfArray(RГ10С100М1_,М1);
var RГ11С100=SumOfArray(RГ11С100М1_,М1);
var RГ12С100=SumOfArray(RГ12С100М1_,М1);
var RГ13С100=SumOfArray(RГ13С100М1_,М1);
var RГ14С100=SumOfArray(RГ14С100М1_,М1);
var RГ15С100=SumOfArray(RГ15С100М1_,М1);
var RГ16С100=SumOfArray(RГ16С100М1_,М1);
var RГ17С100=SumOfArray(RГ17С100М1_,М1);

var ИтогОткл:N=Abs(SumOfArray(RОткл401,М1))+Abs(SumOfArray(RОткл402,М1));

М2:Integer;
SГ1С200М2[]:S;
RГ2С200М2[]:N;
RГ3С200М2[]:N;
RГ4С200М2[]:N;
RГ5С200М2[]:N;
RГ6С200М2[]:N;
RГ7С200М2[]:N;

var RГ2С200 =SumOfArray(RГ2С200М2,М2);
var RГ3С200 =SumOfArray(RГ3С200М2,М2);
var RГ4С200 =SumOfArray(RГ4С200М2,М2);
var RГ5С200 =SumOfArray(RГ5С200М2,М2);
var RГ6С200 =SumOfArray(RГ6С200М2,М2);
var RГ7С200 =SumOfArray(RГ7С200М2,М2);

var Buf[]          :S;
var BufKey[]       :S;
var BufИтг[]       :L;
var Buf_ФО[]       :L;
var BufОстБС_Д[]   :N;
var BufОстБС_К[]   :N;
var BufСумБС_Д[]   :N;
var BufСумБС_К[]   :N;
var BufОстВБС_Д[]  :N;
var BufОстВБС_К[]  :N;
var BufСумВБС_Д[]  :N;
var BufСумВБС_К[]  :N;
var BufРаздел_ДК[] :L;

Н1: Section;
Н2: Section;
Н3: Section;
Н4: Section;
Н5: Section;

S0:Section;
S1:Section;  S9:Section;
S2:Section;  S10:Section;
S3:Section;  S11:Section;
S4:Section;  S12:Section;
S5:Section;  S13:Section;
S6:Section;  S14:Section;
S7:Section;  S15:Section;
S8:Section;  S16:Section;

T1:Section;
T2:Section;
T3:Section;
T4:Section;

btnРасчет  : Object;
btnНастр   : Object;
btnПечать  : Object;
btnОчистить: Object;
btnЗакрыть : Object;
btnЗаклПр  : Object;
btnExport  : Object;
Bevel1     : Object;
rbtБУonly  : Object;
rbtФОonly  : Object;
rbtБУииФО  : Object;
cb_СубИтоги: Object;

var SelfBln:S="ОТЧЕТЫ.БАЛАНС.191Н.0503110";
var SelfCfg:S="ТББ.ОТЧЕТЫ.БАЛАНС.191Н.0503110.000.cfg";

var НастрGUID:S;
var НастрВерсия:I=130101;
var ТекущаяВерсия:I;

var ОтчGUID:S;

2--Процедуры и функции-----

Proc НастрУмолч;

 ТекущаяВерсия=НастрВерсия;

 ClearVariable(УпрН);
 ClearVariable(НастрФО);
 ClearVariable(СписокСЧ);
 ClearVariable(СписокФР);
 ClearVariable(Раздел_ДК);
 ClearVariable(КР_ППП);
 ClearVariable(КР_РП);
 ClearVariable(КР_ЦС);
 ClearVariable(КР_ВР);
 ClearVariable(КР_КОСГУ);
 ClearVariable(КД_ППП);
 ClearVariable(КД_ГР);
 ClearVariable(КД_ПГР);
 ClearVariable(КД_СТ);
 ClearVariable(КД_ЭЛ);
 ClearVariable(КД_ПРГ);
 ClearVariable(КД_КОСГУ);
 ClearVariable(КИФД_ППП);
 ClearVariable(КИФД_ГР);
 ClearVariable(КИФД_ПГР);
 ClearVariable(КИФД_СТ);
 ClearVariable(КИФД_ПСТ);
 ClearVariable(КИФД_ЭЛ);
 ClearVariable(КИФД_ПРГ);
 ClearVariable(КИФД_КОСГУ);

 flgКБалансу = False;
 flgСубИтоги = True;
 flgВвдПрил  = False;

 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.210.02.???"; СписокФР[УпрН]="*.?.401.30.000";
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.304.04.???"; СписокФР[УпрН]="*.?.401.30.000"; Раздел_ДК[УпрН]=True;
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.1.304.05.???"; СписокФР[УпрН]="*.1.401.30.000";
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.304.06.???"; СписокФР[УпрН]="*.?.401.30.000"; Раздел_ДК[УпрН]=True;
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.401.10.???"; СписокФР[УпрН]="*.?.401.30.000";   КР_РП[УпрН]=1; КР_КОСГУ[УпрН]=1;
                                                                                               КД_ГР[УпрН]=1;   КД_ПГР[УпрН]=1;   КД_СТ[УпрН]=1;    КД_ЭЛ[УпрН]=1; КД_КОСГУ[УпрН]=1;
                                                                                             КИФД_ГР[УпрН]=1; КИФД_ПГР[УпрН]=1; КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1;  КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1; КИФД_ЭЛ[УпрН]=1; КИФД_КОСГУ[УпрН]=1;
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.401.20.???"; СписокФР[УпрН]="*.?.401.30.000";   КР_РП[УпрН]=1; КР_КОСГУ[УпрН]=1;
                                                                                               КД_ГР[УпрН]=1;   КД_ПГР[УпрН]=1;   КД_СТ[УпрН]=1;    КД_ЭЛ[УпрН]=1; КД_КОСГУ[УпрН]=1;
                                                                                             КИФД_ГР[УпрН]=1; КИФД_ПГР[УпрН]=1; КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1;  КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1; КИФД_ЭЛ[УпрН]=1; КИФД_КОСГУ[УпрН]=1;
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.211.00.???"; СписокФР[УпрН]="*.?.402.30.000";
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.212.00.???"; СписокФР[УпрН]="*.?.402.30.000";
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.308.00.???"; СписокФР[УпрН]="*.?.402.30.000";
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.309.00.???"; СписокФР[УпрН]="*.?.402.30.000";
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.402.10.???"; СписокФР[УпрН]="*.?.402.30.000";   КР_РП[УпрН]=1; КР_КОСГУ[УпрН]=1;
                                                                                               КД_ГР[УпрН]=1;   КД_ПГР[УпрН]=1;   КД_СТ[УпрН]=1;    КД_ЭЛ[УпрН]=1; КД_КОСГУ[УпрН]=1;
                                                                                             КИФД_ГР[УпрН]=1; КИФД_ПГР[УпрН]=1; КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1;  КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1; КИФД_ЭЛ[УпрН]=1; КИФД_КОСГУ[УпрН]=1;
 InsertFrame(УпрН,УпрН+1); СписокСЧ[УпрН]="*.?.402.20.???"; СписокФР[УпрН]="*.?.402.30.000";   КР_РП[УпрН]=1; КР_КОСГУ[УпрН]=1;
                                                                                               КД_ГР[УпрН]=1;   КД_ПГР[УпрН]=1;   КД_СТ[УпрН]=1;    КД_ЭЛ[УпрН]=1; КД_КОСГУ[УпрН]=1;
                                                                                             КИФД_ГР[УпрН]=1; КИФД_ПГР[УпрН]=1; КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1;  КИФД_СТ[УпрН]=1; КИФД_ПСТ[УпрН]=1; КИФД_ЭЛ[УпрН]=1; КИФД_КОСГУ[УпрН]=1;
end;

Proc Настр(aСохр:L);
var Iter:i;
var Val:S;
 if НастрGUID="" or aСохр: НастрGUID=GetGUID; fi;
 if Раб.Настр.Начать(SelfBln,0,НастрВерсия,"",НастрGUID):
    Раб.Настр.Добавить("ТекущаяВерсия","I");
    Раб.Настр.Добавить("flgКБалансу","L");
    Раб.Настр.Добавить("flgСубИтоги","L");
    Раб.Настр.Добавить("flgВвдПрил","L");
    Раб.Настр.Добавить("УпрН"+Val,"I");
    for Iter=1..УпрН do
     val="["+Str(Iter)+"]";
     Раб.Настр.Добавить("СписокСЧ"+Val,"S");
     Раб.Настр.Добавить("СписокФР"+Val,"S");
     Раб.Настр.Добавить("Раздел_ДК"+Val,"L");
     Раб.Настр.Добавить("КР_ППП"+Val,"I");
     Раб.Настр.Добавить("КР_РП"+Val,"I");
     Раб.Настр.Добавить("КР_ЦС"+Val,"I");
     Раб.Настр.Добавить("КР_ВР"+Val,"I");
     Раб.Настр.Добавить("КР_КОСГУ"+Val,"I");
     Раб.Настр.Добавить("КД_ППП"+Val,"I");
     Раб.Настр.Добавить("КД_ГР"+Val,"I");
     Раб.Настр.Добавить("КД_ПГР"+Val,"I");
     Раб.Настр.Добавить("КД_СТ"+Val,"I");
     Раб.Настр.Добавить("КД_ЭЛ"+Val,"I");
     Раб.Настр.Добавить("КД_ПРГ"+Val,"I");
     Раб.Настр.Добавить("КД_КОСГУ"+Val,"I");
     Раб.Настр.Добавить("КИФД_ППП"+Val,"I");
     Раб.Настр.Добавить("КИФД_ГР"+Val,"I");
     Раб.Настр.Добавить("КИФД_ПГР"+Val,"I");
     Раб.Настр.Добавить("КИФД_СТ"+Val,"I");
     Раб.Настр.Добавить("КИФД_ПСТ"+Val,"I");
     Раб.Настр.Добавить("КИФД_ЭЛ"+Val,"I");
     Раб.Настр.Добавить("КИФД_ПРГ"+Val,"I");
     Раб.Настр.Добавить("КИФД_КОСГУ"+Val,"I");
    od;
    if aСохр:
       Раб.Настр.Сохранить;
      else
       НастрGUID=Раб.Настр.Загрузить("","");
       if НастрGUID="":
          НастрУмолч;
       fi;
    fi;
 fi;
end;

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

Proc ОткрНастр(Flag:L);
var Obj: Object;
var ii, len :Integer;

  btnЗакрыть.Visible=not Flag;
 btnОчистить.Visible=not Flag;
   btnПечать.Visible=not Flag;
   btnРасчет.Visible=not Flag;
   btnExport.Visible=not Flag;

    btnНастр.Visible=not Flag;
   btnЗаклПр.Visible=not Flag;

      Bevel1.Visible=not Flag;
   rbtБУonly.Visible=not Flag;
   rbtФОonly.Visible=not Flag;
   rbtБУииФО.Visible=not Flag;

   cb_СубИтоги.Visible=not Flag;

 for ii=1 to 05 do if FindObject("Н"+Str(ii), Obj): Obj.Visible =     Flag; fi; od;
 for ii=1 to 04 do if FindObject("T"+Str(ii), Obj): Obj.Visible = not Flag; fi; od;
 for ii=1 to 16 do if FindObject("S"+Str(ii), Obj): Obj.Visible = not Flag; fi; od;

 if Flag: S0.Visible = False; else S0.Visible = flgВвдПрил; fi;

 if Flag: Template.Field="flgСубИтоги"; else Template.Field="Фокус"; fi;

 len=if(flgСубИтоги, 330, 530);
 S13.Column(1, ColVisible, flgСубИтоги);
 S13.Column(2, ColWidth,   len);
  T1.Column(1, ColVisible, flgСубИтоги);
  T1.Column(2, ColWidth,   len);
  T1.Cell(1, 2, CellBorder, if(flgСубИтоги, "0,1,1,1", "2,1,1,1"));
  T2.Column(1, ColVisible, flgСубИтоги);
  T2.Column(2, ColWidth,   len);

end;

Proc УдалитьПустыеНастр;
var Iter:i;
 Iter=1; 
  While Iter<=УпрН do 
   if СписокСЧ[Iter]="": DeleteFrame(УпрН,Iter); else Iter=Iter+1; fi;
  od;
end;

Proc ПрисвоитьТочность;
var cf:S;
var s,c,cc:i;
var Obj: Object;
 cf=",##0."+if(Точн<1,"",RepStr("0",Точн))+";;-";
 for s=1..4 do
  if FindObject("T"+Str(s),Obj):
     cc=AsInteger(Obj.ColsCount);
     for c=2..cc do
      if Match(AsString(Obj.Cell(1,c,CellContents,"",False)),"R*"): Obj.Cell(1,c,CellFormat,cf); fi;
     od;
  fi;
 od;
end;

Proc Очистить;
 ClearVariable(М1);
 ClearVariable(SПЛЮС_ИТГ);
 ClearVariable(S_ФЛАГ_ФО);
 ClearVariable(SГ0С100М1);
 ClearVariable(SГ1С100М1);
 ClearVariable(RГ2С100М1);     ClearVariable(RГ2С100М1_);
 ClearVariable(RГ3С100М1);     ClearVariable(RГ3С100М1_);
 ClearVariable(RГ4С100М1);     ClearVariable(RГ4С100М1_);
 ClearVariable(RГ5С100М1);     ClearVariable(RГ5С100М1_);
 ClearVariable(RГ10С100М1);    ClearVariable(RГ10С100М1_);
 ClearVariable(RГ11С100М1);    ClearVariable(RГ11С100М1_);
 ClearVariable(RГ12С100М1);    ClearVariable(RГ12С100М1_);
 ClearVariable(RГ13С100М1);    ClearVariable(RГ13С100М1_);
 ClearVariable(RГ14С100М1);    ClearVariable(RГ14С100М1_);
 ClearVariable(RГ15С100М1);    ClearVariable(RГ15С100М1_);
 ClearVariable(RГ16С100М1);    ClearVariable(RГ16С100М1_);
 ClearVariable(RГ17С100М1);    ClearVariable(RГ17С100М1_);
 ClearVariable(М2);
 ClearVariable(SГ1С200М2);
 ClearVariable(RГ2С200М2);
 ClearVariable(RГ3С200М2);
 ClearVariable(RГ4С200М2);
 ClearVariable(RГ5С200М2);
end;

Func ОбработатьСчет(vСч:S; iНастр:I; Mask:S):s;
var ТипСч:S;
 ТипСч=Раб.Бюджет2005.ТипКБКСчета(vСч);
 if ТипСч="ФКР":
    vСч=if(КР_ППП[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ППП",False),if(Mask="?","???",КР_ППП_[iНастр]))+"."+
        if(КР_РП[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"РП",False),if(Mask="?","????",КР_РП_[iНастр]))+"."+
        if(КР_ЦС[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ЦС",False),if(Mask="?","???????",КР_ЦС_[iНастр]))+"."+
        if(КР_ВР[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ВР",False),if(Mask="?","???",КР_ВР_[iНастр]))+"."+
        Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"СЧ6",False)+"."+
        if(КР_КОСГУ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"КОСГУ",False),if(Mask="?","???",КР_КОСГУ_[iНастр]));
   |ТипСч="КД":
    vСч=if(КД_ППП[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ППП",False),if(Mask="?","???",КД_ППП_[iНастр]))+"."+
        if(КД_ГР[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ГР",False),if(Mask="?","?",КД_ГР_[iНастр]))+"."+
        if(КД_ПГР[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ПГР",False),if(Mask="?","??",КД_ПГР_[iНастр]))+"."+
        if(КД_СТ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"СТ",False),if(Mask="?","?????",КД_СТ_[iНастр]))+"."+
        if(КД_ЭЛ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ЭЛ",False),if(Mask="?","??",КД_ЭЛ_[iНастр]))+"."+
        if(КД_ПРГ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ПРГ",False),if(Mask="?","????",КД_ПРГ_[iНастр]))+"."+
        Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"СЧ6",False)+"."+
        if(КД_КОСГУ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"КОСГУ",False),if(Mask="?","???",КД_КОСГУ_[iНастр]));
   |ТипСч="КИФД":
    vСч=if(КИФД_ППП[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ППП",False),if(Mask="?","???",КИФД_ППП_[iНастр]))+"."+
        if(КИФД_ГР[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ГР",False),if(Mask="?","??",КИФД_ГР_[iНастр]))+"."+
        if(КИФД_ПГР[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ПГР",False),if(Mask="?","??",КИФД_ПГР_[iНастр]))+"."+
        if(КИФД_СТ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"СТ",False),if(Mask="?","??",КИФД_СТ_[iНастр]))+"."+
        if(КИФД_ПСТ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ПСТ",False),if(Mask="?","??",КИФД_ПСТ_[iНастр]))+"."+
        if(КИФД_ЭЛ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ЭЛ",False),if(Mask="?","??",КИФД_ЭЛ_[iНастр]))+"."+
        if(КИФД_ПРГ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"ПРГ",False),if(Mask="?","????",КИФД_ПРГ_[iНастр]))+"."+
        Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"СЧ6",False)+"."+
        if(КИФД_КОСГУ[iНастр]=1,Раб.Бюджет2005.ВзятьКодСчета(vСч,ТипСч,"КОСГУ",False),if(Mask="?","???",КИФД_КОСГУ_[iНастр]));
 fi;
 ^vСч;
end;

Proc РасчетЗаклСч(vУслСч:S; vУслСчЗакл:S; vУслАн:S; vВД:S; iНастр:I);
var Сч,Сч6,СчKeyД,СчKeyИ,УслСч1,УслСч2,УслАн1,УслАн2:S;
var z:I;
var Сум1_Д,Сум1_К,Сум2_Д,Сум2_К:N;
 УслАн1=Раб.Бюджет2005.Объединить(vУслАн,"~ЗГ","&");
 УслАн2=Раб.Бюджет2005.Объединить(vУслАн,"ЗГ" ,"&");
 for Account Сч=vУслСч, Sort do
  УслСч1=Раб.Бюджет2005.Объединить(Сч,УслВал,"'");
  УслСч2=Раб.Бюджет2005.Объединить(Сч,vУслСчЗакл,"/");
  УслСч2=Раб.Бюджет2005.Объединить(УслСч2,УслВал,"'");
  if ExistsTransactions(УслСч1+"{"+vУслАн+"}",1.1.100,ДК):
     Сум1_Д=Round(Turn("+"+УслСч1+"{"+УслАн1+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
     Сум1_К=Round(Turn("-"+УслСч1+"{"+УслАн1+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
     Сум2_Д=Round(Turn("+"+УслСч2+"{"+УслАн2+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
     Сум2_К=Round(Turn("-"+УслСч2+"{"+УслАн2+"}",ДН,ДК,Показатель)/ЕдИзм,Точн);
     if not Round(Сум1_Д,4)=0 or not Round(Сум1_К,4)=0 or not Round(Сум2_Д,4)=0 or not Round(Сум2_К,4)=0:
        Сч=ОбработатьСчет(Сч,iНастр,"0");
        Сч6=SubStr(Сч, Length(Сч)-11, 8)+".000";
        СчKeyД=Сч6+"#0#"+Сч;
        СчKeyИ=Сч6+"#1#";
        z=SearchInArray(BufKey,СчKeyД,True,1);
        if z=-1:
           z=InsertInArraySort(BufKey,СчKeyД);
           InsertInArray(Buf,z,Сч);
           if vВД="1":
              InsertInArray(BufОстБС_Д,z,Сум1_Д);
              InsertInArray(BufОстБС_К,z,Сум1_К);
              InsertInArray(BufСумБС_Д,z,Сум2_Д);
              InsertInArray(BufСумБС_К,z,Сум2_К);
              InsertInArray(BufОстВБС_Д,z,0);
              InsertInArray(BufОстВБС_К,z,0);
              InsertInArray(BufСумВБС_Д,z,0);
              InsertInArray(BufСумВБС_К,z,0);
             |vВД="2":
              InsertInArray(BufОстБС_Д,z,0);
              InsertInArray(BufОстБС_К,z,0);
              InsertInArray(BufСумБС_Д,z,0);
              InsertInArray(BufСумБС_К,z,0);
              InsertInArray(BufОстВБС_Д,z,Сум1_Д);
              InsertInArray(BufОстВБС_К,z,Сум1_К);
              InsertInArray(BufСумВБС_Д,z,Сум2_Д);
              InsertInArray(BufСумВБС_К,z,Сум2_К);
           fi;
           InsertInArray(BufРаздел_ДК,z,Раздел_ДК[iНастр]);
           InsertInArray(Buf_ФО,z,if(Match(vУслСчЗакл, "*.?.402.30.???"), True, False));
           InsertInArray(BufИтг,z,False);
        else
           if vВД="1":
              BufОстБС_Д[z]=BufОстБС_Д[z]+Сум1_Д;
              BufОстБС_К[z]=BufОстБС_К[z]+Сум1_К;
              BufСумБС_Д[z]=BufСумБС_Д[z]+Сум2_Д;
              BufСумБС_К[z]=BufСумБС_К[z]+Сум2_К;
             |vВД="2":
              BufОстВБС_Д[z]=BufОстВБС_Д[z]+Сум1_Д;
              BufОстВБС_К[z]=BufОстВБС_К[z]+Сум1_К;
              BufСумВБС_Д[z]=BufСумВБС_Д[z]+Сум2_Д;
              BufСумВБС_К[z]=BufСумВБС_К[z]+Сум2_К;
           fi;
        fi; --if z=-1 [SearchInArray(BufKey,СчKeyД,True,1)]
        if flgСубИтоги:
          z=SearchInArray(BufKey,СчKeyИ,True,1);
          if z=-1:
             z=InsertInArraySort(BufKey,СчKeyИ);
             InsertInArray(Buf,z,Сч6);
             if vВД="1":
                InsertInArray(BufОстБС_Д,z,Сум1_Д);
                InsertInArray(BufОстБС_К,z,Сум1_К);
                InsertInArray(BufСумБС_Д,z,Сум2_Д);
                InsertInArray(BufСумБС_К,z,Сум2_К);
                InsertInArray(BufОстВБС_Д,z,0);
                InsertInArray(BufОстВБС_К,z,0);
                InsertInArray(BufСумВБС_Д,z,0);
                InsertInArray(BufСумВБС_К,z,0);
               |vВД="2":
                InsertInArray(BufОстБС_Д,z,0);
                InsertInArray(BufОстБС_К,z,0);
                InsertInArray(BufСумБС_Д,z,0);
                InsertInArray(BufСумБС_К,z,0);
                InsertInArray(BufОстВБС_Д,z,Сум1_Д);
                InsertInArray(BufОстВБС_К,z,Сум1_К);
                InsertInArray(BufСумВБС_Д,z,Сум2_Д);
                InsertInArray(BufСумВБС_К,z,Сум2_К);
             fi;
             InsertInArray(BufРаздел_ДК,z,Раздел_ДК[iНастр]);
             InsertInArray(Buf_ФО,z,if(Match(vУслСчЗакл, "*.?.402.30.???"), True, False));
             InsertInArray(BufИтг,z,True);
          else
             if vВД="1":
                BufОстБС_Д[z]=BufОстБС_Д[z]+Сум1_Д;
                BufОстБС_К[z]=BufОстБС_К[z]+Сум1_К;
                BufСумБС_Д[z]=BufСумБС_Д[z]+Сум2_Д;
                BufСумБС_К[z]=BufСумБС_К[z]+Сум2_К;
               |vВД="2":
                BufОстВБС_Д[z]=BufОстВБС_Д[z]+Сум1_Д;
                BufОстВБС_К[z]=BufОстВБС_К[z]+Сум1_К;
                BufСумВБС_Д[z]=BufСумВБС_Д[z]+Сум2_Д;
                BufСумВБС_К[z]=BufСумВБС_К[z]+Сум2_К;
             fi;
          fi; --if z=-1 [SearchInArray(BufKey,СчKeyИ,True,1)]
        fi; -- flgСубИтоги
     fi; --if not Сум1=0 or not Сум2=0:
  fi; --if ExistsTransactions(УслСч+"{"+vУслАн+"}",1.1.100,ДК):
 od; --for Account Сч=vУслСч, Sort do
end;

Proc Расчет;
var n,nn:i;
var УслСч,УслАн:S;
var ОбщУслКД_,ОбщУслКР_,ОбщУслКИФД_:S;
var Work :L;
 Refresh;
 ClearVariable(Buf);
 ClearVariable(BufKey);
 ClearVariable(BufИтг);
 ClearVariable(Buf_ФО);
 ClearVariable(BufОстБС_Д);
 ClearVariable(BufОстБС_К);
 ClearVariable(BufСумБС_Д);
 ClearVariable(BufСумБС_К);
 ClearVariable(BufОстВБС_Д);
 ClearVariable(BufОстВБС_К);
 ClearVariable(BufСумВБС_Д);
 ClearVariable(BufСумВБС_К);
 ClearVariable(BufРаздел_ДК);
 Раб.Бюджет2005.РежимМаски="?";
 if not ОбщУслКД="": ОбщУслКД_=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КБК",False)+"."+Раб.Бюджет2005.МаскаСч6+"."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КОСГУ",False); else ОбщУслКД_=""; fi;
 if not ОбщУслКР="": ОбщУслКР_=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КБК",False)+"."+Раб.Бюджет2005.МаскаСч6+"."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КОСГУ",False); else ОбщУслКР_=""; fi;
 if not ОбщУслКИФД="": ОбщУслКИФД_=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КБК",False)+"."+Раб.Бюджет2005.МаскаСч6+"."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КОСГУ",False); else ОбщУслКИФД_=""; fi;
 ОбщУслСч=Раб.Бюджет2005.Объединить(ОбщУслКД_,ОбщУслКР_,"|");
 ОбщУслСч=Раб.Бюджет2005.Объединить(ОбщУслСч,ОбщУслКИФД_,"|");
 if not ОбщУслСч="": ОбщУслСч="("+ОбщУслСч+")"; fi;
 if not ОбщУслАн="": УслАн=УслАн+"("+ОбщУслАн+")"; fi;
 Очистить;
 nn=LengthOfArray(СписокСЧ);
 ShowProgress(nn,"Расчет...");
 Try
  for n=1..nn do
   ProgressPos(n);
   if ТипНастрCur=0 and not Match(СписокФР[n], "*.?.402.30.???"): Work=True;
   |  ТипНастрCur=1 and     Match(СписокФР[n], "*.?.402.30.???"): Work=True;
   |  ТипНастрCur=2                                             : Work=True;
   else Work=False;
   fi;
   if Work:
     УслСч=Раб.Бюджет2005.Объединить(СписокСЧ[n],ОбщУслСч,"&");
     УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслБС,"&");
     РасчетЗаклСч(УслСч,СписокФР[n],УслАн,"1",n);
     УслСч=Раб.Бюджет2005.Объединить(СписокСЧ[n],ОбщУслСч,"&");
     УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслВБС,"&");
     РасчетЗаклСч(УслСч,СписокФР[n],УслАн,"2",n);
   fi;
  od; --for n=1..nn do
  --
  nn=LengthOfArray(Buf);
  for n=1..nn do
   InsertFrame(М1,n);
   if BufИтг[n]:
     SПЛЮС_ИТГ[n]=False;
     SГ0С100М1[n]=Buf[n];
     SГ1С100М1[n]="";
   else
     SПЛЮС_ИТГ[n]=True;
     SГ0С100М1[n]="";
     SГ1С100М1[n]=Buf[n];
   fi;
   S_ФЛАГ_ФО[n]=Buf_ФО[n];
   if BufРаздел_ДК[n]:
     --Бюджет
     RГ2С100М1[n]= (BufОстБС_Д[n]);
     RГ3С100М1[n]=-(BufОстБС_К[n]);
     --Внебюджет
     RГ4С100М1[n]= (BufОстВБС_Д[n]);
     RГ5С100М1[n]=-(BufОстВБС_К[n]);
   else
     --Бюджет
     RГ2С100М1[n]=Deb(BufОстБС_Д[n]+BufОстБС_К[n]);
     RГ3С100М1[n]=Cre(BufОстБС_Д[n]+BufОстБС_К[n]);
     --Внебюджет
     RГ4С100М1[n]=Deb(BufОстВБС_Д[n]+BufОстВБС_К[n]);
     RГ5С100М1[n]=Cre(BufОстВБС_Д[n]+BufОстВБС_К[n]);
   fi;
   if Buf_ФО[n]:
     if BufРаздел_ДК[n]:
        --Бюджет
        RГ14С100М1[n]=-(BufСумБС_К[n]);
        RГ15С100М1[n]= (BufСумБС_Д[n]);
        --Внебюджет
        RГ16С100М1[n]=-(BufСумВБС_К[n]);
        RГ17С100М1[n]= (BufСумВБС_Д[n]);
     else
        --Бюджет
        RГ14С100М1[n]=Deb(-(BufСумБС_Д[n]+BufСумБС_К[n]));
        RГ15С100М1[n]=Cre(-(BufСумБС_Д[n]+BufСумБС_К[n]));
        --Внебюджет
        RГ16С100М1[n]=Deb(-(BufСумВБС_Д[n]+BufСумВБС_К[n]));
        RГ17С100М1[n]=Cre(-(BufСумВБС_Д[n]+BufСумВБС_К[n]));
     fi;
   else
     if BufРаздел_ДК[n]:
        --Бюджет
        RГ10С100М1[n]=-(BufСумБС_К[n]);
        RГ11С100М1[n]= (BufСумБС_Д[n]);
        --Внебюджет
        RГ12С100М1[n]=-(BufСумВБС_К[n]);
        RГ13С100М1[n]= (BufСумВБС_Д[n]);
     else
        --Бюджет
        RГ10С100М1[n]=Deb(-(BufСумБС_Д[n]+BufСумБС_К[n]));
        RГ11С100М1[n]=Cre(-(BufСумБС_Д[n]+BufСумБС_К[n]));
        --Внебюджет
        RГ12С100М1[n]=Deb(-(BufСумВБС_Д[n]+BufСумВБС_К[n]));
        RГ13С100М1[n]=Cre(-(BufСумВБС_Д[n]+BufСумВБС_К[n]));
     fi;
   fi;
  od; --for n=1..nn do
 Finally
  CloseProgress;
 end;
 ОтчGUID=РАБ.ПАРАМ_ОТЧ.ОтчGUID;
 Message("Расчет завершен");
 if not Round(ИтогОткл,Точн)=0:
   nn=-1; УслАн="";
   for n=1..М1 do
     if not Round(RОткл401[n],Точн)=0: nn=1; УслАн="(по счетам заключения *.?.401.30.???)"; Break;
     |  not Round(RОткл402[n],Точн)=0: nn=2; УслАн="(по счетам заключения *.?.402.30.???)"; Break;
     fi;
   od;
   Message("Обнаружены отклонение суммы заключительных записей от суммы остатков счетов.^M"+УслАн+"^MВыполните операцию заключения счетов",mtWarning);
   if nn=1: Template.Field="RОткл401";
   |  nn=2: Template.Field="RОткл402";
   fi;
   Template.Frame=n;
 fi;
end;

Func ПроверитьНастр :Logical;
var ii :Integer;
 for ii=1 to УпрН do
  if СписокСЧ[ii]="": Message("Введите заключаемый счет бюджетного учета",mtError);            ОткрНастр(True); Template.Field="СписокСЧ"; Template.Frame=ii; ^False; fi;
  if СписокФР[ii]="": Message("Введите счет финансового результата бюджетного учета",mtError); ОткрНастр(True); Template.Field="СписокФР"; Template.Frame=ii; ^False; fi;
 od;
 ^True;
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 ОбщУслБС="": Message("Выберите условие отбора бюджетных средств",mtError); Template.Field="ОбщУслБС"; Exit; fi;
 if ОбщУслВБС="": Message("Выберите условие отбора ",mtError); Template.Field="ОбщУслВБС"; Exit; fi;
 if ОбщУслСВР="": Message("Выберите условие отбора средств во временном распоряжении",mtError); Template.Field="ОбщУслСВР"; Exit; fi;
 if not ПроверитьНастр: Exit; fi;
 if Flag: Msg="Параметры отчета изменились."+Chr(13); else Msg=""; fi;
 if EnqOkCancel(Msg+"Выполнить расчет ?"+chr(13)+"Набранные вручную данные будут утеряны",mtWarning)=CmOk: Расчет; fi;
end;

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

2--Обработчики событий полей шаблона-----

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

Func ЗакрНастр_onEnter(FieldName: String; Iter: Integer): logical;
 УдалитьПустыеНастр;
 if УпрН=0:
    InsertFrame(УпрН,1);
    Message("Выполните настройку формы",mtError);
    Template.Field="СписокСЧ";
 fi;
 Настр(True);
 ОткрНастр(False);
 Очистить;
 Return False;
end;

Func A_OnEnter(FieldName: String; Iter: Integer): logical;
 InsertFrame(УпрН,Iter+1);
 Return False;
end;

Func D_OnEnter(FieldName: String; Iter: Integer): logical;
 DeleteFrame(УпрН,Iter);
 Return False;
end;

Func СписокСЧ_OnEnter(FieldName: String; Iter: Integer): logical;
var tmp:S;
 tmp=Раб.КБК.Список("","","СЧ9 ВД+? КОСГУ+? ИГ");
 if not tmp="":
    if Match(tmp,"?.???.??.?00"): tmp=SubStr(tmp,1,10)+"??";
      |Match(tmp,"?.???.??.??0"): tmp=SubStr(tmp,1,11)+"?";
    fi;
    if Match(tmp,"?."): tmp="*."+tmp+"???.??.???";
      |Match(tmp,"?.???."): tmp="*."+tmp+"??.???";
      |Match(tmp,"?.???.??."): tmp="*."+tmp+"???";
      |True: tmp="*."+tmp;
    fi;
    СписокСЧ[Iter]=tmp;
 fi;
 Return False;
end;

Func СписокФР_OnEnter(FieldName: String; Iter: Integer): logical;
var tmp:S;
 --tmp=Раб.КБК.Список("*.?.40?.30.*","","СЧ9 ВД+? КОСГУ+? ИГ");
 tmp=Раб.КБК.Список("*.?.40?.30.000","","СЧ5");
 if not tmp="": СписокФР[Iter]="*.?."+tmp+".000"; fi;
 Return False;
end;

Func Раздел_ДК_OnEnter(FieldName: String; Iter: Integer): logical;
 Раздел_ДК[Iter]=not Раздел_ДК[Iter];
 Очистить;
 Return False;
end;

Func flags_OnEnter(FieldName: String; Iter: Integer): logical;
 FieldName=SubStr(FieldName,1,Length(FieldName)-1);
 FieldName=FieldName+"["+Str(Iter)+"]";
 PutVariableI(FieldName,if(GetVariableI(FieldName)=0,1,0));
 Return False;
end;

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);
var Flag:L;
 Flag=РАБ.ПАРАМ_ОТЧ.Взять(FieldName,0);
 ОКПО=ОКПО; --Вызываем обновление перменных бланка!!!!
 if Flag or not ОтчGUID=РАБ.ПАРАМ_ОТЧ.ОтчGUID: ПрисвоитьТочность; Перерасчет(True); fi;
end;

Func Учреждение_OnEnter(FieldName: String; Iter: Integer): logical;
var Rec:Record;
 Rec=OpenCardFile('Контрагент','Наше');
 if rec=nil: ^False; fi;
 ЗаполнитьРекв(Rec);
^False;
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;
 fi;
 Return Cur ;
end;

Func SГ1С100М1_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var tmp :S;
var ii  :I;
 Template.HideEditor(False);
 for ii=1..УпрН do
  tmp=tmp+"|"+СписокСЧ[ii];
 od;
 tmp=SubStr(tmp,2,255);
 tmp=AccountElection(tmp);
 if tmp="": ^Cur; fi;
 for ii=1..УпрН do
  if Match(tmp,СписокСЧ[ii]): Break; fi;
 od;
 tmp=ОбработатьСчет(tmp,ii,"0");
 SГ1С100М1[AsInteger(Template.Frame)]=tmp;
 Return Cur;
end;

Func Расшифр_onLookUp(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var Field,УслСч,УслАн,Rpt,ОбщУслКД_,ОбщУслКР_,ОбщУслКИФД_:S;
var Iter,Гр,ii:I;
 Template.HideEditor(False);
 Field=AsString(Template.Field);
 Iter=AsInteger(Template.Frame);
 if SГ1С100М1[Iter]="": Message("Нет данных для расшифровки",mtError); Template.Field="SГ1С100М1"; ^Cur; fi;
 Гр=Int(SubStr(Field,3,2));
 if Гр=0: Гр=Int(SubStr(Field,3,1)); fi;
 if not ОбщУслКД="": ОбщУслКД_=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КБК",False)+"."+Раб.Бюджет2005.МаскаСч6+"."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКД,"КД","КОСГУ",False); else ОбщУслКД_=""; fi;
 if not ОбщУслКР="": ОбщУслКР_=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КБК",False)+"."+Раб.Бюджет2005.МаскаСч6+"."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКР,"ФКР","КОСГУ",False); else ОбщУслКР_=""; fi;
 if not ОбщУслКИФД="": ОбщУслКИФД_=Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КБК",False)+"."+Раб.Бюджет2005.МаскаСч6+"."+Раб.Бюджет2005.ВзятьКодКБК(ОбщУслКИФД,"КИФД","КОСГУ",False); else ОбщУслКИФД_=""; fi;
 ОбщУслСч=Раб.Бюджет2005.Объединить(ОбщУслКД_,ОбщУслКР_,"|");
 ОбщУслСч=Раб.Бюджет2005.Объединить(ОбщУслСч,ОбщУслКИФД_,"|");
 if not ОбщУслСч="": ОбщУслСч="("+ОбщУслСч+")"; fi;
 if not ОбщУслАн="": УслАн=УслАн+"("+ОбщУслАн+")"; fi;
 for ii=1..УпрН do
  if Match(SГ1С100М1[Iter],СписокСЧ[ii]): Break; fi;
 od;
 УслСч=ОбработатьСчет(SГ1С100М1[Iter],ii,"?");
 УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслСч,"&");
 if Гр=2 or Гр=3 or Гр=10 or Гр=11: УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслБС,"&");
   |Гр=4 or Гр=5 or Гр=12 or Гр=13: УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслВБС,"&");
 fi;
 if Гр<=5:
    УслАн=Раб.Бюджет2005.Объединить(УслАн,"~ЗГ","&");
    Rpt='"'+PlanVar("Общие")+'\Отчеты\Ф0503130.lst"."Расшифр';
    if УслВал="EUR": Rpt=Rpt+' ('+УслВал+')"';
      |УслВал="USD": Rpt=Rpt+' ('+УслВал+')"';
      |УслВал="РУБ": Rpt=Rpt+' ('+УслВал+')"';
      |True:         Rpt=Rpt+'"';
    fi;
    Report(Rpt,1.1.100,ДК,УслСч,УслАн);
   else
    УслАн=Раб.Бюджет2005.Объединить(УслАн,"ЗГ","&");
    if Гр>=10 and Гр<=13:
       УслСч=Раб.Бюджет2005.Объединить("*.?.401.30.*",УслСч,"/");
      else
       УслСч=Раб.Бюджет2005.Объединить("*.?.402.30.*",УслСч,"/");
    fi;
    if Match(SГ1С100М1[Iter],"*.?.304.04.*"):
       Rpt='"'+PlanVar("Общие")+'\Отчеты\Ф0503130.lst"."Расшифр';
       if УслВал="EUR": Rpt=Rpt+' ('+УслВал+')"';
         |УслВал="USD": Rpt=Rpt+' ('+УслВал+')"';
         |УслВал="РУБ": Rpt=Rpt+' ('+УслВал+')"';
         |True:         Rpt=Rpt+'"';
       fi;
       Report(Rpt,ДК-1,ДК,УслСч,УслАн);
      else
       if not УслВал="":
          if  УслВал=BaseCurrency: Rpt='"001"'; else Rpt='"003"'; fi;
          Report('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Служебные отчеты.lst".'+Rpt,ДК-1,ДК,УслСч+"'"+УслВал,УслАн);
         else
          Report('"'+PlanVar("Std_Rpo")+'\Общие\Отчеты\Служебные отчеты.lst"."001"',ДК-1,ДК,УслСч,УслАн);
       fi;
    fi;
 fi;
 Return Cur;
end;

Func flgКБалансу_OnEnter(FieldName:String; Iter:Integer): Logical;
 flgКБалансу = not flgКБалансу;
 ^False;
end;

Func flgСубИтоги_OnEnter(FieldName:String; Iter:Integer): Logical;
 flgСубИтоги = not flgСубИтоги;
 ^False;
end;

Func flgВвдПрил_OnEnter(FieldName:String; Iter:Integer): Logical;
 flgВвдПрил = not flgВвдПрил;
 ^False;
end;

Func ЕстьДанныеДляВыгрузки :Logical;
if (Abs(RГ2С100) + Abs(RГ3С100) + Abs(RГ4С100) + Abs(RГ5С100) +
    Abs(RГ6С100) + Abs(RГ7С100) + Abs(RГ8С100) + Abs(RГ9С100) +
    Abs(RГ10С100)+ Abs(RГ11С100)+ Abs(RГ12С100)+ Abs(RГ13С100)+
    Abs(RГ14С100)+ Abs(RГ15С100)+ Abs(RГ16С100)+ Abs(RГ17С100))>0.00: ^True; else ^False; fi;
end;

Func ОтменитьИзмененияУсловийОтчета :Logical;
var FF :Logical;
var qq :Integer;
 FF=False;
 if ЕстьДанныеДляВыгрузки:
   qq=EnqOkCancel("Условия отбора данных для отчета изменились!^MОчистить отчет?", mtConfirmation);
   if qq=cmOk: Очистить;
   |  qq=cmCancel: FF=True;
   fi;
 fi;
 ^FF;
end;
--=====Блок для взаимодействия=====
Func Готово:S;
   if М1+М2=0:
      ^"Форма не заполнена";
   fi;
   ^"";
end;

Proc ФормироватьXML;
var i,j:I;
  РАБ.XML.ОткрытьТэг("ВидОтчета",'КодФормы=0503110');
  РАБ.XML.ОткрытьТэг("Отчет",'');
  РАБ.XML.ОткрытьТэг("ПозицииОтчета",'');
  for i= 1 .. М1 do
     Раб.XML.ДОБАТТР("Вычислимое","false");
     Раб.XML.ДОБАТТР("Графа","1");
     Раб.XML.ДОБАТТР("Стр","100");
     Раб.XML.ДОБАТТР("Индекс",Str(i));
--        Раб.XML.ДОБАТТР("ownrow",Format("%.3D",10+Min(189,i)) );
     Раб.XML.ДОБАТТР("Тип","S");
     Раб.XML.СоздатьТэг("Позиция",SГ1С100М1[i],True);
     --значения
     Раб.XML.ДОБАТТР("Тип","R");
     for j=2..17 do
       Раб.XML.ДОБАТТР("Графа",Str(j));
       Раб.XML.ДОБАТТР("Вычислимое",if(j>=6 and j<=9 ,"true","false"));
       Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С100М1["+Str(i)+"]"),2),True);
     od;

  od;
  for i= 1 .. М2 do
     Раб.XML.ДОБАТТР("Вычислимое","false");
     Раб.XML.ДОБАТТР("Графа","1");
     Раб.XML.ДОБАТТР("Стр","200");
     Раб.XML.ДОБАТТР("Индекс",Str(i));
--        Раб.XML.ДОБАТТР("ownrow",Format("%.3D",10+Min(189,i)) );
     Раб.XML.ДОБАТТР("Тип","S");
     Раб.XML.СоздатьТэг("Позиция",SГ1С200М2[i],True);
     --значения
     Раб.XML.ДОБАТТР("Тип","R");
     for j=2..7 do
       Раб.XML.ДОБАТТР("Графа",Str(j));

       Раб.XML.СоздатьТэг("Позиция",Str(GetVariableN("RГ"+Str(j)+"С200М2["+Str(i)+"]"),2),True);
     od;

  od;

  ClearVariable(Раб.XML.BufAtName);
  ClearVariable(Раб.XML.BufAtVal);

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

  Раб.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,False,1);

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

--  Раб.XML.СоздатьТэг("ДОЛЖНУПЛ",УПЛДол,False,False,1);
--  Раб.XML.СоздатьТэг("ИМЯУПЛ",УПЛФИО,False,False,1);
--  Раб.XML.СоздатьТэг("ЦЕНТБУХ",ЦентрБУХинфо,False,False,1);

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

  РАБ.XML.ЗакрытьТэг;
  РАБ.XML.ЗакрытьТэг;
end;

2--Обработчики объектов шаблона-----
Proc btnРасчет_OnClick(Sender: String);
 Перерасчет(False);
end;

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

proc btnПечать_OnClick(Sender: String);
  Раб.Настр_Печать.Prn('','',SelfCfg,'',1);
end;

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

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

Proc btnЗаклПр_OnClick(Sender: String);
 OpenCardFile("РПО_ЗАКЛПР");
end;

Proc ФлагиНАСТР_onChange(Sender:String);
var curFlag, oldFlag :Integer;
 curFlag=ТипНастрCur; -- текущий статус
 oldFlag=ТипНастрOld; -- предыдущий статус
 if ОтменитьИзмененияУсловийОтчета: curFlag=oldFlag; fi;
 ТипНастрCur=curFlag;
 if curFlag<>oldFlag:
   Очистить;
   ТипНастрOld=curFlag;
 fi;
end;  

Func КлючИНН(ИНН:String) :Logical;
var П :Integer;
 П=31*Int(SubStr(ИНН,1,1))+
   29*Int(SubStr(ИНН,2,1))+
   23*Int(SubStr(ИНН,3,1))+
   19*Int(SubStr(ИНН,4,1))+
   17*Int(SubStr(ИНН,5,1))+
   13*Int(SubStr(ИНН,6,1))+
    7*Int(SubStr(ИНН,7,1))+
    5*Int(SubStr(ИНН,8,1))+
    3*Int(SubStr(ИНН,9,1));
 П=11-Int(П-11*Trunc(П/11));
 П=if(П>9:0,П);
 ^П=Int(SubStr(ИНН,10,1));
end;

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

Func ЗаписатьСтрокуРаздела(Iter:Integer) :String;
var RES :String;
var SUM :Numeric;
 RES="";
 if Iter>0:
   RES=if(SПЛЮС_ИТГ[Iter], ЗаменитьРазделительПредложения(SГ1С100М1[Iter], ".", ""), "00000000000000000"+ЗаменитьРазделительПредложения(SГ0С100М1[Iter], ".", ""))+"|";
   SUM=RГ2С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ3С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ4С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ5С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ6С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ7С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ8С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ9С100М1[Iter];  RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ10С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ11С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ12С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ13С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ14С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ15С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ16С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0")+"|";
   SUM=RГ17С100М1[Iter]; RES=RES+if(SUM<>0.00, Str(SUM, 2), "0");
 fi;
 ^RES;
end;

Proc Экспорт_TXT_ДФ;
var Путь, nameFile, Value :String;
var FS, num, ii :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 УЧРИНН="" or not КлючИНН(УЧРИНН): Message("Некорректный ИНН.^MПроверьте реквизиты", mtError); Template.Field="Учреждение"; Exit; fi;
 if not ЕстьДанныеДляВыгрузки: Message("Нет данных для выгрузки.^MПредварительно сделайте расчет формы.", mtWarning); Template.Object="btnРасчет"; Exit; fi;
 --
 if ChooseFolder(Путь, "Выберите папку для сохранения файла выгрузки...")=cmOk:

   nameFile=Путь+"110"+Format("%.2d", Mon(AddMon(ДК, -1)))+Format("%.2d", Year(AddMon(ДК, -1))-2000)+"m1.txt";
   Try
     Try if ExistFile(nameFile): DeleteFile(nameFile); fi; Except end;
     FlagCreate=False;
     FS=TextFileCreate(nameFile);
     FlagCreate=True;
     -- Записываем заголовок
     TextFileWriteLn(FS, "ИНН="+УЧРИНН);
     TextFileWriteLn(FS, "ДАТА="+DateToString(ДК));
     TextFileWriteLn(FS, "КОДФ=110");
     -- Записываем данные 1 раздела
     TextFileWriteLn(FS, "ТБ=01");
     --
     num=Max(LengthOfArray(SГ0С100М1), LengthOfArray(SГ1С100М1));
     if num>0:
       for ii=1 to num do
         Value=ЗаписатьСтрокуРаздела(ii);
         if Value<>"": TextFileWriteLn(FS, Value); fi;
       od;
     fi;
     --
     TextFileClose(FS);
     if ExistFile(nameFile): if EnqOkCancel("Открыть созданный файл выгрузки?", mtInformation)=cmOK: OpenEditor(nameFile); fi; fi;
   Except
     ЗакрытьФайлПоОшибке(FS, FlagCreate, nameFile);
     Raise;
   end;

 fi;

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;

Func Цвет(r:Integer; g:Integer; b:Integer) :Integer; -- цвет по стандарту ТБ 6.9
 ^(256*256*b+256*g+r);
end;

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

 if Year(ДК)<2000: Message("Дата отчета должна быть позже 2000 года.", mtWarning); Template.Field="ДК"; Exit; fi;
 if Day(ДК)<>1: Message("Для выгрузки в файл требуется отчет расчитанный на '1' число.", mtWarning); Template.Field="ДК"; Exit; fi;
 if УЧРИНН="" or not КлючИНН(УЧРИНН): Message("Некорректный ИНН.^MПроверьте реквизиты", mtError); Template.Field="Учреждение"; Exit; fi;
 if not ЕстьДанныеДляВыгрузки: Message("Нет данных для выгрузки.^MПредварительно сделайте расчет формы.", mtWarning); Template.Object="btnРасчет"; Exit; fi;
 NoError=True;
 maxIterCount=300;
 offsetRow=0;
 kol=0;
 if ChooseFolder(xlNameFolder, "Выберите папку для сохранения файла экспорта...")=cmOK:
   начало=Time;
   xlNameFile=xlNameFolder+"ExportExcel0503110_"+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<2:
                   len=2-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 = "0503110";
                   ShowProgress(25, "Формируем титул...");
                   ProgressPos(1);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 01, 38.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 02, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 03, 12.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);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 10, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 11, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 12, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 13, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 14, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 15, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 16, 12.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 17, 12.0);
                   if flgВвдПрил:
                     offsetRow=offsetRow+1;
                     Value="к Инструкции о порядке составления и представления годовой, квартальной и месячной отчетности об исполнении бюджетов бюджетной системы Российской Федерации, утвержденной Приказом Министерства финансов Российской Федерации от 28 декабря 2010 г. N 191н";
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 13, "ПРИЛОЖЕНИЕ"+Chr(10)+Value);
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 13, offsetRow+2, 17);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight, 1, РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True,  False, False, 0, True);
                   fi;
                   ProgressPos(2);
                   offsetRow=offsetRow+if(flgВвдПрил, 4, 1);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "СПРАВКА");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 11, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, "КОДЫ");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   ProgressPos(3);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "по заключению счетов бюджетного учета отчетного финансового года");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 10);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(4);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "Форма по ОКУД");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, "0503110");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Courier New", 10, 0, True, False, False, 0, True);
                   ProgressPos(5);
                   offsetRow=offsetRow+1;
                   Value="на "+Format("%.2d", Day(ДК))+" "+Месяца(Mon(ДК))+" "+Format("%.4d", Year(ДК))+" г.";
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "   "+Value+"   ");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ПодчеркнутыйТекстЯчеек(xlsSheet, offsetRow, 06, offsetRow, 08, False, True, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "Дата");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, DateToString(ДК));
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(6);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование финансового органа, органа казначейств,");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow+2, 17);
                   ProgressPos(7);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "главного распорядителя, распорядителя, получателя бюджетных средств,");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(8);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "главного администратора, администратора доходов бюджета,");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(9);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "главного администратора, администратора источников");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 04);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "по ОКПО");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, ОКПО);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(10);
                   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, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 03, offsetRow, 14, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "Глава по БК");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, ГлаваБК);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(11);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Наименование бюджета (публично-правового образования)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 02);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, НаимБюдж);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 03, offsetRow, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "по ОКТМО");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, ОКТМО);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(12);
                   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, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(13);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "к Балансу по форме");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, txtКБалансу);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(14);
                   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, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "по ОКЕИ");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, ОКЕИ);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(15);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-12, 16, offsetRow, 17, True,  True,  True,  True, True,  True,  False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-11, 16, offsetRow, 17, True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   РАБ.EXCEL.СброситьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-5, 16, offsetRow-5, 17, False, True, False,  False, False, False, False, False);
                   ProgressPos(16);
                   РАБ.EXCEL.PrintSetup_ЧБ_Поля10(xlsApp, xlsSheet, False, 0, 0, 0, 0, True, False, True, 100);
                   ProgressPos(17);
                   РАБ.EXCEL.АвтоВыравниваниеСтрок(xlsSheet, 1, offsetRow);
                   ProgressPos(18);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "1. Бюджетная и приносящая доход деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   2, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   ProgressPos(19);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Номер счета"+Chr(10)+"бюджетного учета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+3, 01);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Остаток на 1 января года, следующего за отчетным"+Chr(10)+"(до заключительных записей)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "Заключительные записи по счету");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   ProgressPos(20);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "бюджетная"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow+1, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "приносящая доход"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow+1, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "номер счета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "040130000");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "номер счета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, "040230000");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   ProgressPos(21);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "бюджетная"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "приносящая доход"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "бюджетная"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "приносящая доход"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "бюджетная"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 14, offsetRow, 15);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, "приносящая доход"+Chr(10)+"деятельность");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 16, offsetRow, 17);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   ProgressPos(22);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 13, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 15, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 15, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 17, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 17, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   ProgressPos(23);
                   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, 12, "12");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 13, "13");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 14, "14");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 15, "15");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 15, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 16, "16");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 17, "17");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 17, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 01, offsetRow, 17, True);
                   ProgressPos(24);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-4, 01, offsetRow,   17, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow  , 01, offsetRow,   17, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-3, 12, offsetRow-3, 12,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-3, 16, offsetRow-3, 16,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   ProgressPos(25);
                   --
                   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 and (SГ0С100М1[1]<>"" or SГ1С100М1[1]<>""):
       ShowProgress(len, "Формируем таблицу (бюджетная и приносящая доход деятельность)...");
       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["0503110"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           if flgСубИтоги:
                             if SПЛЮС_ИТГ[ii]:
                               РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С100М1[ii]);
                               РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             else
                               РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ0С100М1[ii]);
                               РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,    0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True,  True, False, 0, True);
                             fi;
                           else
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С100М1[ii]);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           fi;
                           if  RГ2С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 02,  RГ2С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ3С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 03,  RГ3С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ4С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ5С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ6С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ7С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ8С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if  RГ9С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ10С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 10, RГ10С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ11С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 11, RГ11С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ12С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 12, RГ12С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ13С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 13, RГ13С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ14С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 14, RГ14С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ15С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 15, RГ15С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 15, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ16С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 16, RГ16С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ17С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 17, RГ17С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 17, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, if(SПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 17, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 17,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           --
                           if ii=len:
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-ii, 01, offsetRow-ii, 17, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow   , 01, offsetRow   , 17, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                             --
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ИТОГО:");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             if  RГ2С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 02,  RГ2С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ3С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 03,  RГ3С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ4С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04,  RГ4С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ5С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05,  RГ5С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ6С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06,  RГ6С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ7С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07,  RГ7С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ8С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08,  RГ8С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if  RГ9С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09,  RГ9С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ10С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 10, RГ10С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ11С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 11, RГ11С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ12С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 12, RГ12С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ13С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 13, RГ13С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ14С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 14, RГ14С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ15С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 15, RГ15С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 15, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ16С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 16, RГ16С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ17С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 17, RГ17С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 17, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             --
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 17, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 17,  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;
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     --xlsBook.Close(True, xlNameFile);
                     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["0503110"]);
                 Try
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  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);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 15, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 17, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 17, False, False, False, False,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 17,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   --
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ИТОГО:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 14, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 15, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 16, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 17, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 17, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 17,  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. Деятельность со средствами, поступающими во временное распоряжение
   len=М2;
   if NoError:
     if len>0 and SГ1С200М2[1]<>"":
       ShowProgress(7+len, "Формируем таблицу (деятельность со средствами, поступающими во временное распоряжение)...");
       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["0503110"]);
                       Try
                         for ii=IterSave to len do
                           if ii=1:
                             ProgressPos(1);
                             offsetRow=offsetRow+2;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "2. Деятельность со средствами, поступающими во временное распоряжение");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 13);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   2, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                             ProgressPos(2);
                             offsetRow=offsetRow+2;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Код счета"+Chr(10)+"бюджетного учета");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+2, 01);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Остаток на 1 января года, следующего за отчетным"+Chr(10)+"(до заключительных записей)");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 05);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "Заключительные записи");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 13);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             ProgressPos(3);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по счету");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "340230000");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                             ProgressPos(4);
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "по дебету");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "по кредиту");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "по дебету");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по кредиту");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 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", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "по кредиту");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             ProgressPos(5);
                             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, offsetRow, 03);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "3");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "4");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "5");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "6");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "7");
                             РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                             РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 01, offsetRow, 13, True);
                             ProgressPos(6);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-3, 01, offsetRow,   13, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow  , 01, offsetRow,   13, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-2, 12, offsetRow-2, 13,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                             ProgressPos(7);
                           fi;
                           ProgressPos(7+ii);
                           offsetRow=offsetRow+1;
                           РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ1С200М2[ii]);
                           РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ2С200М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 02, RГ2С200М2[ii], localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ3С200М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04, RГ3С200М2[ii], localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ4С200М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06, RГ4С200М2[ii], localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ5С200М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08, RГ5С200М2[ii], localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ6С200М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 10, RГ6С200М2[ii], localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           if RГ7С200М2[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 12, RГ7С200М2[ii], localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           --
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 13, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                           РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 13,  True, False,  True, False, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                           --
                           if ii=len:
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-ii, 01, offsetRow-ii, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow   , 01, offsetRow   , 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                             --
                             offsetRow=offsetRow+1;
                             РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ИТОГО:");
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                             if RГ2С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 02, RГ2С200, localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ3С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04, RГ3С200, localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ4С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06, RГ4С200, localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ5С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08, RГ5С200, localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ6С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 10, RГ6С200, localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ7С200<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 12, RГ7С200, localDS, localTS); fi; РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                             --
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 13, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                             РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 13,  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;
                         NoError=True;
                       Finally
                         ClearVariable(xlsSheet);
                       end;
                     Except
                       NoError=False;
                       ExportWork=False;
                       xlsBook.Close(False); -- закрыть книгу без сохранения
                     end;
                   Finally
                     --xlsBook.Close(True, xlNameFile);
                     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 -- если данных нет рисуем пустую строчку
       ShowProgress(9, "Формируем таблицу (деятельность со средствами, поступающими во временное распоряжение)...");
       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["0503110"]);
                 Try
                   ProgressPos(1);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "2. Деятельность со средствами, поступающими во временное распоряжение");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,   2, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   ProgressPos(2);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Код счета"+Chr(10)+"бюджетного учета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+2, 01);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "Остаток на 1 января года, следующего за отчетным"+Chr(10)+"(до заключительных записей)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "Заключительные записи");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   ProgressPos(3);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по счету");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "340230000");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, False, 0, True);
                   ProgressPos(4);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "по дебету");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "по кредиту");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "по дебету");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по кредиту");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 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", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "по кредиту");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   ProgressPos(5);
                   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, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "3");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "4");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "5");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "6");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "7");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 01, offsetRow, 13, True);
                   ProgressPos(6);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-3, 01, offsetRow,   13, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow  , 01, offsetRow,   13, False, False, False,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-2, 12, offsetRow-2, 13,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   ProgressPos(7);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 13, False, False, False, False,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 01, offsetRow, 13,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   --
                   ProgressPos(8);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "ИТОГО:");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,  1,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 05); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow, 09); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13); РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 13, False,  True, False,  True,  True,  True, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 13,  True, False,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   ProgressPos(9);
                   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
           CloseProgress;
         end;
       Except
         NoError=False;
         ClearVariable(xlsRng);
         ClearVariable(xlsSheet);
         ClearVariable(xlsSheets);
         ClearVariable(xlsBook);
         ClearVariable(xlsBooks);
         ClearVariable(xlsApp);
       end;
     fi; -- len>0:
   fi; --2. Деятельность со средствами, поступающими во временное распоряжение
   --Заключительный этап...
   if NoError:
     ShowProgress(7, "Заключительный этап... ");
     Try
       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["0503110"]);
                 Try
                   ProgressPos(1);
                   offsetRow=offsetRow+3;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Руководитель");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,  6,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3);
                   РАБ.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, 6);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, True,  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, 6, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(2);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(подпись)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3);
                   РАБ.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, 6);
                   РАБ.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, 6, True);
                   ProgressPos(3);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Главный бухгалтер");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlLeft,  6,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3);
                   РАБ.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, 6);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, True,  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, 6, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(4);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(подпись)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 2, offsetRow, 3);
                   РАБ.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, 6);
                   РАБ.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, 6, True);
                   ProgressPos(5);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, '"____"  ________________  20_____ г.');
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 02);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, True, False, 0, True);
                   ProgressPos(6);
                   xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                   Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                   ProgressPos(7);
                   --
                   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;
     Finally
      CloseProgress;
     end;
   fi; --Заключительный этап
   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 btnExport_OnClick(Sender: String);
var num :Integer;
 ClearVariable(Buf);
 Buf[1]="Выгрузка в файл (формат ДФ г.Москвы)";
 Buf[2]="Выгрузка в Excel";
 num=Alternate("Выберите тип выгрузки...", Buf, -1, 1, 12);
 if num=1: Экспорт_TXT_ДФ;
 |  num=2: Экспорт_Excel;
 else Exit;
 fi;
end;

2--Обработчики событий шаблона-----
Proc OnOpen(Create: Logical);
 КонтрольВерсии;
 ОткрНастр(False);
 if Учреждение="": ЗаполнитьРекв(nil); fi;
 Раб.Настр_Печать.Cfg("",SelfCfg);
end;

Proc AfterOpen(Destroy: Logical);
 ПрисвоитьТочность;
 ТипНастрOld=ТипНастрCur;
end;

КОНЕЦ