<?xml version="1.0" encoding="windows-1251"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by ASD (ASD) -->
<Модуль rg_version="1.0">
  <интерфейс>
    <отчет>
      <наименование>Форма 0503125-191н_ред186н_2023</наименование>
      <код_раздела>Reports5n</код_раздела>
      <номер_код>ar0503125_186n_2023</номер_код>
      <шаблон>
        <тип>MSE</тип>
        <мнемокод>ar_form0503125_186n_2023</мнемокод>
        <файл>Форма0503125_191н_ред186н_2023.xlt</файл>
      </шаблон>
      <!--Отчет формируется по хозяйственным операциям за период-->
    </отчет>
  </интерфейс>
  <отчет>
    <реализует>ar0503125_186n_2023</реализует>
      <дополнительно>
      <запомнить_переменные>
        <список_переменных>dSelDate;dReoDate;cAccR;nPrintAll;nAnLevel;cOrg;cBudgetName;cVidDD;cBalUnits;cCodePPP;cTxt18B1;cTxt18B2;cTxt18B3;cTxt18B4;cTxt18B5;cTxt18B6;cTxt18B7;cTxt18B8;cTxt18B9;cTxt18B10;lMoneyOnly;cMarkRN;nSort;lPrint10_12;cKSO;cKorrSMask;nRollKorrS;cUnlPath;nVRO;cIST;cPRP;cDicIsp;cIspName;cIspTel</список_переменных>
        <мемофайл>ar_form0503125_191n_186n_2023;ar_form0503125_191n_82n_2022;ar_form0503125_191n_82n_2021;ar_form0503125_191n_311n_2020;ar_form0503125_191n_131n_2020B;ar_form0503125_191n_72n_2019B</мемофайл>
      </запомнить_переменные>
      </дополнительно>
    <переменные>
      <переменная>
        <имя>cWhereRB</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>dSelDate</имя>
        <начальное_значение>oSystem.Date</начальное_значение>
        <!--Отчетный период-->
      </переменная>
      <переменная>
        <имя>dReoDate</имя>
        <начальное_значение>{}</начальное_значение>
        <!--Дата реорганизации-->
      </переменная>
      <переменная>
        <имя>cAccR</имя>
        <начальное_значение>""</начальное_значение>
        <!--Счета расходов-->
      </переменная>
      <переменная>
        <имя>nPrintAll</имя>
        <начальное_значение>0</начальное_значение>
        <!--Печатать по всем кодам-->
      </переменная>
      <переменная>
        <имя>nAnLevel</имя>
        <начальное_значение>5</начальное_значение>
        <!--Уровень аналитики-->
      </переменная>
      <переменная>
        <имя>cOrg</имя>
        <начальное_значение>""</начальное_значение>
        <!--Контрагент для отбора-->
      </переменная>
      <переменная>
        <имя>cBudgetName</имя>
        <начальное_значение>""</начальное_значение>
        <!--Наименование бюджета-->
      </переменная>
      <переменная>
        <имя>cBudgetRN</имя>
        <начальное_значение>""</начальное_значение>
        <!--Бюджет в заголовке отчета-->
      </переменная>
      <переменная>
        <имя>glBK</имя>
        <начальное_значение>""</начальное_значение>
        <!--Глава по БК-->
      </переменная>
       <переменная>
         <имя>cVidDD</имя>
         <начальное_значение>""</начальное_значение>
         <!--Наименование вида деятельности-->
      </переменная>
      <переменная>
        <имя>cWhereBU</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>dDateBegin</имя>
        <начальное_значение>{}</начальное_значение>
      </переменная>
      <переменная>
        <имя>dDateEnd</имя>
        <начальное_значение>{}</начальное_значение>
      </переменная>
      <переменная>
        <имя>dDateRst</имя>
        <начальное_значение>{}</начальное_значение>
      </переменная>
      <переменная>
        <имя>cBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Бал. единицы-->
      </переменная>
      <переменная>
        <имя>cWhereBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по балансовым единицам-->
      </переменная>
      <переменная>
        <имя>cCodePPP</имя>
        <начальное_значение>""</начальное_значение>
        <!--Код по ППП-->
      </переменная>
      <переменная>
        <имя>CTxt18B1</имя>
        <начальное_значение>"1"</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B2</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B3</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B4</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B5</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B6</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B7</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B8</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B9</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B10</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>c18B</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак-->
      </переменная>
      <переменная>
        <имя>CUsl18B</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие для 18 знака счета-->
      </переменная>
      <переменная>
        <имя>lMoneyOnly</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Отражать показатели только по денежным расчетам-->
      </переменная>
      <переменная>
        <имя>cMarkRN</имя>
        <начальное_значение>""</начальное_значение>
        <!--Особая отметка-->
      </переменная>
      <переменная>
        <имя>nSort</имя>
        <начальное_значение>1</начальное_значение>
        <!--Сортировать по-->
      </переменная>
      <переменная>
        <имя>CWhereMark</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие для особой отметки-->
      </переменная>
      <переменная>
        <имя>lPrint10_12</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Заполнять графы 10-12-->
      </переменная>
      <переменная>
        <имя>cKSO</имя>
        <начальное_значение>"ПБС"</начальное_значение>
        <!--Код субъекта отчетности-->
      </переменная>
      <переменная>
        <имя>cKorrSMask</имя>
        <начальное_значение>"20121*;20122*;20123*;20127*;21002*;202*;203*;30405*"</начальное_значение>
        <!--Маски корреспондирующих счетов денежных расчетов-->
      </переменная>
      <переменная>
        <имя>nRollKorrS</имя>
        <начальное_значение>0</начальное_значение>
        <!--Сворачивать коррсчет до синтетического счета-->
      </переменная>
      <переменная>
        <имя>cUnlPath</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileName</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileNameF</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileNameM</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>nVRO</имя>
        <начальное_значение>1</начальное_значение>
        <!--Вид реорганизационной отчетности (ВРО)-->
      </переменная>
      <переменная>
        <имя>cIST</имя>
        <начальное_значение>""</начальное_значение>
        <!--ИСП-->
      </переменная>
      <переменная>
        <имя>cPRP</имя>
        <начальное_значение>"500"</начальное_значение>
        <!--ПРП-->
      </переменная>
      <переменная>
        <имя>cDicIsp</имя>
        <начальное_значение>""</начальное_значение>
        <!--Исполнитель-->
      </переменная>
      <переменная>
        <имя>cIspName</имя>
        <начальное_значение>""</начальное_значение>
        <!--ФИО исполнителя-->
      </переменная>
      <переменная>
        <имя>cIspTel</имя>
        <начальное_значение>""</начальное_значение>
        <!--Телефон исполнителя-->
      </переменная>
      <переменная>
        <имя>arrAccR</имя>
        <начальное_значение>""</начальное_значение>
        <!--Массив кодов бюджетного учета-->
      </переменная>
      <переменная>
        <имя>RepG151</имя>
        <начальное_значение>CreateObject("form0503buxrepd")</начальное_значение>
      </переменная>
      <переменная>
        <имя>dReportDate</имя>
        <начальное_значение>Date(2023,01,31)</начальное_значение>
      </переменная>
      <переменная>
        <имя>lNoError</имя>
        <начальное_значение>.T.</начальное_значение>
      </переменная>
    </переменные>
    <запуск_формы>
      <ид>f_0503125_191n_186n_2023</ид>
    </запуск_формы>
    <вычисление>
      <сообщение>Ждите, идет выборка данных ...</сообщение>
      <FPC_><![CDATA[*[VFP]
dDateEnd   = Iif(Empty(m.dReoDate), DOX(m.dSelDate, 4), m.dReoDate - 1)
dDateBegin = DOX(m.dDateEnd, 1)
dDateRst   = DOX(m.dDateEnd + 1, 3)

Local Array arrBP[1]

* Глава по БК
If !Empty(m.cWhereBU)
   Select B.Rasp_Code ;
     From OrgBase O ;
       Inner Join fBudMG B On O.RN = B.OrgBase_RN ;
     Where &cWhereBU And !Empty(B.Rasp_Code);
     Into Array arrBP
   *
   If _Tally > 0
     glBK = arrBP(1)
   EndIf 
EndIf 

If Empty(m.glBK)
   Select Rasp_Code ;
     From fBudMG ;
     Where OrgBase_RN = ?oSystem.OwnerOrgRn And !Empty(Rasp_Code);
     Into Array arrBP
   *
   If _Tally > 0
     glBK = arrBP(1)
   EndIf 
EndIf

* Бюджет
If Empty(m.cBudgetName)
  Select G.Master_RN ;
    From fBudMG B ;
      Inner Join MUBudgMG G On B.BudMG_RN = G.FBudMG_RN ;
    Where B.OrgBase_RN = Iif(?m.cOrg # "|" And Len(?m.cOrg) = 4, ?m.cOrg, ?oSystem.OwnerOrgRN) ;
    Into ARRAY arrBP
  *
  If _Tally # 0
    cBudgetRN = arrBP(1)
  EndIf
Else
  cBudgetRN = m.cBudgetName
EndIf
   ]]></FPC_>
    </вычисление>
    <печать>
      <!--Печать отчета--><MSE>
        <!--Печать в MS Excel-->
        <FPC_><![CDATA[*[VFP]
Private cIsKL2, nI, nALen, cWhereIsMoney, cWhereMoney
Local cKorrSMask1, nPos, cMask
nALen = ALen(arrAccR)
*ON ERROR

If oSystem.SystemName = "ACCFIN"
*  cIsKL  = 'Iif(!Empty(AccBase.BKLSDOH_RN) And Empty(AccBase.BKLSSRC_RN) And Empty(AccBase.BKLSEXP_RN), 0, Iif(!Empty(AccBase.BKLSSRC_RN) And Empty(AccBase.BKLSEXP_RN), 2, 1))'
  cIsKL2 = 'Iif(!Empty(AccBase.BKLSDOH_RN) And Empty(AccBase.BKLSSRC_RN) And Empty(AccBase.BKLSEXP_RN), 1, Iif(!Empty(AccBase.BKLSSRC_RN) And Empty(AccBase.BKLSEXP_RN), 3, Iif(!Empty(AccBase.BKLSEXP_RN), 2, 0)))'
Else
*  cIsKL  = 'Iif(Empty(AccBase.RN_TFIN) And !Empty(AccBase.RN_KLSDOH), Iif(BKlsDoh.KLS_TYPE = 0, 0, 2), 1)'
  cIsKL2 = 'Iif(!Empty(AccBase.RN_KLSDOH), Iif(BKlsDoh.KLS_TYPE = 0, 1, 3), Iif(!Empty(AccBase.RN_TFIN), 2, 0))'
EndIf

* Денежные / неденежные
cKorrSMask1 = AllTrim(m.cKorrSMask)
Store "" To cWhereIsMoney, cWhereMoney
Do While !Empty(m.cKorrSMask1)
   nPos = AT(";", m.cKorrSMask1)
   If m.nPos = 0
      cMask = m.cKorrSMask1
      cKorrSMask1 = ""
   Else
      cMask = Left(m.cKorrSMask1, m.nPos - 1)
      cKorrSMask1 = SubStr(m.cKorrSMask1, m.nPos + 1)
   EndIf
   If !Empty(m.cMask)
      If !Empty(m.cWhereIsMoney)
         cWhereIsMoney = m.cWhereIsMoney + " OR "
      EndIf
      cMask = Bracket(AllTrim(m.cMask))
      If "*" $ m.cMask Or "?" $ m.cMask
         cWhereIsMoney = m.cWhereIsMoney + "Like(" + m.cMask + ", SubStr(B.AccKorr, 2))"
      Else
         cWhereIsMoney = m.cWhereIsMoney + "SubStr(B.AccKorr, 2) = " + m.cMask
      EndIf
   EndIf
EndDO
If Empty(m.cWhereIsMoney)
   cWhereIsMoney = ".F."
EndIf
If m.lMoneyOnly
   cWhereMoney = "Where " + m.cWhereIsMoney
EndIf

* подготовка данных
= CurClose("crTurns;crItog;crItogAcc;crItogMoney;crItogNoMoney")

Create CURSOR crTurns_       (Code C(9), Budget C(1), RN_AGENT C(4), Agent C(240), UFK_Code C(12), PPP C(3), OKATO C(11), ElemBud C(2), RN_ACC C(4), Account C(29), RN_ANL C(4), SAccount C(15), ;
                              ObDb N(18, 2), ObKr N(18, 2), AccKorr C(12), AnKorr C(15), IsKL2 N(1), L10 L, L11 L, L12 L)
Create CURSOR crItog_        (Code C(9), Budget C(1), ObDb N(18, 2), ObKr N(18, 2))
Create CURSOR crItogAcc_     (Code C(9), Budget C(1), UFK_Code C(12), PPP C(3), OKATO C(11), ElemBud C(2), Account C(29), SAccount C(15), ObDb N(18, 2), ObKr N(18, 2))
Create CURSOR crItogMoney_   (Code C(9), Budget C(1), UFK_Code C(12), PPP C(3), OKATO C(11), ElemBud C(2), Account C(29), SAccount C(15), AccKorr C(12), AnKorr C(15), ObDb N(18, 2), ObKr N(18, 2), IsKL2 N(1), L10 L, L11 L, L12 L)
Create CURSOR crItogNoMoney_ (Code C(9), Budget C(1), UFK_Code C(12), PPP C(3), OKATO C(11), ElemBud C(2), Account C(29), SAccount C(15), AccKorr C(12), AnKorr C(15), ObDb N(18, 2), ObKr N(18, 2), IsKL2 N(1), L10 L, L11 L, L12 L)

For m.nI = 1 To m.nALen
  If m.nPrintAll = 1 Or arrAccR[m.nI] == m.cAccR
    = GetSum125_191(arrAccR[m.nI])
    = InsertInto125_191("crTurns")
    = InsertInto125_191("crItog")
    = InsertInto125_191("crItogAcc")
    = InsertInto125_191("crItogMoney")
    = InsertInto125_191("crItogNoMoney")
  EndIf
Next

&& Формирую имя файла            
If !Empty(m.cUnlPath)
  = MakeFileName125("")
  = MakeFileName125("f")
  = MakeFileName125("m")
EndIf

* Массивы для динамического формирования сценария выгрузки
Private arrOut1, arrOut2, arrOutF1, arrOutF2, arrOutM1, arrOutM2
Dimension arrOut1[m.nALen], arrOut2[m.nALen], arrOutF1[m.nALen], arrOutF2[m.nALen], arrOutM1[m.nALen], arrOutM2[m.nALen]

Private oPrint, cS
Local j
oPrint = objCaller.objExcelRep

* области печати
Local Array aRepParts( 9 )
aRepParts[ 1 ] = "Header"
aRepParts[ 2 ] = "Spec"
aRepParts[ 3 ] = "SpecItog"
aRepParts[ 4 ] = "SpecAcc"
aRepParts[ 5 ] = "SpecMoney"
aRepParts[ 6 ] = "SpecNoMoney"
aRepParts[ 7 ] = "Space1"
aRepParts[ 8 ] = "Space2"
aRepParts[ 9 ] = "Footer"

oPrint.ReportPrepare(@aRepParts)

oPrint.PrintRange("Begin")

For m.nI = 1 To m.nALen
  If m.nPrintAll = 1 Or arrAccR[m.nI] == m.cAccR
    For m.j = 1 To 2
      cS = Iif(InList(arrAccR[m.nI], "040110189", "040110191", "040110195"), Iif(m.j = 1, "f", "m"), "")
      If m.j = 1 Or !Empty(m.cS)
        Select * From crTurns_ Where Code = ?arrAccR[m.nI] And Budget = ?m.cS Into CURSOR crTurns
        If _Tally = 0
          Use In crTurns
          Loop
        EndIf
        Select * From crItog_        Where Code = ?arrAccR[m.nI] And Budget = ?m.cS Into CURSOR crItog
        Select * From crItogAcc_     Where Code = ?arrAccR[m.nI] And Budget = ?m.cS Into CURSOR crItogAcc
        Select * From crItogMoney_   Where Code = ?arrAccR[m.nI] And Budget = ?m.cS Into CURSOR crItogMoney
        Select * From crItogNoMoney_ Where Code = ?arrAccR[m.nI] And Budget = ?m.cS Into CURSOR crItogNoMoney
        = PrintOne125_191()
      EndIf
    Next
  EndIf
Next

= CurClose("crTurns_;crItog_;crItogAcc_;crItogMoney_;crItogNoMoney_")

oPrint.ReportFinal()

oPrint.PrintRange("End")

* проверка наличия данных для выгрузки
= CheckDateForExp125("")
= CheckDateForExp125("F")
= CheckDateForExp125("M")

&& удаляем листы
= DeleteSheet125("")
= DeleteSheet125("F")
= DeleteSheet125("M")

&& формируем сценарии выгрузки в Минфин
= PrintOut125("")
= PrintOut125("F")
= PrintOut125("M")

oPrint.Book.Sheet = 1

*oPrint = NULL

Return


****************************
Procedure InsertInto125_191
  LParameters cAlias

  Local cAlias_, oRec
  cAlias_ = m.cAlias + "_"

  If Used(m.cAlias)
     Select (m.cAlias)
     Scan For ObDb # 0 Or ObKr # 0
       Scatter Name oRec
       Insert Into (m.cAlias_) From Name oRec
       Replace Code With arrAccR[m.nI] In (m.cAlias_)
     EndScan
     Use In (m.cAlias)
  EndIf

EndProc


****************************
Procedure GetSum125_191
Parameters cAccR

* переменные
Local cAnalitDK, cAnalitRst, cAnalit_D, cAnalit_K, cAnKorr_D, cAnKorr_K, cWhereAcc, cAcc, cWhereAn, cJoinAn, cJoinAn_D, cJoinAn_K, ;
      cWhereOrg, cWhereOrgDK, cWhere30305, cOrder, cLevel, cAlias, cJoinSpec, cAgentD, cAgentK, cAnKls, i, s, oRec
Local ARRAY arrBudget[1]
cWhereAcc = ".F."
cWhere30305 = Iif(InList(m.cAccR, "130305000", "130305731", "130305831"), "Where IsKL2 = 1 Or Left(Account, 3) = '219'", "")

Do Case
  Case SubStr(m.cAccR, 7, 3) = "000"
    cWhereAn = ""
  Case SubStr(m.cAccR, 9, 1) = "0"
    cWhereAn = " And Left(N.SAccount, 2) = '" + SubStr(m.cAccR, 7, 2) + "'"
  Otherwise
    cWhereAn = " And Left(N.SAccount, 3) = '" + SubStr(m.cAccR, 7, 3) + "'"
EndCase

RepG151.GetComRepPrm151("_0503125", @lNoError, @cWhereAcc)
CurOpen("fSbFBase")

* cIsKL = 0 - доходы
*         1 - расходы
*         2 - источники
* cIsKL2 = 1 - доходы
*          2 - расходы
*          3 - источники
*          0 - в счете отсутствуют ссылки на классификаторы

If m.lNoError
  cAcc = SubStr(m.cAccR, 2, Iif(InList(m.cAccR, "140140151", "140140161"), 4, 5))
  cWhereAcc = m.cWhereRB + " And SubStr(AccBase.Account, 19, " + Str(Len(m.cAcc), 1) + ") = '" + m.cAcc + "'" + m.cWhereBalUnits
EndIf

Select AccBase.Account, AccBase.RN, InList(AccBase.S_ANALITYC, 9, 10, 11, 12) As LDK, &cIsKL2 As IsKL2, ;
       AT("3", AccBase.ORG_AN)   As LevelD, ;
       AT("9", AccBase.SMETA_AN) As LevelR ;
  From AccBase ;
    Left Join BKlsDoh On AccBase.RN_KLSDOH  = BKlsDoh.RN ;
    Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
  Where &cWhereAcc ;
  Into CURSOR crAccBase

Index On RN Tag RN

* аналитика для бюджетного учреждения
Store "" To cJoinAn, cJoinAn_D, cJoinAn_K, cWhereOrg, cJoinSpec

If !Empty(m.cWhereBU)
  Select S.Rn ;
    From crAccBase A ;
      Inner Join AccSpec S On A.Rn = S.Master_Rn ;
      Inner Join OrgBase O On S.Rn_TOrg = O.Rn ;
    Where &cWhereBU ;
    Into CURSOR crsAccSpRN

  If _Tally = 0
    cWhereOrg = "And .F."
  Else
    Index On RN Tag RN
    cJoinAn = "Left Join crsAccSpRN A1 On S.RN_AC_A1 = A1.RN " ;
            + "Left Join crsAccSpRN A2 On S.RN_AC_A2 = A2.RN " ;
            + "Left Join crsAccSpRN A3 On S.RN_AC_A3 = A3.RN " ;
            + "Left Join crsAccSpRN A4 On S.RN_AC_A4 = A4.RN " ;
            + "Left Join crsAccSpRN A5 On S.RN_AC_A5 = A5.RN "
    cJoinAn_D = StrTran(m.cJoinAn, "_AC_", "_DB_")
    cJoinAn_K = StrTran(m.cJoinAn, "_AC_", "_KR_")
    cWhereOrg = "And (!IsNull(A1.RN) Or !IsNull(A2.RN) Or !IsNull(A3.RN) Or !IsNull(A4.RN) Or !IsNull(A5.RN))"
  EndIf
EndIf

* аналитика для КОСГУ
Store "S.RN_DB_A" + Str(m.nAnLevel, 1) To cAnalit_D, cAnKorr_D
Store "S.RN_KR_A" + Str(m.nAnLevel, 1) To cAnalit_K, cAnKorr_K

If InList(m.cAccR, "120551000", "120561000", "120651000", "120654000", "120711000", "120721000", "120731000") Or ;
   InList(m.cAccR, "130111000", "130121000", "130131000", "130251000", "130254000", "130305000", "140140151", "140140161")
  ** Остатки на конец отчетного периода
  * аналитика для КОСГУ
  If Empty(m.cWhereAn)
    Store "Space(4)" To cAnalitDK, cAnalitRst, cAnalit_D, cAnalit_K
  Else
    cAnalitDK  = "B.RN_ACC_A" + Str(m.nAnLevel, 1)
    cAnalitRst = "S.RN_AC_A"  + Str(m.nAnLevel, 1)
  EndIf

  * отбор записей по бюджетному учреждению
  cWhereOrgDK = Iif(Empty(m.cWhereBU), "", "And " + m.cWhereBU)

  * остатки по взаиморасчетным счетам (н/мес.)
  Select B.RN, B.RN_AGENT, A.IsKL2, B.RN_ACC, A.Account As Account, ;
         &cAnalitDK As RN_ANL,     ;
         NVL(N.SAccount, Space(15)) As SAccount, ;
         B.SUME_BEGIN As SUM ;
    From DkBase B ;
      Inner Join crAccBase A On B.RN_ACC = A.RN ;
      Left  Join AccSpec   N On &cAnalitDK = N.RN ;
      Left  Join OrgBase   O On B.RN_OrgPU = O.RN ;
    Where B.Period = ?m.dDateRst And A.LDK &cWhereMark &cWhereOrgDK &cWhereAn ;
    Into CURSOR cTmpDK READWRITE

  * обороты по взаиморасчетным счетам и остаток на дату реорганизации (начало дня)
  If m.dDateRst <= m.dDateEnd
    Scan
      Select SP.ACC_TYPE, S.SUM_EQUAL as SUM ;
        From DKSpec SP ;
          Inner Join EopSpMir S On SP.RN_EOSpec = S.RN ;
        Where SP.Master_RN = ?cTmpDK.RN And Between(S.DATE_EOP, ?m.dDateRst, ?m.dDateEnd) ;
        Into CURSOR cTmpEo

      Scan
        Replace SUM With cTmpDK.SUM + Iif(cTmpEo.ACC_TYPE = "D", cTmpEo.SUM, -cTmpEo.SUM) In cTmpDK
      EndScan

      Use In cTmpEo
    EndScan
  EndIf

  && замена МОЛ на бюджетное учреждение или "МЫ"
  Select Iif(Nvl(O.Type, "1") = "1", B.RN_AGENT, Nvl(U.OrgBase_RN, ?oSystem.OwnerOrgRN)) As RN_AGENT, ;
         B.IsKL2, B.RN_ACC, B.Account, B.RN_ANL, B.SAccount, B.SUM  ;
    From cTmpDK B ;
      Left Join OrgBase  O On B.RN_AGENT  = O.RN ;
      Left Join BOrgSpec M On B.RN_AGENT  = M.OrgBase_RN ;
      Left Join BOrgBase U On M.Master_RN = U.BORG_RN ;
    Into CURSOR cTmpDK1 READWRITE

  Use In cTmpDK

  * остатки по невзаиморасчетным счетам
  Create CURSOR cTmpNoDKRests (RN_ACC C(4), Account C(29), RN_ANL C(4), SAccount C(15), ;
                               RN_AN1 C(4), RN_AN2 C(4), RN_AN3 C(4), RN_AN4 C(4), RN_AN5 C(4), ;
                               IsKL2 N(1), LevelD N(1), LevelR N(1), SUM N(18,2))
  Select crAccBase
  Scan For !LDK
    cAnKls = ""
    If Empty(m.cWhereAn) And Empty(m.cWhereOrg) And (crAccBase.IsKL2 # 0 Or crAccBase.LevelD = 0 And crAccBase.LevelR = 0)
      cAlias = "R"
      For m.i = 1 To 5
        s = Str(m.i, 1)
        cAnKls = m.cAnKls + "Space(4) As RN_AN" + m.s + ", "
      Next
    Else
      cAlias = "S"
      For m.i = 1 To 5
        s = Str(m.i, 1)
        cAnKls = m.cAnKls + "S.RN_AC_A" + m.s + " As RN_AN" + m.s + ", "
      Next
      cJoinSpec = "Inner Join AcAnRest S On R.RN = S.Master_RN"
    EndIf

    Select R.RN_ACCOUNT As RN_ACC, ?crAccBase.Account As Account, ;
           &cAnalitRst As RN_ANL, ;
           NVL(N.SAccount, Space(15)) As SAccount, ;
           &cAnKls ;
           ?crAccBase.IsKL2 As IsKL2, ?crAccBase.LevelD As LevelD, ?crAccBase.LevelR As LevelR, ;
           &cAlias..SUMM_DB_EQUAL - &cAlias..SUMM_KR_EQUAL As SUM ;
      From AcRest R ;
        &cJoinSpec ;
        Left  Join AccSpec N On &cAnalitRst = N.RN ;
        &cJoinAn ;
      Where R.DATE_REST = ?m.dDateRst And R.RN_ACCOUNT = ?crAccBase.RN &cWhereOrg &cWhereAn ;
      Into CURSOR cTmpNoDKRst1

    Scan
      Scatter NAME oRec
      Insert Into cTmpNoDKRests From NAME oRec
    EndScan
    Use In cTmpNoDKRst1
  EndScan

  Select * From cTmpNoDKRests ;
  UNION ALL ;
  Select S.RN_DB As RN_ACC, A.Account As Account, ;
         &cAnalit_D As RN_ANL, ;
         NVL(N.SAccount, Space(15)) As SAccount, ;
         S.RN_DB_A1  As RN_AN1, ;
         S.RN_DB_A2  As RN_AN2, ;
         S.RN_DB_A3  As RN_AN3, ;
         S.RN_DB_A4  As RN_AN4, ;
         S.RN_DB_A5  As RN_AN5, ;
         A.IsKL2, A.LevelD, A.LevelR, ;
         S.Sum_Equal As SUM ;
    From EopSpMir S ;
      Inner Join crAccBase A On S.RN_DB    = A.RN ;
      Left  Join AccSpec   N On &cAnalit_D = N.RN ;
      &cJoinAn_D ;
    Where Between(S.DATE_EOP, ?m.dDateRst, ?m.dDateEnd)  And !A.LDK &cWhereOrg &cWhereAn ;
  UNION ALL ;
  Select S.RN_KR As RN_ACC, A.Account As Account, ;
         &cAnalit_K As RN_ANL, ;
         NVL(N.SAccount, Space(15)) As SAccount, ;
         S.RN_KR_A1  As RN_AN1, ;
         S.RN_KR_A2  As RN_AN2, ;
         S.RN_KR_A3  As RN_AN3, ;
         S.RN_KR_A4  As RN_AN4, ;
         S.RN_KR_A5  As RN_AN5, ;
         A.IsKL2, A.LevelD, A.LevelR, ;
         -S.Sum_Equal As SUM ;
    From EopSpMir S ;
      Inner Join crAccBase A On S.RN_KR    = A.RN ;
      Left  Join AccSpec   N On &cAnalit_K = N.RN ;
      &cJoinAn_K ;
    Where Between(S.DATE_EOP, ?m.dDateRst, ?m.dDateEnd)  And !A.LDK &cWhereOrg &cWhereAn ;
    Into CURSOR cTmpNoDK READWRITE

  Use In cTmpNoDKRests

  && поиск классификатора в аналитике
  Select cTmpNoDK
  Scan For Empty(IsKL2)
    If !Empty(LevelD)
      cLevel = Str(LevelD, 1)
      If Seek(RN_AN&cLevel, "AccSpec", "RN") And !Empty(AccSpec.RN_KLSDOH) And Seek(AccSpec.RN_KLSDOH, "BKlsDoh", "RN")
        Replace IsKL2 With Iif(BKlsDoh.KLS_TYPE = 0, 1, 3)
      EndIf
    EndIf
    If Empty(IsKL2) And !Empty(LevelR)
      cLevel = Str(LevelR, 1)
      If Seek(RN_AN&cLevel, "AccSpec", "RN") And !Empty(AccSpec.RN_TFIN) And Seek(AccSpec.RN_TFIN, "fSbFBase", "RN")
        Replace IsKL2 With 2
      EndIf
    EndIf
  EndScan

  && Объединяем остатки по взаиморасчетныз и невзаиморасчетным счетам (+ группировка оборотов)
  Select RN_AGENT, RN_ACC, Account, RN_ANL, SAccount, IsKL2, Sum(SUM) As SUM ;
    From cTmpDK1 ;
    Group By 2, 4, 1, 6 ;
  UNION ALL ;
  Select Space(4) As RN_AGENT, RN_ACC, Account, RN_ANL, SAccount, IsKL2, Sum(SUM) As SUM ;
    From cTmpNoDK ;
    Group By 2, 4, 6 ;
    Into CURSOR cTmpDKAll

  Use In cTmpDK1
  Use In cTmpNoDK

  && группировка оборотов и заполнение полей для отчета
  Select B.RN_AGENT, B.RN_ACC, B.Account, B.RN_ANL, B.SAccount, B.IsKL2, ;
         Nvl(BMG.UFK_Code, Space(12)) As UFK_Code, ;
         Left(Iif(Left(Nvl(O1.Mnemo, Space(15)), 3) = "ППП", O1.Name, ;
              Iif(Left(Nvl(O2.Mnemo, Space(15)), 3) = "ППП", O2.Name, ;
              Iif(Left(Nvl(O3.Mnemo, Space(15)), 3) = "ППП", O3.Name, ;
              Iif(Left(Nvl(O4.Mnemo, Space(15)), 3) = "ППП", O4.Name, ;
              Iif(Left(Nvl(O5.Mnemo, Space(15)), 3) = "ППП", O5.Name, ;
              Space(3)))))), 3) As PPP, ;
         Left(Iif(Left(Nvl(O1.Mnemo, Space(15)), 2) = "ЭБ", O1.Name, ;
              Iif(Left(Nvl(O2.Mnemo, Space(15)), 2) = "ЭБ", O2.Name, ;
              Iif(Left(Nvl(O3.Mnemo, Space(15)), 2) = "ЭБ", O3.Name, ;
              Iif(Left(Nvl(O4.Mnemo, Space(15)), 2) = "ЭБ", O4.Name, ;
              Iif(Left(Nvl(O5.Mnemo, Space(15)), 2) = "ЭБ", O5.Name, ;
              Space(2)))))), 2) As ElemBud, ;
         NVL(ORG.ShowName, Space(240)) As Agent, ;
         Left(Iif(Left(Nvl(O1.Mnemo, Space(15)), 5) = "ОКАТО", O1.Name, ;
              Iif(Left(Nvl(O2.Mnemo, Space(15)), 5) = "ОКАТО", O2.Name, ;
              Iif(Left(Nvl(O3.Mnemo, Space(15)), 5) = "ОКАТО", O3.Name, ;
              Iif(Left(Nvl(O4.Mnemo, Space(15)), 5) = "ОКАТО", O4.Name, ;
              Iif(Left(Nvl(O5.Mnemo, Space(15)), 5) = "ОКАТО", O5.Name, ;
              Nvl(ORG.OKATO, Space(11))))))), 11) As OKATO, ;
         SUM ;
    From cTmpDKAll B ;
      Left Join fBudMG  BMG On B.RN_AGENT = BMG.OrgBase_RN ;
      Left Join OrgBase ORG On B.RN_AGENT = ORG.RN ;
      Left Join MarkBase O1 On ORG.MARK1_RN = O1.RN ;
      Left Join MarkBase O2 On ORG.MARK2_RN = O2.RN ;
      Left Join MarkBase O3 On ORG.MARK3_RN = O3.RN ;
      Left Join MarkBase O4 On ORG.MARK4_RN = O4.RN ;
      Left Join MarkBase O5 On ORG.MARK5_RN = O5.RN ;
    Into CURSOR cTmpDK2

  Use In cTmpDKAll
Else
  * Контрагент
  Do Case
    Case InList(m.cAccR, "040120241", "040120281") Or InList(m.cAccR, "140120251", "140120254")
      Store "B.RN_ORGTO" To cAgentD, cAgentK
    Case InList(m.cAccR, "040110189", "040110191", "040110195")
      Store "B.RN_ORGFR" To cAgentD, cAgentK
    Case InList(m.cAccR, "140110151", "140110161")
      Store "Iif(InList(SubStr(Nvl(C.Account, Space(29)), 19, 5), '20551', '20561'), B.RN_ORGTO, B.RN_ORGFR)" To cAgentD, cAgentK
    Otherwise
      Store "Iif(SubStr(Nvl(C.Account, Space(29)), 19, 3) = '104', " To cAgentD, cAgentK
      cAgentD = m.cAgentD + "B.RN_ORGFR, B.RN_ORGTO)"
      cAgentK = m.cAgentK + "B.RN_ORGTO, B.RN_ORGFR)"
  EndCase

  Select &cAgentD    As RN_AGNT,    ;
         S.RN_DB     As RN_ACC,     ;
         A.Account   As Account,    ;
         &cAnalit_D  As RN_ANL,     ;
         NVL(N.SAccount, Space(15)) As SAccount, ;
         SubStr(Nvl(C.Account, Space(29)), 18) As AccKorr, ;
         &cAnKorr_K  As Rn_Anl_Korr,;
         S.RN_DB_A1  As RN_AN1,     ;
         S.RN_DB_A2  As RN_AN2,     ;
         S.RN_DB_A3  As RN_AN3,     ;
         S.RN_DB_A4  As RN_AN4,     ;
         S.RN_DB_A5  As RN_AN5,     ;
         A.IsKL2, A.LevelD, A.LevelR, ;
         S.Sum_Equal As ObDb,       ;
         000000000000000.00 As ObKr ;
    From EopBase B ;
      Inner Join EopSpec   S On B.RN       = S.Master_RN ;
      Inner Join crAccBase A On S.RN_DB    = A.RN ;
      Left  Join AccSpec   N On &cAnalit_D = N.RN ;
      Left  Join AccBase   C On S.RN_KR    = C.RN ;
      &cJoinAn_D ;
    Where Between(B.DATE_EOP, ?dDateBegin, ?dDateEnd) &cWhereMark &cWhereOrg &cWhereAn ;
      And SubStr(C.Account, 19, 5) # "40130" ;
  UNION ALL ;
  Select &cAgentK    As RN_AGNT,    ;
         S.RN_KR     As RN_ACC,     ;
         A.Account   As Account,    ;
         &cAnalit_K  As RN_ANL,     ;
         NVL(N.SAccount, Space(15)) As SAccount, ;
         SubStr(Nvl(C.Account, Space(29)), 18) As AccKorr, ;
         &cAnKorr_D  As Rn_Anl_Korr,;
         S.RN_KR_A1  As RN_AN1,     ;
         S.RN_KR_A2  As RN_AN2,     ;
         S.RN_KR_A3  As RN_AN3,     ;
         S.RN_KR_A4  As RN_AN4,     ;
         S.RN_KR_A5  As RN_AN5,     ;
         A.IsKL2, A.LevelD, A.LevelR, ;
         000000000000000.00 As ObDb,;
         S.Sum_Equal As ObKr        ;
    From EopBase B ;
      Inner Join EopSpec   S On B.RN       = S.Master_RN ;
      Inner Join crAccBase A On S.RN_KR    = A.RN ;
      Left  Join AccSpec   N On &cAnalit_K = N.RN ;
      Left  Join AccBase   C On S.RN_DB    = C.RN ;
      &cJoinAn_K ;
    Where Between(B.DATE_EOP, ?dDateBegin, ?dDateEnd) &cWhereMark &cWhereOrg &cWhereAn ;
      And SubStr(C.Account, 19, 5) # "40130" ;
    Into CURSOR crTurns0

  && замена МОЛ на бюджетное учреждение или "МЫ", подтягиваем аналитику корр. счета
  Select Iif(Nvl(O.Type, "1") = "1", B.RN_AGNT, Nvl(U.OrgBase_RN, ?oSystem.OwnerOrgRN)) As RN_AGENT, ;
         Nvl(L.SAccount, Space(15)) As AnKorr, ;
         B.* ;
    From crTurns0 B ;
      Left Join OrgBase  O On B.RN_AGNT     = O.RN ;
      Left Join BOrgSpec M On B.RN_AGNT     = M.OrgBase_RN ;
      Left Join BOrgBase U On M.Master_RN   = U.BORG_RN ;
      Left Join AccSpec  L On B.Rn_Anl_Korr = L.RN ;
    Into CURSOR crTurns1 READWRITE

  Use In crTurns0

  && поиск классификатора в аналитике
  Select crTurns1
  Scan For Empty(IsKL2)
    If !Empty(LevelD)
      cLevel = Str(LevelD, 1)
      If Seek(RN_AN&cLevel, "AccSpec", "RN") And !Empty(AccSpec.RN_KLSDOH) And Seek(AccSpec.RN_KLSDOH, "BKlsDoh", "RN")
        Replace IsKL2 With Iif(BKlsDoh.KLS_TYPE = 0, 1, 3)
      EndIf
    EndIf
    If Empty(IsKL2) And !Empty(LevelR)
      cLevel = Str(LevelR, 1)
      If Seek(RN_AN&cLevel, "AccSpec", "RN") And !Empty(AccSpec.RN_TFIN) And Seek(AccSpec.RN_TFIN, "fSbFBase", "RN")
        Replace IsKL2 With 2
      EndIf
    EndIf
  EndScan

  && группировка оборотов и заполнение полей для отчета
  Select B.RN_AGENT, B.RN_ACC, B.IsKL2, B.Account, B.RN_ANL, B.SAccount, ;
         Iif(?m.nRollKorrS = 0, B.AccKorr, Left(B.AccKorr, 4) + "00000   ") As AccKorr, ;
         B.AnKorr, ;
         Nvl(BMG.UFK_Code, Space(12)) As UFK_Code, ;
         Left(Iif(Left(Nvl(O1.Mnemo, Space(15)), 3) = "ППП", O1.Name, ;
              Iif(Left(Nvl(O2.Mnemo, Space(15)), 3) = "ППП", O2.Name, ;
              Iif(Left(Nvl(O3.Mnemo, Space(15)), 3) = "ППП", O3.Name, ;
              Iif(Left(Nvl(O4.Mnemo, Space(15)), 3) = "ППП", O4.Name, ;
              Iif(Left(Nvl(O5.Mnemo, Space(15)), 3) = "ППП", O5.Name, ;
              Space(3)))))), 3) As PPP, ;
         Left(Iif(Left(Nvl(O1.Mnemo, Space(15)), 2) = "ЭБ", O1.Name, ;
              Iif(Left(Nvl(O2.Mnemo, Space(15)), 2) = "ЭБ", O2.Name, ;
              Iif(Left(Nvl(O3.Mnemo, Space(15)), 2) = "ЭБ", O3.Name, ;
              Iif(Left(Nvl(O4.Mnemo, Space(15)), 2) = "ЭБ", O4.Name, ;
              Iif(Left(Nvl(O5.Mnemo, Space(15)), 2) = "ЭБ", O5.Name, ;
              Space(2)))))), 2) As ElemBud, ;
         NVL(ORG.ShowName, Space(240)) As Agent, ;
         Left(Iif(Left(Nvl(O1.Mnemo, Space(15)), 5) = "ОКАТО", O1.Name, ;
              Iif(Left(Nvl(O2.Mnemo, Space(15)), 5) = "ОКАТО", O2.Name, ;
              Iif(Left(Nvl(O3.Mnemo, Space(15)), 5) = "ОКАТО", O3.Name, ;
              Iif(Left(Nvl(O4.Mnemo, Space(15)), 5) = "ОКАТО", O4.Name, ;
              Iif(Left(Nvl(O5.Mnemo, Space(15)), 5) = "ОКАТО", O5.Name, ;
              Nvl(ORG.OKATO, Space(11))))))), 11) As OKATO, ;
         Sum(ObDb) As ObDb, ;
         Sum(ObKr) As ObKr, ;
         &cWhereIsMoney As IsMoney ;
    From crTurns1 B ;
      Left Join fBudMG  BMG On B.RN_AGENT = BMG.OrgBase_RN ;
      Left Join OrgBase ORG On B.RN_AGENT = ORG.RN ;
      Left Join MarkBase O1 On ORG.MARK1_RN = O1.RN ;
      Left Join MarkBase O2 On ORG.MARK2_RN = O2.RN ;
      Left Join MarkBase O3 On ORG.MARK3_RN = O3.RN ;
      Left Join MarkBase O4 On ORG.MARK4_RN = O4.RN ;
      Left Join MarkBase O5 On ORG.MARK5_RN = O5.RN ;
    &cWhereMoney ;
    Group By 2, 5, 1, 7, 8, 3 ;
    Into CURSOR crTurns2 READWRITE

  Use In crTurns1
EndIf

CurClose("crAccBase;crsAccSpRN")


&& Особенности формирования отчета по конкретным кодам
&& ---------------------------------------------------
Do Case
  **************************
  Case m.cAccR = "030404000"
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, ;
           " " As PPP, ;
           " " As OKATO, ;
           " " As ElemBud, ;
           RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .T. As L10, .F. As L11, .F. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select " " As UFK_Code, " " As PPP, " " As OKATO, " " As ElemBud, ;
           Account, SAccount, AccKorr, AnKorr, ;
           IsMoney, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crTurns2 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && денежные расчеты
    Select *, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crItog1 ;
      Where IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogMoney

    && неденежные расчеты
    Select *, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  **************************
  Case m.cAccR = "030406000"
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, ;
           " " As PPP, ;
           " " As OKATO, ;
           " " As ElemBud, ;
           RN_ACC, ;
           Replicate("0", 17) + SubStr(Account, 18) As Account, ;
           RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select " " As UFK_Code, " " As PPP, " " As OKATO, " " As ElemBud, ;
           Replicate("0", 17) + SubStr(Account, 18) As Account, ;
           SAccount, AccKorr, AnKorr, ;
           IsMoney, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crTurns2 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && денежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogMoney

    && неденежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  **********************************************
  Case InList(m.cAccR, "040120241", "040120281")
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, PPP, ;
           " " As OKATO, ;
           " " As ElemBud, ;
           RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select " " As UFK_Code, PPP, " " As OKATO, " " As ElemBud, ;
           PadR(Left(Account, 4), 14, "0") + SubStr(Account, 15) As Account, ;
           SAccount, AccKorr, AnKorr, ;
           IsMoney, ;
           Sum(ObDb - ObKr)   As ObDb, ;
           000000000000000.00 As ObKr  ;
      From crTurns2 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && неденежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  ***********************************************************
  Case InList(m.cAccR, "040110189", "040110191", "040110195")
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select " " As Budget, ;
           RN_AGENT, Agent, UFK_Code, PPP, OKATO, ElemBud, ;
           RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, IsMoney, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns READWRITE

    Scan
      Select G.Master_RN ;
        From fBudMG B ;
          Inner Join MUBudgMG G On B.BudMG_RN = G.FBudMG_RN ;
        Where B.OrgBase_RN = ?crTurns.RN_AGENT ;
        Into ARRAY arrBudget

      If _Tally = 0 Or Empty(m.cBudgetRN) Or m.cBudgetRN = arrBudget(1)
        Replace Budget  With "f", ;
                OKATO   With "",  ;
                ElemBud With "" In crTurns
      Else
        Replace Budget With "m" In crTurns
      EndIf
    EndScan

    && итоги
    Select " " As UFK_Code, PPP, OKATO, ElemBud, ;
           PadR(Left(Account, 10), 17, "0") + SubStr(Account, 18) As Account, ;
           SAccount, AccKorr, AnKorr, ;
           IsMoney, Budget, ; 
           000000000000000.00 As ObDb, ;
           Sum(ObKr - ObDb)   As ObKr  ;
      From crTurns ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8, 9, 10 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, Budget, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4, 7 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && неденежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  **************************
  Case InList(m.cAccR, "140120251", "140120254")
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, PPP, OKATO, ElemBud, RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select " " As UFK_Code, PPP, OKATO, ElemBud, ;
           Account, SAccount, AccKorr, AnKorr, ;
           RN_ACC, IsMoney, .F. As L_30251731, ;
           Sum(ObDb - ObKr)   As ObDb, ;
           000000000000000.00 As ObKr  ;
      From crTurns2 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8, 9 ;
      Into CURSOR crItog1 READWRITE

    Scan For SubStr(AccKorr, 2, 5) + Left(AnKorr, 3) # "30251731"
      Replace L_30251731 With .T.

      If Seek(RN_ACC, "AccBase", "RN") And AccBase.TFIN_TYPE = 1 And !Empty(AccBase.RN_TFIN)
        Select PadR(Iif(F.RASP_INCL = 1, AllTrim(F.RASP_CODE), "") + ;
               AllTrim(Nvl(PR.CODE, Nvl(R.CODE, Space(6)))) + ;
               Replicate("0", Len(AllTrim(Nvl(bC.CODE, Space(10))))) + ;
               AllTrim(F.PRG_CODE) + ;
               AllTrim(Nvl(bE.CODE, Space(8))) + ;
               AllTrim(Nvl(EC.MNEMO, Space(3))), 36) As Code ;
          From PARUS!fSbfBase F ;
            Left Join fFuncCl  R  ON F.FKRR_RN  = R.RN  ;
            Left Join fFuncCl  PR ON F.FKRPR_RN = PR.RN ;
            Left Join bCELESTA bC ON F.RN_CSR   = bC.RN ;
            Left Join bEXPKIND bE ON F.RN_VIDR  = bE.RN ;
            Left Join PRF_ECLS EC ON F.RN_ECLSD = EC.RN ;
          Where F.RN = ?AccBase.RN_TFIN ;
          Into ARRAY arrBudget
        *
        If _Tally # 0
          Replace Account With AllTrim(arrBudget[1]) + SubStr(Account, 18)
        EndIf
      Else
        Replace Account With PadR(Left(Account, 4), 14, "0") + SubStr(Account, 15)
      EndIf
    EndScan

    && в том числе по номеру (коду) счета
    Select UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && неденежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  **************************************************************************************************
  Case InList(m.cAccR, "120551000", "120561000", "120651000", "120654000", "120711000", "120721000", "120731000")
    cOrder = Iif(m.nSort = 1, "Account, Agent", "Agent, Account")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, PPP, OKATO, ElemBud, RN_ACC, Account, RN_ANL, SAccount, ;
           SUM As ObDb, ;
           000000000000000.00 As ObKr, ;
           Space(12) As AccKorr, ;
           Space(15) As AnKorr, ;
           IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From cTmpDK2 ;
      Where SUM # 0 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    && в том числе по номеру (коду) счета
    Select " " As UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crTurns ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

  *****************************************************************************************************************************************
  Case InList(m.cAccR, "120651561", "120651661", "120654561", "120654661", "120711541", "120721541", "120731541", "130111810", "130121810", "130131810", "130251831", "130254831")
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, PPP, OKATO, ElemBud, RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select " " As UFK_Code, PPP, OKATO, ElemBud, ;
           Account, SAccount, AccKorr, AnKorr, ;
           IsMoney, ;
           Sum(ObDb - ObKr)   As ObDb, ;
           000000000000000.00 As ObKr  ;
      From crTurns2 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select UFK_Code, " " As PPP, OKATO, ElemBud, ;
           SubStr(Account, 18) As Account, ;
           SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && денежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogMoney

    && неденежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  **********************************************
  Case InList(m.cAccR, "140110151", "140110161")
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, PPP, OKATO, ElemBud, RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crTurns2 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select " " As UFK_Code, PPP, OKATO, ElemBud, ;
           Account, SAccount, AccKorr, AnKorr, ;
           IsMoney, ;
           000000000000000.00 As ObDb, ;
           Sum(ObKr - ObDb)   As ObKr  ;
      From crTurns2 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select UFK_Code, PPP, OKATO, ElemBud, ;
           SubStr(Account, 18) As Account, ;
           SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && неденежные расчеты
    Select *, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  ********************************************************************************************************************************************************************************
  Case InList(m.cAccR, "120551561", "120551661", "120561561", "120561661", "120711641", "120721641", "120731641", "130111710", "130121710", "130131710", "130305731", "130305831")
    cOrder = Iif(m.nSort = 1, "Account, SAccount, Agent, AccKorr, AnKorr", "Agent, Account, SAccount, AccKorr, AnKorr")
    && Обороты
    Select RN_AGENT, Agent, UFK_Code, PPP, OKATO, ElemBud, RN_ACC, Account, RN_ANL, SAccount, ObDb, ObKr, AccKorr, AnKorr, IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From crTurns2 ;
      &cWhere30305 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    Select UFK_Code, PPP, OKATO, ElemBud, ;
           Account, SAccount, AccKorr, AnKorr, ;
           IsMoney, ;
           000000000000000.00 As ObDb, ;
           Sum(ObKr - ObDb)   As ObKr  ;
      From crTurns2 ;
      &cWhere30305 ;
      Group By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItog1

    && в том числе по номеру (коду) счета
    Select " " As UFK_Code, " " As PPP, OKATO, ElemBud, ;
           SubStr(Account, 18) As Account, ;
           SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crItog1 ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

    && денежные расчеты
    Select " " As UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, AccKorr, AnKorr, IsMoney, ObDb, ObKr, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogMoney

    && неденежные расчеты
    Select " " As UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, AccKorr, AnKorr, IsMoney, ObDb, ObKr, ;
           .F. As L10, .F. As L11, .F. As L12 ;
      From crItog1 ;
      Where !IsMoney ;
      Order By 5, 6, 1, 2, 3, 4, 7, 8 ;
      Into CURSOR crItogNoMoney

  **************************************************************************************************
  Case InList(m.cAccR, "130111000", "130121000", "130131000", "130251000", "130254000", "130305000", "140140151", "140140161")
    cOrder = Iif(m.nSort = 1, "Account, Agent", "Agent, Account")
    && Обороты
    Select RN_AGENT, Agent, PPP, UFK_Code, OKATO, ElemBud, RN_ACC, Account, RN_ANL, SAccount, ;
           000000000000000.00 As ObDb, ;
           -SUM As ObKr, ;
           Space(12) As AccKorr, ;
           Space(15) As AnKorr, ;
           IsKL2, ;
           .T. As L10, .T. As L11, .T. As L12 ;
      From cTmpDK2 ;
      &cWhere30305 ;
      Order By &cOrder ;
      Into CURSOR crTurns

    && итоги
    && в том числе по номеру (коду) счета
    Select " " As UFK_Code, PPP, OKATO, ElemBud, Account, SAccount, ;
           Sum(ObDb) As ObDb, ;
           Sum(ObKr) As ObKr  ;
      From crTurns ;
      Group By 5, 6, 1, 2, 3, 4 ;
      Order By 5, 6, 1, 2, 3, 4 ;
      Into CURSOR crItogAcc

EndCase

&& Строки "Итогo"
If InList(m.cAccR, "040110189", "040110191", "040110195")
  Select Budget, ;
         Sum(ObDb) As ObDb, ;
         Sum(ObKr) As ObKr  ;
    From crItogAcc ;
    Group By 1 ;
    Into CURSOR crItog
Else
  Select Sum(ObDb) As ObDb, ;
         Sum(ObKr) As ObKr  ;
    From crItogAcc ;
    Into CURSOR crItog
EndIf

= CurClose("cTmpDK2;crTurns2;crItog1")

EndProc


****************************
Procedure PrintOne125_191

  * заголовок листа
  oPrint.PrintReportPart("Header")

  && Обороты
  Select * From crTurns Into CURSOR crTurns Where ObDb # 0 Or ObKr # 0
  If EoF()
     oPrint.PrintReportPart("Spec")
  Else
     Scan
       oPrint.PrintReportPart("Spec")
     EndScan
  EndIf
  oPrint.PrintReportPart("Space1")

  && Строки "Итогo"
  Select * From crItog Into CURSOR crItog Where ObDb # 0 Or ObKr # 0
  If EoF()
     oPrint.PrintReportPart("SpecItog")
  Else
     Scan
       oPrint.PrintReportPart("SpecItog")
     EndScan
  EndIf
  oPrint.PrintReportPart("Space2")

  && Итоги по счетам
  If !Used("crItogAcc")
     Create CURSOR crItogAcc (UFK_Code C(1), PPP C(1), OKATO C(1), ElemBud C(1), Account C(1), SAccount C(1), ObDb N(1), ObKr N(1))
  EndIf
  Select * From crItogAcc Into CURSOR crItogAcc Where ObDb # 0 Or ObKr # 0
  If EoF()
     oPrint.PrintReportPart("SpecAcc")
  Else
     Scan
       oPrint.PrintReportPart("SpecAcc")
     EndScan
  EndIf
  oPrint.PrintReportPart("Space2")

  && денежные расчеты
  If !Used("crItogMoney")
     Create CURSOR crItogMoney (UFK_Code C(1), PPP C(1), OKATO C(1), ElemBud C(1), Account C(1), SAccount C(1), AccKorr C(1), AnKorr C(1), ObDb N(1), ObKr N(1), L10 L, L11 L, L12 L)
  EndIf
  Select * From crItogMoney Into CURSOR crItogMoney Where ObDb # 0 Or ObKr # 0
  If EoF()
     oPrint.PrintReportPart("SpecMoney")
  Else
     Scan
       oPrint.PrintReportPart("SpecMoney")
     EndScan
  EndIf
  oPrint.PrintReportPart("Space2")

  && неденежные расчеты
  If !Used("crItogNoMoney")
     Create CURSOR crItogNoMoney (UFK_Code C(1), PPP C(1), OKATO C(1), ElemBud C(1), Account C(1), SAccount C(1), AccKorr C(1), AnKorr C(1), ObDb N(1), ObKr N(1), L10 L, L11 L, L12 L)
  EndIf
  Select * From crItogNoMoney Into CURSOR crItogNoMoney Where ObDb # 0 Or ObKr # 0
  If EoF()
     oPrint.PrintReportPart("SpecNoMoney")
  Else
     Scan
       oPrint.PrintReportPart("SpecNoMoney")
     EndScan
  EndIf

  * подвал листа
  oPrint.PrintReportPart("Footer")

  = CurClose("crTurns;crItog;crItogAcc;crItogMoney;crItogNoMoney")

EndProc


*************************
Procedure MakeFileName125
  LParameters cS

  Local ARRAY aFiles[1]
  Local nNum, cNum, nN, i
  cUnlPath = AllTrim(m.cUnlPath)
  cFileName&cS = "225" + m.cS
  Do Case
    Case !Empty(m.dReoDate)                  && реорганизация
      cFileName&cS = m.cFileName&cS + "R"
    Case Month(m.dDateRst) = 1               && год
      cFileName&cS = m.cFileName&cS + "Y"
    Case Inli(Month(m.dDateRst), 4, 7, 10)   && квартал
      cFileName&cS = m.cFileName&cS + "Q"
    Otherwise                                && месяц
      cFileName&cS = m.cFileName&cS + "M"
  EndCase

  nNum = 0
  If ADir(aFiles, m.cUnlPath + m.cFileName&cS + "??.txt") # 0
    For m.i = 1 To ALen(aFiles) / 5
      nN = At(".", aFiles(m.i, 1))
      cNum = SubStr(aFiles(m.i, 1), m.nN - 2, 2)
      If m.nNum < Val(m.cNum)
        nNum = Val(m.cNum)
      EndIf 
      If m.nNum = 99
        nNum = 0
      EndIf
    Next
  EndIf
  cFileName&cS = m.cUnlPath + m.cFileName&cS + PadL(Int(m.nNum) + 1, 2, "0") + ".txt"

EndProc


****************************
Procedure CheckDateForExp125
  LParameters cS

  Local lDateExist
  For m.nI = 1 To m.nALen
    lDateExist = m.lDateExist Or !Empty(arrOut&cS.1[m.nI])
  Next
  If !m.lDateExist
    cFileName&cS = ""
  EndIf

EndProc


************************
Procedure DeleteSheet125
  LParameters cS

  If Empty(m.cFileName&cS)
    Local nSheet
    nSheet = oPrint.GetSheetNum(RTrim("Выгрузка в МинФин " + m.cS))
    If m.nSheet > 0 
      oPrint.Book.Sheet = m.nSheet
      oPrint.Book.EditDeleteSheets()
    EndIf
  EndIf

EndProc


*********************
Procedure PrintOut125
  LParameters cS

  If !Empty(m.cFileName&cS)
    Local Array aRepParts( 1 )
    aRepParts[ 1 ] = "Out" + m.cS
    oPrint.ReportPrepare(@aRepParts)
    For m.nI = 1 To m.nALen
      If !Empty(arrOut&cS.1[m.nI])
        oPrint.PrintReportPart("Out" + m.cS)
      EndIf
    Next
    oPrint.ReportFinal()
  EndIf

EndProc
]]></FPC_></MSE>
      <FPC_><![CDATA[*[VFP]
*RepG151.GetOutS(.T.)
Local cOpt
cOpt = Iif(Empty(m.cFileName), "", ";") + Iif(Empty(m.cFileNameF), "", ";F") + Iif(Empty(m.cFileNameM), "", ";M")

If m.lNoError And !Empty(m.cOpt) And (oConfig.GetValue("PrintToExcel", "L", .T.) Or oConfig.GetValue("PrintToLbOff", "L", .T.))
  Local oExcel, oLBOff, oLBOffApp, lLbOff
  lLbOff = !oConfig.GetValue("PrintToExcel", "L", .T.)

  If !m.lLbOff
    oExcel = oSystem.get_Excel()
    oExcel.ActiveWorkBook.Windows(1).WindowState = -4137
    Do TextOut With "cmdFromRep", Null, "", oExcel, SubStr(m.cOpt, 2)
  Else
    oLBOff    = oSystem.get_lbOff()
    oLBOffApp = oLBOff.CreateInstance('com.sun.star.frame.Desktop')
    Do TxtOutLBF With "cmdFromRep", Null, "", oLBOff, oLBOffApp, SubStr(m.cOpt, 2)
  EndIf
EndIf
]]></FPC_>
    </печать>
  </отчет>
  <форма>
    <ид>f_0503125_191n_186n_2023</ид>
    <тип>XML</тип>
    <описание>
      <дополнительно>
        <desc_version>1.0</desc_version>
      </дополнительно>
      <VFP_свойство имя="Name">f_0503125</VFP_свойство>
      <VFP_свойство имя="Caption">Форма 0503125-191н_ред186н_2023</VFP_свойство>
      <VFP_свойство имя="Height">450</VFP_свойство>
      <VFP_свойство имя="Width">465</VFP_свойство>
      <VFP_метод имя="Valid"><![CDATA[LParam oThis, oThisForm
Local oObj
oObj = oThisForm.PF.Page1
dSelDate = oObj.cntSelDate.restDate.Value

if empty(oObj.Txt18B1.Value) and empty(oObj.Txt18B2.Value) and ;
   empty(oObj.Txt18B3.Value) and empty(oObj.Txt18B4.Value) and ;   
   empty(oObj.Txt18B5.Value) and empty(oObj.Txt18B6.Value) and ;
   empty(oObj.Txt18B7.Value) and empty(oObj.Txt18B8.Value) and ;
   empty(oObj.Txt18B9.Value) and empty(oObj.Txt18B10.Value) 
   =exclmes("Не указан 18-й символ для счетов!")
   oThisForm.PF.ActivePage = 1
   oObj.Txt18B1.SetFocus()
   return .F.
endif

local cSymb, i
cUsl18B = ""

c18B  = oObj.Txt18B1.Value + oObj.Txt18B2.Value + ;
        oObj.Txt18B3.Value + oObj.Txt18B4.Value + ;
        oObj.Txt18B5.Value + oObj.Txt18B6.Value + ;
        oObj.Txt18B7.Value + oObj.Txt18B8.Value + ;
        oObj.Txt18B9.Value + oObj.Txt18B10.Value 

c18B = strtran(c18B, " ", "", 1)
for i = 1 to len(m.c18B)
    cSymb = SubStr(m.c18B, m.i, 1)
    cUsl18B = cUsl18B + iif(!empty(cUsl18B), ",'", "'") + cSymb + "'"
endfor
c18B = Left(m.c18B, 1)
if !empty(cUsl18B)
   cUsl18B = "inli(SubStr(accbase.account, 18, 1), " + cUsl18B +")"
endif

cWhereRB    = m.cUsl18B
cOrg        = oObj.BOrg.GetSaveValue()
cBudgetName = oObj.BudgetName.Value
cWhereBU    = oObj.BOrg.GetCond()
cWhereBalUnits = oObj.BalUnits.GetCond()
If !Empty(m.cWhereBalUnits)
   cWhereBalUnits = " And " + m.cWhereBalUnits
EndIf
cBalUnits  = oObj.BalUnits.GetSaveValue()
cWhereMark = oObj.CmbMark.GetCond()
If !Empty(m.cWhereMark)
   cWhereMark = " And " + m.cWhereMark
EndIf
oObj = oThisForm.PF.Page3
cUnlPath = oObj.Catalog.Text.value
cDicIsp  = oObj.DicIsp.GetSaveValue()

If !Empty(m.cUnlPath) And !Directory(m.cUnlPath, 1)
   = ExclMes("Каталог " + AllTrim(m.cUnlPath) + Chr(13) + "не существует!")
   oThisForm.PF.ActivePage = 3
   oObj.Catalog.SetFocus()
   Return .F.
EndIf
]]></VFP_метод>
      <VFP_метод имя="PostInit"><![CDATA[LParam oThis, oThisForm
Local oObj, cAccCode
cAccCode = "030404000," ;
         + "030406000," ;
         + "040120241,040120281," ;
         + "040110189,040110191,040110195," ;
         + "140120251,140120254," ;
         + "120551000,120561000,120651000,120654000,120711000,120721000,120731000," ;
         + "120651561,120651661,120654561,120654661,120711541,120721541,120731541,130111810,130121810,130131810,130251831,130254831," ;
         + "140110151,140110161," ;
         + "120551561,120551661,120561561,120561661,120711641,120721641,120731641,130111710,130121710,130131710,130305731,130305831," ;
         + "130111000,130121000,130131000,130251000,130254000,130305000,140140151,140140161"
Dimension arrAccR[1]
ALines(arrAccR, m.cAccCode, ",")

oObj = oThisForm.PF.Page1
oObj.cntSelDate.InitThis(m.dSelDate)
oObj.cntReoDate.Text.ValueChanged()
oObj.Cmb_Account.RowSource = "arrAccR"
oObj.Cmb_Account.BackColor = oObj.Cmb_Account.SaveBackColor
oObj.Cmb_Account.Init()
oObj.chkPrintAll.ValueChanged()
oObj.BOrg.SetSaveValue(m.cOrg)
oObj.BudgetName.SetSaveValue(m.cBudgetName)
oObj.BalUnits.SetSaveValue(m.cBalUnits)
oObj.CmbMark.SetSource(UnitRn("EconOp"))
oObj.CmbMark.Value = m.cMarkRN
cIspolnitel = m.cIspName
oObj = oThisForm.PF.Page3
oObj.Catalog.Text.Value = m.cUnlPath
oObj.DicIsp.SetSaveValue(m.cDicIsp)
oObj.fldIspName.Value = m.cIspolnitel
]]></VFP_метод>
      <элемент>
        <VFP_имя>Tbtndialog1</VFP_имя>
        <VFP_свойство имя="Left">182</VFP_свойство>
        <VFP_свойство имя="Top">413</VFP_свойство>
      </элемент>
      <элемент>
        <VFP_класс>TPageFrame</VFP_класс>
        <VFP_свойство имя="Name">PF</VFP_свойство>
        <VFP_свойство имя="Height">410</VFP_свойство>
        <VFP_свойство имя="Width">465</VFP_свойство>
        <VFP_свойство имя="PageCount">3</VFP_свойство>
        <элемент>
           <VFP_имя>Page1</VFP_имя>
          <VFP_свойство имя="Caption">Параметры формирования</VFP_свойство>
          <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
          <VFP_свойство имя="FontSize">8</VFP_свойство>
          <элемент>
            <VFP_класс>T3dShape</VFP_класс>
            <VFP_свойство имя="Height">365</VFP_свойство>
            <VFP_свойство имя="Left">10</VFP_свойство>
            <VFP_свойство имя="Top">10</VFP_свойство>
            <VFP_свойство имя="Width">445</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Параметры формирования</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">5</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Отчетный период:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">30</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>Month_year_m</VFP_класс>
            <VFP_свойство имя="Name">cntSelDate</VFP_свойство>
            <VFP_свойство имя="ControlSource">dSelDate</VFP_свойство>
            <VFP_свойство имя="Left">148</VFP_свойство>
            <VFP_свойство имя="Top">25</VFP_свойство>
            <элемент>
              <VFP_имя>SelYear</VFP_имя>
              <VFP_свойство имя="Left">204</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_имя>lbllYear</VFP_имя>
              <VFP_свойство имя="Left">274</VFP_свойство>
            </элемент>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Дата реорганизации:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">60</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TdicDate</VFP_класс>
            <VFP_свойство имя="Name">cntReoDate</VFP_свойство>
            <VFP_свойство имя="Left">348</VFP_свойство>
            <VFP_свойство имя="Top">55</VFP_свойство>
            <элемент>
              <VFP_имя>Text</VFP_имя>
              <VFP_свойство имя="ControlSource">dReoDate</VFP_свойство>
              <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
Local oObj
oObj = oThisForm.PF.Page1.cntSelDate
If Empty(oThis.Value)
  oObj.SelMonth.ReceiveMessage(oThisForm, "ReInit")
  oObj.SelYear.ReceiveMessage(oThisForm, "ReInit")
Else
  oObj.ReceiveMessage(oThisForm, "ViewMode")
EndIf
oThisForm.PF.Page3.Cmb_VRO.Enabled = !Empty(oThis.Value)
]]></VFP_метод>
            </элемент>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">90</VFP_свойство>
            <VFP_свойство имя="Caption">Код бюджетного учета:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TComboBox</VFP_класс>
            <VFP_свойство имя="ControlSource">cAccR</VFP_свойство>
            <VFP_свойство имя="Left">148</VFP_свойство>
            <VFP_свойство имя="Name">Cmb_Account</VFP_свойство>
            <VFP_свойство имя="Top">85</VFP_свойство>
            <VFP_свойство имя="Height">23</VFP_свойство>
            <VFP_свойство имя="Width">95</VFP_свойство>
            <VFP_свойство имя="RowSourceType">5</VFP_свойство>
            <VFP_свойство имя="Style">2</VFP_свойство>
            <VFP_свойство имя="DisplayCount">21</VFP_свойство>
            <VFP_свойство имя="notempty">.T.</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TCheckBox</VFP_класс>
            <VFP_свойство имя="Left">285</VFP_свойство>
            <VFP_свойство имя="Top">90</VFP_свойство>
            <VFP_свойство имя="ControlSource">nPrintAll</VFP_свойство>
            <VFP_свойство имя="Name">chkPrintAll</VFP_свойство>
            <VFP_свойство имя="Caption">Печатать по всем кодам</VFP_свойство>
            <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
