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

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

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

-- Переменные настройки
var НастрGUID     :S;
var НастрВерсия   :I=130101;
var ТекущаяВерсия :I;
var ОтчGUID       :S;

var ПоУмолчНастр  :S = "Настройка по умолчанию";
var ЗакрНастр     :S = "Закрыть настройку";
var flgСубИтоги   :L = [True];
var flgСубИтоги_  :L = flgСубИтоги;
var flgВвдПрил    :L = [True];

var AA            :S="+";
var DD            :S="-";
var УпрН          :I;
var СписокСч[]    :S;
var СписокФР[]    :S;
var Раздел_ДК[]   :L;
var Раздел_ДК_[]  :S=if(Раздел_ДК[$],"Да","Нет");

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

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

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

-- Переменные формы
var ДН:D=РАБ.ПАРАМ_ОТЧ.ДН;
var ДК:D=РАБ.ПАРАМ_ОТЧ.ДК;

Учреждение:S;
ОбособПодр:S;
ОбособПКод:S;
Учредитель:S;
НаимОргУчр:S;


ОКПО_учр:S;
НаимОП:S;
КППОП:S;
Учред:S;
ИНН_учр:S;
КПП_учр:S;



ОКПО      :S;
ОКТМО     :S;
ОКПОУ     :S;
ГлаваБК   :S;
УЧРИНН    :S;

ЦентрБУХинфо :S;

ФИОРук    :S;
ФИОБух    :S;
УплREC    :Record;
УплФИО    :S;
УплДОЛ    :S;
ИспREC    :Record;
ИспФИО    :S;
ИспДОЛ    :S;
ИспТЕЛ    :S;

ИНН:S;
КПП:S;
РПО_КОДМНС:S;


телефон:S;
EMAIL:S;

var УслВал     :S=РАБ.ПАРАМ_ОТЧ.УслВал;
var Вал        :S=РАБ.ПАРАМ_ОТЧ.Вал;
var Вал_       :S=Вал;
var Показатель :S=РАБ.ПАРАМ_ОТЧ.Показатель;
var ЕдИзм      :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;

М1:Integer;
SГ00С100М1[]:S;
SГ01С100М1[]:S;
SГПЛЮС_ИТГ[]:L;
RГ02С100М1[]:N; var RГ02С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ02С100М1[$], 0.00);
RГ03С100М1[]:N; var RГ03С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ03С100М1[$], 0.00);
RГ04С100М1[]:N; var RГ04С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ04С100М1[$], 0.00);
RГ05С100М1[]:N; var RГ05С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ05С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);

var RГ06С100М1[]:N=RГ11С100М1[$]; var RГ06С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ06С100М1[$], 0.00);
var RГ07С100М1[]:N=RГ10С100М1[$]; var RГ07С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ07С100М1[$], 0.00);
var RГ08С100М1[]:N=RГ13С100М1[$]; var RГ08С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ08С100М1[$], 0.00);
var RГ09С100М1[]:N=RГ12С100М1[$]; var RГ09С100М1_[]:N=if(SГПЛЮС_ИТГ[$], RГ09С100М1[$], 0.00);

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

var RГ02С100=SumOfArray(RГ02С100М1_,М1);
var RГ03С100=SumOfArray(RГ03С100М1_,М1);
var RГ04С100=SumOfArray(RГ04С100М1_,М1);
var RГ05С100=SumOfArray(RГ05С100М1_,М1);
var RГ06С100=SumOfArray(RГ06С100М1_,М1);
var RГ07С100=SumOfArray(RГ07С100М1_,М1);
var RГ08С100=SumOfArray(RГ08С100М1_,М1);
var RГ09С100=SumOfArray(RГ09С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 ИтогОткл:N=Abs(SumOfArray(RОткл401,М1));

var Buf[]          :S;
var BufKey[]       :S;
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;

S1:Section;   S7:Section;
S2:Section;   S8:Section;
S3:Section;   S9:Section;
S4:Section;  S10:Section;
S5:Section;  S11:Section;
S6:Section;  S12:Section;
M1: Integer;

T1:Section;
T2: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;

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(КИФД_КОСГУ);

 flgСубИтоги = True;

 InsertFrame(УпрН,УпрН+1); СписокСч[УпрН]="*.?.304.04.???"; СписокФР[УпрН]="*.?.401.30.000"; Раздел_ДК[УпрН]=True;
 InsertFrame(УпрН,УпрН+1); СписокСч[УпрН]="*.?.304.06.???"; СписокФР[УпрН]="*.?.401.30.000"; Раздел_ДК[УпрН]=True;
 InsertFrame(УпрН,УпрН+1); СписокСч[УпрН]="*.?.401.10.???"; СписокФР[УпрН]="*.?.401.30.000"; Раздел_ДК[УпрН]=False;
 InsertFrame(УпрН,УпрН+1); СписокСч[УпрН]="*.?.401.20.???"; СписокФР[УпрН]="*.?.401.30.000"; Раздел_ДК[УпрН]=False;

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");
    Раб.Настр.Добавить("УпрН"+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;

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

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

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

 len=if(flgСубИтоги, 330, 530);
 S9.Column(1, ColVisible, flgСубИтоги);
 S9.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..2 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Г00С100М1);
 ClearVariable(SГ01С100М1);
 ClearVariable(RГ02С100М1);    ClearVariable(RГ02С100М1_);
 ClearVariable(RГ03С100М1);    ClearVariable(RГ03С100М1_);
 ClearVariable(RГ04С100М1);    ClearVariable(RГ04С100М1_);
 ClearVariable(RГ05С100М1);    ClearVariable(RГ05С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_);
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,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,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;
 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Раздел_ДК);
 Раб.Бюджет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);
   УслСч=Раб.Бюджет2005.Объединить(СписокСч[n],ОбщУслСч,"&");
   УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслДЦС,"&");
   РасчетЗаклСч(УслСч,СписокФР[n],УслАн,"1",n);
   УслСч=Раб.Бюджет2005.Объединить(СписокСч[n],ОбщУслСч,"&");
   УслСч=Раб.Бюджет2005.Объединить(УслСч,ОбщУслДПОУ,"&");
   РасчетЗаклСч(УслСч,СписокФР[n],УслАн,"2",n);
  od; --for n=1..nn do
  --
  nn=LengthOfArray(Buf);
  for n=1..nn do
   InsertFrame(М1,n);
   if BufИтг[n]:
      SГПЛЮС_ИТГ[n]=False;
      SГ00С100М1[n]=Buf[n];
      SГ01С100М1[n]="";
     else
      SГПЛЮС_ИТГ[n]=True;
      SГ00С100М1[n]="";
      SГ01С100М1[n]=Buf[n];
   fi;
   if BufРаздел_ДК[n]:
      --Бюджет
      RГ02С100М1[n]=Deb(BufОстДЦС_Д[n]);
      RГ03С100М1[n]=Cre(BufОстДЦС_К[n]);
      --Внебюджет
      RГ04С100М1[n]=Deb(BufОстДПОУ_Д[n]);
      RГ05С100М1[n]=Cre(BufОстДПОУ_К[n]);
     else
      --Бюджет
      RГ02С100М1[n]=Deb(BufОстДЦС_Д[n]+BufОстДЦС_К[n]);
      RГ03С100М1[n]=Cre(BufОстДЦС_Д[n]+BufОстДЦС_К[n]);
      --Внебюджет
      RГ04С100М1[n]=Deb(BufОстДПОУ_Д[n]+BufОстДПОУ_К[n]);
      RГ05С100М1[n]=Cre(BufОстДПОУ_Д[n]+BufОстДПОУ_К[n]);
   fi;
   if BufРаздел_ДК[n]:
      --Бюджет
      RГ10С100М1[n]=Cre(BufСумДЦС_К[n]);
      RГ11С100М1[n]=Deb(BufСумДЦС_Д[n]);
      --Внебюджет
      RГ12С100М1[n]=Cre(BufСумДПОУ_К[n]);
      RГ13С100М1[n]=Deb(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;
  od; --for n=1..nn do
 Finally
  CloseProgress;
 end;
 ОтчGUID=РАБ.ПАРАМ_ОТЧ.ОтчGUID;
 Message("Расчет завершен");
 if not Round(ИтогОткл,Точн)=0:
    for n=1..М1 do
     if not Round(RОткл401[n],Точн)=0:
        Message("Обнаружены отклонение суммы заключительных записей от суммы остатков счетов.^MВыполните операцию заключения счетов",mtWarning);
        Template.Field="RОткл401";
        Template.Frame=n;
        Break;
     fi;
    od;
 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 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,"РПО_ПОДЧИНЕН.ИНН");
    КПП_учр=GetCardFieldS('Контрагент',Rec,"РПО_ПОДЧИНЕН.КПП");
    ФИОРук=GetCardFieldS('Контрагент',Rec,"ФИОРук");
    ФИОБух=GetCardFieldS('Контрагент',Rec,"ФИОБух");
     ОКТМО=GetCardFieldS('Контрагент',Rec,"ОКТМО");
    УЧРИНН=GetCardFieldS('Контрагент',Rec,"ИНН");
   ГлаваБК=GetCardFieldS('Контрагент',Rec,"РПО_ППП");
   Учредитель=GetCardFieldS('Контрагент',Rec,"УЧРЕДИТЕЛИ");
    ИНН=GetCardFieldS('Контрагент',Rec,"ИНН");
    КПП=GetCardFieldS('Контрагент',Rec,"КПП");
    телефон =GetCardFieldS('Контрагент',Rec,"телефон");
    EMAIL =GetCardFieldS('Контрагент',Rec,"EMAIL");
    РПО_КОДМНС =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 Сотрудники_onLookup(Sect:String; Row:Integer; Col:Integer; Cur:String): String;