Local oObj
oObj = oThis.Parent.Cmb_Account
If oThis.Value = 1
  oObj.SetNotEmpty(.F.)
  oObj.ClearValue()
  oObj.Enabled = .F.
Else
  oObj.Enabled = .T.
  oObj.SetNotEmpty(.T.)
EndIf
oThisForm.CheckNotEmpty()
]]></VFP_метод>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Уровень аналитики КОСГУ:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">120</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TSpinner</VFP_класс>
            <VFP_свойство имя="ControlSource">nAnLevel</VFP_свойство>
            <VFP_свойство имя="Increment">1.00</VFP_свойство>
            <VFP_свойство имя="Inputmask">9</VFP_свойство>
            <VFP_свойство имя="KeyboardHighValue">5</VFP_свойство>
            <VFP_свойство имя="KeyboardLowValue">1</VFP_свойство>
            <VFP_свойство имя="Left">403</VFP_свойство>
            <VFP_свойство имя="Name">aLevel</VFP_свойство>
            <VFP_свойство имя="SpinnerHighValue">5.00</VFP_свойство>
            <VFP_свойство имя="SpinnerLowValue">1.00</VFP_свойство>
            <VFP_свойство имя="Top">115</VFP_свойство>
            <VFP_свойство имя="Width">40</VFP_свойство>
          </элемент>        
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Caption">Наименование бюджета:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TDicHist</VFP_класс>
            <VFP_свойство имя="Name">BudgetName</VFP_свойство>
            <VFP_свойство имя="Left">175</VFP_свойство>
            <VFP_свойство имя="Top">145</VFP_свойство>
            <VFP_свойство имя="Width">268</VFP_свойство>
            <VFP_свойство имя="AreaName" тип="C">Mubudg</VFP_свойство>
            <VFP_свойство имя="DictName" тип="C">Mubudg_msc</VFP_свойство>
            <VFP_свойство имя="RetField" тип="C">mnemo</VFP_свойство>
            <VFP_свойство имя="HistoryName" тип="C">H_AGENTSMUB125_186N_2023</VFP_свойство>
            <VFP_свойство имя="ControlSource" тип="C">m.cBudgetName</VFP_свойство>
            <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
            <элемент>
              <VFP_имя>DicTable</VFP_имя>
              <дополнительно>
                <отложенная_инициализация/>
              </дополнительно>
            </элемент>
          </элемент>    
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">180</VFP_свойство>
            <VFP_свойство имя="Caption">Вид деятельности:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TComboBox</VFP_класс>
            <VFP_свойство имя="ControlSource">cVidDD</VFP_свойство>
            <VFP_свойство имя="Left">175</VFP_свойство>
            <VFP_свойство имя="Name">Cmb_VidD</VFP_свойство>
            <VFP_свойство имя="Top">175</VFP_свойство>
            <VFP_свойство имя="Height">23</VFP_свойство>
            <VFP_свойство имя="Width">268</VFP_свойство>
            <VFP_свойство имя="RowSource">Бюджетная деятельность,Приносящая доход деятельность,Средства во временном распоряжении</VFP_свойство>
            <VFP_свойство имя="RowSourceType">1</VFP_свойство>
            <VFP_свойство имя="Style">2</VFP_свойство>
            <VFP_свойство имя="DisplayCount">3</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">210</VFP_свойство>
            <VFP_свойство имя="Caption">Бюджетное учреждение:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TDicHist</VFP_класс>
            <VFP_свойство имя="Name">BOrg</VFP_свойство>
            <VFP_свойство имя="Left">240</VFP_свойство>
            <VFP_свойство имя="Top">205</VFP_свойство>
            <VFP_свойство имя="Width">203</VFP_свойство>
            <VFP_свойство имя="AreaName" тип="C">OrgBase</VFP_свойство>
            <VFP_свойство имя="DictName" тип="C">Agnt_bms</VFP_свойство>
            <VFP_свойство имя="RetField" тип="C">rmnemo_org</VFP_свойство>
             <VFP_свойство имя="HistoryName" тип="C">H_AGENTS125_186N_2023</VFP_свойство>
            <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
            <VFP_свойство имя="condfield" тип="C">O.rmnemo_org</VFP_свойство>
            <VFP_свойство имя="condfieldrn" тип="C">O.rn</VFP_свойство>
            <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
            <элемент>
              <VFP_имя>DicTable</VFP_имя>
              <дополнительно>
                <отложенная_инициализация/>
              </дополнительно>
            </элемент>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Балансовая единица:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">240</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>S_balunits</VFP_класс>
            <VFP_свойство имя="Name">Balunits</VFP_свойство>
            <VFP_свойство имя="Left">240</VFP_свойство>
            <VFP_свойство имя="Top">235</VFP_свойство>
            <VFP_свойство имя="Width">203</VFP_свойство>
            <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
            <VFP_свойство имя="condfield" тип="C">balunit.mnemo</VFP_свойство>
            <VFP_свойство имя="condfieldrn" тип="C">balunit.rn</VFP_свойство>
             <VFP_свойство имя="HistoryName" тип="C">H_BALUNIT125_186N_2023</VFP_свойство>
            <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
            <элемент>
              <VFP_имя>DicTable</VFP_имя>
              <дополнительно>
                <отложенная_инициализация/>
              </дополнительно>
            </элемент>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">270</VFP_свойство>
            <VFP_свойство имя="Caption">Код по ППП:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">93</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">45</VFP_свойство>
            <VFP_свойство имя="InputMask">NNN</VFP_свойство>
            <VFP_свойство имя="ControlSource">cCodePPP</VFP_свойство>
            <VFP_свойство имя="Name">TxtCodePPP</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">160</VFP_свойство>
            <VFP_свойство имя="Top">270</VFP_свойство>
            <VFP_свойство имя="Caption">18-й символ:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">236</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B1</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B1</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">257</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B2</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B2</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">278</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B3</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B3</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">299</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B4</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B4</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">320</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B5</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B5</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">341</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B6</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B6</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">362</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B7</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B7</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">383</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B8</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B8</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">404</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B9</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B9</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">425</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B10</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">SubStr(accbase.account, 18, 1)</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B10</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TCheckBox</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">295</VFP_свойство>
            <VFP_свойство имя="ControlSource">lMoneyOnly</VFP_свойство>
            <VFP_свойство имя="Name">chkMoneyOnly</VFP_свойство>
            <VFP_свойство имя="Caption">Отражать показатели только по денежным расчетам</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">320</VFP_свойство>
            <VFP_свойство имя="Caption">Особая отметка:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>mark</VFP_класс>
            <VFP_свойство имя="Left">115</VFP_свойство>
            <VFP_свойство имя="Top">315</VFP_свойство>
            <VFP_свойство имя="Width">115</VFP_свойство>
            <VFP_свойство имя="Name">CmbMark</VFP_свойство>
            <VFP_свойство имя="ControlSource">cMarkRN</VFP_свойство>
            <VFP_свойство имя="condfield" тип="C">B.RN_MARK</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">240</VFP_свойство>
            <VFP_свойство имя="Top">320</VFP_свойство>
            <VFP_свойство имя="Caption">Сортировать по:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TComboBox</VFP_класс>
            <VFP_свойство имя="ControlSource">nSort</VFP_свойство>
            <VFP_свойство имя="Left">333</VFP_свойство>
            <VFP_свойство имя="Name">Cmb_Sort</VFP_свойство>
            <VFP_свойство имя="Top">315</VFP_свойство>
            <VFP_свойство имя="Height">23</VFP_свойство>
            <VFP_свойство имя="Width">110</VFP_свойство>
            <VFP_свойство имя="RowSource">номеру счета,наименованию </VFP_свойство>
            <VFP_свойство имя="RowSourceType">1</VFP_свойство>
            <VFP_свойство имя="Style">2</VFP_свойство>
            <VFP_свойство имя="delenabled">.F.</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TCheckBox</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">350</VFP_свойство>
            <VFP_свойство имя="ControlSource">lPrint10_12</VFP_свойство>
            <VFP_свойство имя="Name">chkPrint10_12</VFP_свойство>
            <VFP_свойство имя="Caption">Заполнять графы 10 - 12</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">190</VFP_свойство>
            <VFP_свойство имя="Top">350</VFP_свойство>
            <VFP_свойство имя="Caption">Код субъекта отчетности:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TComboBox</VFP_класс>
            <VFP_свойство имя="Left">333</VFP_свойство>
            <VFP_свойство имя="Name">Cmb_KSO</VFP_свойство>
            <VFP_свойство имя="Top">345</VFP_свойство>
            <VFP_свойство имя="Height">23</VFP_свойство>
            <VFP_свойство имя="Width">110</VFP_свойство>
            <VFP_свойство имя="BoundTo">1</VFP_свойство>
            <VFP_свойство имя="RowSourceType">1</VFP_свойство>
            <VFP_свойство имя="RowSource">ПБС,АД,РБС,ГРБС,ГлАД</VFP_свойство>
            <VFP_свойство имя="Style">2</VFP_свойство>
            <VFP_свойство имя="ControlSource">cKSO</VFP_свойство>
            <VFP_свойство имя="delenabled">.F.</VFP_свойство>
            <VFP_свойство имя="notempty">.T.</VFP_свойство>
          </элемент>
        </элемент>
        <элемент>
          <VFP_имя>Page2</VFP_имя>
          <VFP_свойство имя="Caption">Итоги</VFP_свойство>
          <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
          <VFP_свойство имя="FontSize">8</VFP_свойство>
          <элемент>
            <VFP_класс>T3dShape</VFP_класс>
            <VFP_свойство имя="Left">10</VFP_свойство>
            <VFP_свойство имя="Top">10</VFP_свойство>
            <VFP_свойство имя="Height">85</VFP_свойство>
            <VFP_свойство имя="Width">445</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">5</VFP_свойство>
            <VFP_свойство имя="Caption">Итоги</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">25</VFP_свойство>
            <VFP_свойство имя="Caption">Маски корреспондирующих счетов денежных расчетов:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">40</VFP_свойство>
            <VFP_свойство имя="Width">425</VFP_свойство>
            <VFP_свойство имя="ControlSource">cKorrSMask</VFP_свойство>
            <VFP_свойство имя="MaxLength">240</VFP_свойство>
            <VFP_свойство имя="Name">fldKorrSMask</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TCheckBox</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">70</VFP_свойство>
            <VFP_свойство имя="ControlSource">nRollKorrS</VFP_свойство>
            <VFP_свойство имя="Name">chkRollKorrS</VFP_свойство>
            <VFP_свойство имя="Caption">Сворачивать коррсчет до синтетического счета</VFP_свойство>
          </элемент>
        </элемент>
        <элемент>
          <VFP_имя>Page3</VFP_имя>
          <VFP_свойство имя="Caption">Параметры выгрузки</VFP_свойство>
          <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
          <VFP_свойство имя="FontSize">8</VFP_свойство>
          <элемент>
            <VFP_класс>T3dShape</VFP_класс>
            <VFP_свойство имя="Height">225</VFP_свойство>
            <VFP_свойство имя="Left">10</VFP_свойство>
            <VFP_свойство имя="Top">10</VFP_свойство>
            <VFP_свойство имя="Width">445</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">4</VFP_свойство>
            <VFP_свойство имя="Caption">Параметры</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Каталог:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">25</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TDirSelect</VFP_класс>
            <VFP_свойство имя="Name">Catalog</VFP_свойство>
            <VFP_свойство имя="Left">80</VFP_свойство>
            <VFP_свойство имя="Top">20</VFP_свойство>
            <VFP_свойство имя="Width">365</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">55</VFP_свойство>
            <VFP_свойство имя="Caption">Вид реорганизационной отчетности (ВРО):</VFP_свойство>
          </элемент>            
          <элемент>
            <VFP_класс>TComboBox</VFP_класс>
            <VFP_свойство имя="Left">245</VFP_свойство>
            <VFP_свойство имя="Name">Cmb_VRO</VFP_свойство>
            <VFP_свойство имя="Top">50</VFP_свойство>
            <VFP_свойство имя="Height">23</VFP_свойство>
            <VFP_свойство имя="Width">200</VFP_свойство>
            <VFP_свойство имя="BoundTo">2</VFP_свойство>
            <VFP_свойство имя="RowSourceType">1</VFP_свойство>
            <VFP_свойство имя="RowSource">Промежуточная,Передаточная (разделительная),Ликвидационная</VFP_свойство>
            <VFP_свойство имя="Style">2</VFP_свойство>
            <VFP_свойство имя="ControlSource">nVRO</VFP_свойство>
            <VFP_свойство имя="Delenabled">.F.</VFP_свойство>
            <VFP_свойство имя="NotEmpty">.T.</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">ИСТ:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">85</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">388</VFP_свойство>
            <VFP_свойство имя="Top">80</VFP_свойство>
            <VFP_свойство имя="Width">57</VFP_свойство>
            <VFP_свойство имя="MaxLength">3</VFP_свойство>
            <VFP_свойство имя="ControlSource">cIST</VFP_свойство>
            <VFP_свойство имя="CondField" тип="C">Left(accbase.account, 17)</VFP_свойство>
            <VFP_свойство имя="Name">IST</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">ПРП:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">115</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">388</VFP_свойство>
            <VFP_свойство имя="Top">110</VFP_свойство>
            <VFP_свойство имя="Width">57</VFP_свойство>
            <VFP_свойство имя="MaxLength">3</VFP_свойство>
            <VFP_свойство имя="ControlSource">cPRP</VFP_свойство>
            <VFP_свойство имя="Name">PRP</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Исполнитель:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">145</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TDicHist</VFP_класс>
            <VFP_метод имя="AddUpdate"><![CDATA[LParam oThis, oThisForm
= CurOpen("orgbase, person")

If !Empty(oThisForm.PF.Page3.dicIsp.Value)
  = Seek(oThisForm.PF.Page3.dicIsp.Value, "orgbase", "RN")
  If orgbase.type # '2'
    errmes("Выбранный контрагент не является физическим лицом.")
    oThisForm.PF.Page3.dicIsp.Clear()
  Else    
    = Seek(oThisForm.PF.Page3.dicIsp.Value, "person", "RN")
    oThisForm.PF.Page3.fldIspName.Value = Alltrim(person.SURNAME) + " " + Left(Alltrim(person.FIRSTNAME), 1) + "." + Left(Alltrim(person.SECONDNAME), 1) + "."
  ENDIF
EndIf
]]></VFP_метод>
            <VFP_свойство имя="Name">dicIsp</VFP_свойство>
            <VFP_свойство имя="Left">195</VFP_свойство>
            <VFP_свойство имя="Top">140</VFP_свойство>
            <VFP_свойство имя="Width">250</VFP_свойство>
            <VFP_свойство имя="AreaName" тип="C">OrgBase</VFP_свойство>
            <VFP_свойство имя="DictName" тип="C">Agnt_bms</VFP_свойство>
            <VFP_свойство имя="RetField" тип="C">rmnemo_org</VFP_свойство>
            <VFP_свойство имя="HistoryName" тип="C">H_AgentIsp125_186N_2023</VFP_свойство>
            <VFP_свойство имя="filter">orgbase.type='2'</VFP_свойство>
            <элемент>
              <VFP_имя>DicTable</VFP_имя>
              <дополнительно>
                <отложенная_инициализация/>
              </дополнительно>
            </элемент>                
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">ФИО:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">175</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">195</VFP_свойство>
            <VFP_свойство имя="Top">170</VFP_свойство>
            <VFP_свойство имя="Width">250</VFP_свойство>
            <VFP_свойство имя="ControlSource">cIspName</VFP_свойство>
            <VFP_свойство имя="Name">fldIspName</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Телефон:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">205</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">195</VFP_свойство>
            <VFP_свойство имя="Top">200</VFP_свойство>
            <VFP_свойство имя="Width">250</VFP_свойство>
            <VFP_свойство имя="ControlSource">cIspTel</VFP_свойство>
            <VFP_свойство имя="Name">fldIspTel</VFP_свойство>
          </элемент>
        </элемент>
      </элемент>
    </описание>
  </форма>
</Модуль>