var REC, RECSave :Record;
var FieldName, СТРФИО, СТРДОЛ, СТРТЕЛ, tmp1, tmp2 :String;
 Template.HideEditor(False);
 if not AutoRefresh: RefreshAna; fi;
 FieldName=asString(Template.Field);
 if FieldName="УПЛФИО": RECSave=УплREC;
 |  FieldName="УПЛДОЛ": RECSave=УплREC;
 |  FieldName="ИСПФИО": RECSave=ИспREC;
 |  FieldName="ИСПДОЛ": RECSave=ИспREC;
 |  FieldName="ИСПТЕЛ": RECSave=ИспREC;
 fi;
 REC=OpenCardFile("СОТРУДНИКИ", "", RECSave, crdRecordOnly);
 if REC=NIL: ^Cur; fi;
 tmp1=GetCardFieldS("СОТРУДНИКИ", REC, "ИНИЦИАЛЫ");
 tmp2=GetCardFieldS("СОТРУДНИКИ", REC, "ФАМИЛИЯ");
 СТРТЕЛ=GetCardFieldS("СОТРУДНИКИ", REC, "ТЕЛЕФОНРАБОЧИЙ");
 СТРФИО=if(tmp2="", GetCardFieldS("СОТРУДНИКИ", REC, "ФИОТ"), tmp2+" "+if(tmp1<>"..", tmp1, ""));
 Try СТРДОЛ=GetCardFieldS("СОТРУДНИКИ", REC, "ДОЛЖНОСТЬ.ДОЛЖ"); Except СТРДОЛ=""; end;
 if FieldName="УПЛФИО": УПЛФИО=СТРФИО; УПЛДОЛ=СТРДОЛ;
 |  FieldName="УПЛДОЛ": УПЛФИО=СТРФИО; УПЛДОЛ=СТРДОЛ;
 |  FieldName="ИСПФИО": ИСПФИО=СТРФИО; ИСПДОЛ=СТРДОЛ; ИСПТЕЛ=СТРТЕЛ;
 |  FieldName="ИСПДОЛ": ИСПФИО=СТРФИО; ИСПДОЛ=СТРДОЛ; ИСПТЕЛ=СТРТЕЛ;
 |  FieldName="ИСПТЕЛ": ИСПФИО=СТРФИО; ИСПДОЛ=СТРДОЛ; ИСПТЕЛ=СТРТЕЛ;
 fi;
 ^"";
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Г01С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Г01С100М1[Iter]="": Message("Нет данных для расшифровки",mtError); Template.Field="SГ01С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Г01С100М1[Iter],СписокСч[ii]): Break; fi;
 od;
 УслСч=ОбработатьСчет(SГ01С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Г01С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 ЕстьДанныеДляВыгрузки :Logical;
 if (Abs(RГ02С100) + Abs(RГ03С100) + Abs(RГ04С100) + Abs(RГ05С100) +
     Abs(RГ06С100) + Abs(RГ07С100) + Abs(RГ08С100) + Abs(RГ09С100) +
     Abs(RГ10С100) + Abs(RГ11С100) + Abs(RГ12С100) + Abs(RГ13С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 ОбособПодр_OnLookup(Sect: String; Row: Integer; Col: Integer; Cur: String): String;
var StoreANA, Value :String;
 Template.HideEditor(False);
 StoreANA=ОбособПКод;
 Value=AnaElection("П.*", False, False, StoreANA);
 if Value="": ^""; fi;
 ОбособПКод=Value;
 if ОбособПКод<>StoreANA: if ОтменитьИзмененияУсловийОтчета: ОбособПКод=StoreANA; fi; fi;
 ОбособПодр=if(Trim(Name_A(ОбособПКод))<>"", Name_A(ОбособПКод), ОбособПКод);
 ^"";
end;

Proc ОбособПодр_OnExit(FieldName: String; Iter: Integer);
 if ОбособПодр="": ОбособПКод=""; fi;
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;

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 not ЕстьДанныеДляВыгрузки: Message("Нет данных для выгрузки.^MПредварительно сделайте расчет формы.", mtWarning); Template.Object="btnРасчет"; Exit; fi;
 NoError=True;
 maxIterCount=300;
 offsetRow=0;
 kol=0;
 if ChooseFolder(xlNameFolder, "Выберите папку для сохранения файла экспорта...")=cmOK:
   начало=Time;
   xlNameFile=xlNameFolder+"ExportExcel0503710_"+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 = "0503710";
                   ShowProgress(24, "Формируем титул...");
                   ProgressPos(1);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 01, 30.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 02, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 03, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 04, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 05, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 06, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 07, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 08, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 09, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 10, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 11, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 12, 09.0);
                   РАБ.EXCEL.УстановитьШиринуСтолбцаСимвол(xlsSheet, 13, 09.0);
                   if flgВвдПрил:
                     offsetRow=offsetRow+1;
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "Приложение");
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 13);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft, 0, РАБ.EXCEL.xlCenter, True, "Arial", 06, 0, True,  False, False, 0, True);
                     offsetRow=offsetRow+1;
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "к Инструкции о порядке составления, представления и утверждения");
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 13);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft, 0, РАБ.EXCEL.xlCenter, True, "Arial", 06, 0, True,  False, False, 0, True);
                     offsetRow=offsetRow+1;
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "годовой, квартальной и месячной бухгалтерской отчетности");
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 13);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft, 0, РАБ.EXCEL.xlCenter, True, "Arial", 06, 0, True,  False, False, 0, True);
                     offsetRow=offsetRow+1;
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "государственных (муниципальных) бюджетных и автономных учреждений,");
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 13);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft, 0, РАБ.EXCEL.xlCenter, True, "Arial", 06, 0, True,  False, False, 0, True);
                     offsetRow=offsetRow+1;
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "утвержденной Приказом Министерства финансов Российской Федерации");
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 13);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft, 0, РАБ.EXCEL.xlCenter, True, "Arial", 06, 0, True,  False, False, 0, True);
                     offsetRow=offsetRow+1;
                     РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "от 25.03.2011 N 33н");
                     РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 13);
                     РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlLeft, 0, РАБ.EXCEL.xlCenter, True, "Arial", 06, 0, True,  False, False, 0, True);
                   fi;
                   ProgressPos(2);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "СПРАВКА");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 11, 0, True,  True, False, 0, True);
                   РАБ.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(3);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "по заключению учреждением счетов бухгалтерского учета отчетного финансового года");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 10, 0, True,  True, 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(4);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "Форма по ОКУД");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "0503710");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.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, 04, "   "+Value+"   ");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow, 06);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ПодчеркнутыйТекстЯчеек(xlsSheet, offsetRow, 04, offsetRow, 06, False, True, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "Дата");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, DateToString(ДК));
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.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, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, Учреждение);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по ОКПО");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 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", 09, 0, True, False, False, 0, True);
                   ProgressPos(7);
                   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, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter, 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, РАБ.EXCEL.xlLeft,   0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, Учредитель);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по ОКТМО");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 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", 09, 0, True, False, False, 0, True);
                   ProgressPos(9);
                   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, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.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, 10, "по ОКПО");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 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", 09, 0, True, False, False, 0, True);
                   ProgressPos(11);
                   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, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlLeft,   1, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow, 02, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "Глава по БК");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 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", 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, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter, 0, РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   ProgressPos(13);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "к Балансу по форме");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "0503730");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.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, 10, "по ОКЕИ");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  1, РАБ.EXCEL.xlCenter, True, "Arial", 08, 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", 09, 0, True, False, False, 0, True);
                   ProgressPos(15);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-12, 12, offsetRow, 13, True,  True,  True,  True, True,  True,  False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-11, 12, offsetRow, 13, True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   ProgressPos(16);
                   РАБ.EXCEL.PrintSetup_ЧБ_Поля10(xlsApp, xlsSheet, False, 0, 0, 0, 0, True, False, True, 95);
                   ProgressPos(17);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Номер счета"+Chr(10)+"бухгалтерского учета");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 01, offsetRow+4, 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)+"следующего за отчетным"+Chr(10)+"(до заключительных записей)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 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(18);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "деятельность"+Chr(10)+"с целевыми средствами");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow+2, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "деятельность по оказанию"+Chr(10)+"услуг (работ)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 08, offsetRow+2, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 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", 09, 0, True,  True, False, 0, True);
                   ProgressPos(19);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "деятельность с целевыми средствами");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow+1, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "деятельность по оказанию услуг (работ)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 04, offsetRow+1, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "деятельность с целевыми средствами");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 10, offsetRow+1, 11);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "деятельность по оказанию услуг (работ)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 12, offsetRow+1, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   ProgressPos(20);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 04, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 08, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 10, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 12, "по дебету");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 13, "по кредиту");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   ProgressPos(21);
                   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, 01, offsetRow, 13, True);
                   ProgressPos(22);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet, offsetRow-5, 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-4, 12, offsetRow-4, 12,  True,  True,  True,  True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlMedium);
                   ProgressPos(23);
                   РАБ.EXCEL.АвтоВыравниваниеСтрок(xlsSheet, 1, offsetRow);
                   ProgressPos(24);
                   --
                   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; --Формирование шапки
   len=М1;
   if NoError:
     if len>0 and (SГ00С100М1[1]<>"" or SГ01С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["0503710"]);
                       Try
                         for ii=IterSave to len do
                           ProgressPos(ii);
                           offsetRow=offsetRow+1;
                           if flgСубИтоги:
                             if SГПЛЮС_ИТГ[ii]:
                               РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, SГ01С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Г00С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Г01С100М1[ii]);
                             РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                           fi;
                           if RГ02С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 02, RГ02С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ03С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 03, RГ03С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ04С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04, RГ04С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ05С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05, RГ05С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ06С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06, RГ06С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ07С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07, RГ07С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ08С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08, RГ08С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), False, 0, True);
                           if RГ09С100М1[ii]<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09, RГ09С100М1[ii], localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 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", 07, 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", 07, 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", 07, 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", 07, 0, True, if(SГПЛЮС_ИТГ[ii], False, True), 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Г02С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 02, RГ02С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ03С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 03, RГ03С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ04С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 04, RГ04С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ05С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 05, RГ05С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ06С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 06, RГ06С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ07С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 07, RГ07С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ08С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 08, RГ08С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                             if RГ09С100<>0.00: РАБ.EXCEL.ЗаписатьЯчейкуЧисло(xlsSheet, offsetRow, 09, RГ09С100, localDS, localTS); fi; РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 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", 07, 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", 07, 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", 07, 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", 07, 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 -- если данных нет рисуем пустую строчку
       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["0503710"]);
                 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", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 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);
                   --
                   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", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 04, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 08, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 10, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 12, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 0, True, False, False, Цвет(204,255,204), False);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 13, РАБ.EXCEL.xlRight,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 07, 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);
                   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;
   --Заключительный этап...
   if NoError:
     ShowProgress(13, "Заключительный этап... ");
     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["0503710"]);
                 Try
                   ProgressPos(1);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "Руководитель");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, ФИОРук);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 09, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 11, offsetRow, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(2);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "(подпись)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 09, offsetRow, 09, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13, True);
                   ProgressPos(3);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "Главный бухгалтер");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 08);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, ФИОБух);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 09, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 11, offsetRow, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(4);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "(подпись)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 09, offsetRow, 09, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13, True);
                   ProgressPos(5);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "Централизованная бухгалтерия");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow, 06);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True,  True, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, ЦентрБУХинфо);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 07, offsetRow, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(6);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "(наименование, ОГРН, ИНН, КПП, местонахождение)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 07, offsetRow, 13, True);
                   ProgressPos(7);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 03, "Руководитель"+Chr(10)+"(уполномоченное лицо)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 03, offsetRow+1, 05);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 03, РАБ.EXCEL.xlLeft,   0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 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", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, УПЛФИО);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 06, offsetRow, 07, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 09, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 11, offsetRow, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(8);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 06, "(должность)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 06, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 09, "(подпись)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 09, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 06, offsetRow, 07, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 09, offsetRow, 09, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13, True);
                   ProgressPos(9);
                   offsetRow=offsetRow+2;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 01, "Исполнитель");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 01, РАБ.EXCEL.xlRight,   1,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, ИСПДОЛ);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 09, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, ИСПФИО);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, ИСПТЕЛ);
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter, 0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False,  True, 0, True);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 02, offsetRow, 03, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 05, offsetRow, 05, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 07, offsetRow, 09, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   РАБ.EXCEL.УстановитьВсеГраницыДиапазонаИвнутри(xlsSheet,  offsetRow, 11, offsetRow, 13, False, False, False, True, False, False, False, False, РАБ.EXCEL.xlContinuous, РАБ.EXCEL.xlThin);
                   ProgressPos(10);
                   offsetRow=offsetRow+1;
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 02, "(должность)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 02, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 05, "(подпись)");
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 05, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 07, "(расшифровка подписи)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 07, offsetRow, 09);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 07, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.ЗаписатьЯчейкуТекст(xlsSheet, offsetRow, 11, "(телефон, e-mail)");
                   РАБ.EXCEL.ОбъединитьЯчейкиДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13);
                   РАБ.EXCEL.ФорматироватьЯчейку(xlsSheet, offsetRow, 11, РАБ.EXCEL.xlCenter,  0,  РАБ.EXCEL.xlCenter, True, "Arial", 08, 0, True, False, False, 0, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 02, offsetRow, 03, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 05, offsetRow, 05, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 07, offsetRow, 09, True);
                   РАБ.EXCEL.НадстрочноеНачертаниеДиапазона(xlsSheet, offsetRow, 11, offsetRow, 13, True);
                   ProgressPos(11);
                   offsetRow=offsetRow+1;
                   РАБ.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(12);
                   xlsRng=AsAutoObject(xlsSheet.Rows["1:"+Str(offsetRow)]);
                   Try xlsRng.AutoFit; Finally ClearVariable(xlsRng); end;
                   ProgressPos(13);
                   --
                   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;

--(vСч:S; iНастр:I; Mask:S):s;
proc добаттрXML(назв:S;зн:S;обяз:logical);
     if обяз or зн<>"":
         Раб.XML.ДОБАТТР(назв,зн);   
     fi;
end;


proc ФормироватьXML;
var n: Integer;
var i: Integer;
n = М1;
  Раб.XML.ДОБАТТР("ДатаОтч",DateToString(Today));
  Раб.XML.ДОБАТТР("ОКЕИ","383");
  РАБ.XML.ОткрытьТэгBuf("СпрЗаклСч",false);

--  for i = 1..n do
         РАБ.XML.ОткрытьТэг("СведСчет",'');
             РАБ.XML.ОткрытьТэг("Остаток",'');

                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ02С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ03С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ЦелевСред",false);
                РАБ.XML.ЗакрытьТэг; --ЦелевСред

                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ04С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ05С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ОказУслуг",false);
                РАБ.XML.ЗакрытьТэг; --ОказУслуг

            РАБ.XML.ЗакрытьТэг; --Остаток
            РАБ.XML.ОткрытьТэг("ЗаклЗапис",'');
                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ06С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ07С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ЦелевСред",false);
                РАБ.XML.ЗакрытьТэг; --ЦелевСред

                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ08С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ09С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ОказУслуг",false);
                РАБ.XML.ЗакрытьТэг; --ОказУслуг
                    РАБ.XML.ОткрытьТэг("Счет",'');
                        Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ10С100М1[1]")));
                        Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ11С100М1[1]")));
                        РАБ.XML.ОткрытьТэгBuf("ЦелевСред",false);
                        РАБ.XML.ЗакрытьТэг; --ЦелевСред

                        Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ12С100М1[1]")));
                        Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ13С100М1[1]")));
                        РАБ.XML.ОткрытьТэгBuf("ОказУслуг",false);
                        РАБ.XML.ЗакрытьТэг; --ОказУслуг
                    РАБ.XML.ЗакрытьТэг; --Счет
            РАБ.XML.ЗакрытьТэг; --ЗаклЗапис

            --Раб.XML.ДОБАТТР("НомСчет",GetVariableS("SГ01С100М1[1]"));
            Раб.XML.ДОБАТТР("НомСчет",Раб.Бюджет2005.ЗаменитьРазделительВНабореСлов(substr(GetVariableS("SГ01С100М1[1]"),Length(GetVariableS("SГ01С100М1[1]"))-11,12),".",""));

            РАБ.XML.ОткрытьТэгBuf("СведСчетНом",false);
                РАБ.XML.ОткрытьТэг("Остаток",'');

                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ02С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ03С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ЦелевСред",false);
                РАБ.XML.ЗакрытьТэг; --ЦелевСред

                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ04С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ05С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ОказУслуг",false);
                РАБ.XML.ЗакрытьТэг; --ОказУслуг

            РАБ.XML.ЗакрытьТэг; --Остаток
            РАБ.XML.ОткрытьТэг("ЗаклЗапис",'');
                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ06С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ07С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ЦелевСред",false);
                РАБ.XML.ЗакрытьТэг; --ЦелевСред

                Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ08С100М1[1]")));
                Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ09С100М1[1]")));
                РАБ.XML.ОткрытьТэгBuf("ОказУслуг",false);
                РАБ.XML.ЗакрытьТэг; --ОказУслуг
                    РАБ.XML.ОткрытьТэг("Счет",'');
                        Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ10С100М1[1]")));
                        Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ11С100М1[1]")));
                        РАБ.XML.ОткрытьТэгBuf("ЦелевСред",false);
                        РАБ.XML.ЗакрытьТэг; --ЦелевСред

                        Раб.XML.ДОБАТТР("Дебет",str(GetVariableN("RГ12С100М1[1]")));
                        Раб.XML.ДОБАТТР("Кредит",str(GetVariableN("RГ13С100М1[1]")));
                        РАБ.XML.ОткрытьТэгBuf("ОказУслуг",false);
                        РАБ.XML.ЗакрытьТэг; --ОказУслуг
                    РАБ.XML.ЗакрытьТэг; --Счет
            РАБ.XML.ЗакрытьТэг; --ЗаклЗапис
           РАБ.XML.ЗакрытьТэг; --СведСчетНом
         РАБ.XML.ЗакрытьТэг; --СведСчет
--     od;
     РАБ.XML.ЗакрытьТэг; --СпрЗаклСч
end;


func формироватьИмяФайла: String;
 var fname: string;
    -- R_Т_A_K_О_GGGGMMDD_N
    fname = "NO_BOUCHR2";
    fname = fname +РПО_КОДМНС+"_"+РПО_КОДМНС;
    fname = fname +"_"+ИНН+КПП;
    fname = fname +"_"+extractword(3,DateToString(Today),".")+extractword(2,DateToString(Today),".")+extractword(1,DateToString(Today),".");
    fname = fname +"_"+GetGUID;
 ^fname;
end;

proc ЭкспортФНС;

 var FullPath:String;
 var tmp: String;
 var FName: String;

 if ChooseFolder(FullPath, "Выберите папку для сохранения файла экспорта...")=cmOK:
     FName = формироватьИмяФайла;
     FullPath = FullPath + FName+".xml";


     РАБ.XML.ОЧИСТИТЬ;
     --ФАЙЛ
     добаттрXML("ИдФайл",FName,true);
     добаттрXML("ВерсПрог",Str(Версия.Сборка0)+if(Версия.Сборка1<>0,"."+Str(Версия.Сборка1),"")+Версия.Сборка2,true);
     добаттрXML("ВерсФорм","5.01",true);
     РАБ.XML.ОткрытьТэгBuf("Файл",false);
     --ДОКУМЕНТ
       добаттрXML("КНД","0503710",true);
       добаттрXML("ДатаДок",DateToString(Today),true);
       добаттрXML("Период","34",true);
       добаттрXML("ОтчетГод",Substr(DateToString(ДК-1),7,4),true);
       добаттрXML("НомКорр","0",true);
       РАБ.XML.ОткрытьТэгBuf("Документ",false);
     --СвНП
        добаттрXML("ОКПО",ОКПО,false);
        добаттрXML("ОКТМО",ОКТМО,false);
        добаттрXML("ОКПО_Учр",ОКПО_учр,false);
        добаттрXML("ГлаваБК",ГлаваБК,false);
       РАБ.XML.ОткрытьТэгBuf("СвНП",false);
      --НПЮЛ
       добаттрXML("НаимОрг",Учреждение,true);
       добаттрXML("ИННЮЛ",ИНН,true);
       добаттрXML("КПП",КПП,true);
       добаттрXML("НаимОП",НаимОП,false);
       добаттрXML("КПП_ОП",КППОП,false);
       добаттрXML("Учредит",Учред,false);
       добаттрXML("УчредПолн",Учред,false);
       добаттрXML("ИННЮЛ_Учр",ИНН_учр,false);
       добаттрXML("КПП_Учр",КПП_учр,false);
       РАБ.XML.ОткрытьТэгBuf("НПЮЛ",false);

        РАБ.XML.ЗакрытьТэг;  --НПЮЛ
       РАБ.XML.ЗакрытьТэг;  --СвНП

       -- Подписант
       if ФИОБух<>"":  добаттрXML("ПрПодп","4",true);
        else  добаттрXML("ПрПодп","3",true);fi;
        добаттрXML("Тлф",телефон,false);
        добаттрXML("E-mail",EMAIL,false);
        РАБ.XML.ОткрытьТэгBuf("Подписант",false);
        --ФИО

        if ФИОБух<>"":  
             добаттрXML("Фамилия",extractword(1,ФИОБух," "),true);
             добаттрXML("Имя",extractword(2,ФИОБух," "),true);
             добаттрXML("Отчество",extractword(3,ФИОБух," "),false);
        else
             добаттрXML("Фамилия",extractword(1,ФИОРук," "),true);
             добаттрXML("Имя",extractword(2,ФИОРук," "),true);
             добаттрXML("Отчество",extractword(3,ФИОБух," "),false);
        fi;
        РАБ.XML.ОткрытьТэгBuf("ФИО",false);

        РАБ.XML.ЗакрытьТэг;  --ФИО
        РАБ.XML.ЗакрытьТэг;  --Подписант

        ФормироватьXML;

      РАБ.XML.ЗакрытьТэг;  --Документ
     РАБ.XML.ЗакрытьТэг;  --файл

     РАБ.XML.ЗаписьФайла(FullPath,"1251");
     Message("Выгрузка завершена успешно");
 fi;
end;


Proc btnExport_OnClick(Sender: String);
var num :Integer;
 ClearVariable(Buf);
 Buf[1]="Выгрузка в файл (формат ФНС)";

 num=Alternate("Выберите тип выгрузки...", Buf, -1, 1, 12);
 if num=1: ЭкспортФНС;
    |num=2: Экспорт_Excel;
 else Exit;
 fi;


end;





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

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

Proc AfterOpen(Destroy: Logical);
 ПрисвоитьТочность;
end;





КОНЕЦ