<?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">
  <интерфейс>
    <отчет>
      <наименование>Форма 0503128-191н_ред186н_2023</наименование>
      <код_раздела>Reports5n</код_раздела>
      <номер_код>f0503128_186n_2023</номер_код>
      <шаблон>
        <тип>MSE</тип>
        <мнемокод>ar_form0503128_186n_2023</мнемокод>
        <файл>Форма0503128_191н_ред186н_2023.xlt</файл>
      </шаблон>
      <!--Отчет формируется по хозяйственным операциям за период-->
    </отчет>
  </интерфейс>
  <отчет>
    <реализует>f0503128_186n_2023</реализует>
      <дополнительно>
      <запомнить_переменные>
        <список_переменных>dSelDateS;dSelDatePo;cOrg;cBalUnits;nAnLevel;cNameBudzh;cKSO;nCommon;cTxt18B1;cTxt18B2;cTxt18B3;cTxt18B4;cTxt18B5;cTxt18B6;cTxt18B7;cTxt18B8;cTxt18B9;cTxt18B10;nChkKOSGU;nChkAdAn3;lOsKr502x2;nChk31_33;nChkKVR;nNPrjOnly;cAccIDBO;cUnlPath;cIST;cDicIsp;cIspName;cIspTel</список_переменных>
        <мемофайл>ar_form0503128_191n_186n_2023;ar_form0503128_191n_13n_2020;ar_form0503128_191n_131n_2019</мемофайл>
      </запомнить_переменные>
      </дополнительно>
    <переменные>
      <переменная>
        <имя>dSelDateS</имя>
        <начальное_значение>oSystem.DateBegin</начальное_значение>
        <!--Период формирования-->
      </переменная>
      <переменная>
        <имя>dSelDatePo</имя>
        <начальное_значение>oSystem.Date</начальное_значение>
        <!--Период формирования-->
      </переменная>
      <переменная>
        <имя>dDateBegin</имя>
        <начальное_значение>""</начальное_значение>
        <!--Дата С-->
      </переменная>
      <переменная>
        <имя>dDateEnd</имя>
        <начальное_значение>""</начальное_значение>
        <!--Дата По-->
      </переменная>
      <переменная>
        <имя>cOrg</имя>
        <начальное_значение>""</начальное_значение>
        <!--Контрагент-->
      </переменная>
      <переменная>
        <имя>cWhereKontragent</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по контрагентам-->
      </переменная>          
      <переменная>
        <имя>cBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Бал. единицы-->
      </переменная>
      <переменная>
        <имя>cWhereBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по балансовым единицам-->
      </переменная>  
      <переменная>
        <имя>nAnLevel</имя>
        <начальное_значение>5</начальное_значение>
        <!--Уровень аналитики КОСГУ-->
      </переменная>
      <переменная>
        <имя>cNameBudzh</имя>
        <начальное_значение>""</начальное_значение>
        <!--Наименование бюджета-->
      </переменная>
      <переменная>
        <имя>cKSO</имя>
        <начальное_значение>"ПБС"</начальное_значение>
        <!--Код субъекта отчетности-->
      </переменная>
      <переменная>
        <имя>nCommon</имя>
        <начальное_значение>1</начальное_значение>
        <!--Общий-->
      </переменная>
      <переменная>
        <имя>lOnlyGRBS</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Формировать показатели только ГРБС-->
      </переменная>
      <переменная>
        <имя>lOnlyPBS</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Формировать показатели только ПБС-->
      </переменная>
      <переменная>
        <имя>CTxt18B1</имя>
        <начальное_значение>"1"</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B2</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B3</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B4</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B5</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B6</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B7</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B8</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B9</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B10</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cUsl18</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие для 18 знака счета-->
      </переменная>
      <переменная>
        <имя>nChkKOSGU</имя>
        <начальное_значение>0</начальное_значение>
        <!--Формировать в разрезе КОСГУ-->
      </переменная>
      <переменная>
        <имя>nChkAdAn3</имя>
        <начальное_значение>1</начальное_значение>
        <!--Сворачивать КОСГУ до 3-х символов-->
      </переменная>
      <переменная>
        <имя>lOsKr502x2</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Учитывать кредитовые остатки по счетам 502Х2 для расчета показателей по принятым обязательствам-->
      </переменная>
      <переменная>
        <имя>nChk31_33</имя>
        <начальное_значение>0</начальное_значение>
        <!--Отражать расходные БА в графе 4 только по КВР 31Х и 33Х-->
      </переменная>
      <переменная>
        <имя>nChkKVR</имя>
        <начальное_значение>1</начальное_значение>
        <!--Заполнять наименование показателя по расходам из наименования КВР-->
      </переменная>
      <переменная>
        <имя>nNPrjOnly</имя>
        <начальное_значение>0</начальное_значение>
        <!--Формировать показатели только о ходе реализации национальных проектов-->
      </переменная>
      <переменная>
        <имя>cAccIDBO</имя>
        <начальное_значение>"|??????????????????з18*"</начальное_значение>
        <!--Счета: Исполнение денежных обязательств (Через банковские счета)-->
      </переменная>
      <переменная>
        <имя>cWhereAccIDBO</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по счетам исполнения денежных обязательств (через банковские счета)-->
      </переменная>          
      <переменная>
        <имя>glBK</имя>
        <начальное_значение>""</начальное_значение>
        <!--Глава по БК-->
      </переменная>
      <переменная>
        <имя>cUnlPath</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileName</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>cIST</имя>
        <начальное_значение>""</начальное_значение>
        <!--ИСТ-->
      </переменная>
      <переменная>
        <имя>cDicIsp</имя>
        <начальное_значение>""</начальное_значение>
        <!--Исполнитель-->
      </переменная>
      <переменная>
        <имя>cIspName</имя>
        <начальное_значение>""</начальное_значение>
        <!--ФИО исполнителя-->
      </переменная>
      <переменная>
        <имя>cIspTel</имя>
        <начальное_значение>""</начальное_значение>
        <!--Телефон исполнителя-->
      </переменная>
      <переменная>
        <имя>RepG151</имя>
        <начальное_значение>CreateObject("form0503buxrepd")</начальное_значение>
      </переменная>
      <переменная>
        <имя>dReportDate</имя>
        <начальное_значение>Date(2023,06,30)</начальное_значение>
      </переменная>
      <переменная>
        <имя>lNoError</имя>
        <начальное_значение>.T.</начальное_значение>
      </переменная>            
    </переменные>
    <запуск_формы>
      <ид>f_0503128_191n_186n_2023</ид>
    </запуск_формы>
    <вычисление>
      <сообщение>Ждите, идет выборка данных ...</сообщение>
      <FPC_><![CDATA[*[VFP]
 dDateBegin = DOX(m.dSelDateS,  3)
 dDateEnd   = DOX(m.dSelDatePo, 4) 
   ]]></FPC_>
    </вычисление>
    <печать>
      <!--Печать отчета--><MSE>
        <!--Печать в MS Excel-->
        <FPC_><![CDATA[*[VFP]
*ON ERROR
 Local cJoinAn, cJoinAn_D, cJoinAn_K, cWhereOrg, cFieldAc, cFieldDb, cFieldKr, cFieldAc1, cFieldDb1, cFieldKr1, i, s, j, c22, cTmp, cWhereAcc, oRec, cWhereSbF
 Local ARRAY arrItog[1], arrBP[1]
 Private glBK1
 Store "" To glBK1, cJoinAn, cJoinAn_D, cJoinAn_K, cWhereOrg, cFieldAc

 * Глава по БК
 If !Empty(m.cWhereKontragent)
   Select fBudMG.Rasp_Code ;
     From OrgBase ;
       Inner Join fBudMG On OrgBase.RN = fBudMG.OrgBase_RN ;
     Where &cWhereKontragent ;
     Into Array arrBP
   *
   If _Tally > 0
     glBK = arrBP(1)
     If m.cOrg # "|" And Len(m.cOrg) = 4   && выбрано только одно БУ
       glBK1 = AllTrim(m.glBK)
     EndIf
   EndIf
 EndIf

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

 * Формировать показатели только ГРБС
 lOnlyGRBS = m.nCommon = 0 And InList(m.cKSO, "РБС", "ГРБС")

 * Формировать показатели только ПБС
 lOnlyPBS  = m.nCommon = 0 And !InList(m.cKSO, "РБС", "ГРБС")
 
 * Отбор аналитических счетов по контрагенту
 If !Empty(m.cWhereKontragent)
   Select AccSpec.RN ;
     From AccSpec ;
       Inner Join OrgBase On AccSpec.RN_TOrg = OrgBase.RN ;
     Where &cWhereKontragent ;
     Into Cursor crsAccSpRN

   If _Tally # 0
      Index On RN Tag RN
      For m.i = 1 To 5
        s = Str(m.i, 1)
        cJoinAn = m.cJoinAn + "Left Join crsAccSpRN A" + m.s + " On S.RN_AC_A" + m.s + " = A" + m.s + ".RN "
      Next
      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

 * остатки для ассигнований и лимитов БО
 Select R.RN_ACCOUNT, S.RN_AC_A1, S.RN_AC_A2, S.RN_AC_A3, S.RN_AC_A4, S.RN_AC_A5, S.Summ_Db_Equal - S.Summ_Kr_Equal As Sum_Equal ;
   From AcRest R ;
     Inner Join AcAnRest S On R.RN = S.Master_RN ;
     &cJoinAn ;
   Where R.Date_Rest = ?m.dDateBegin &cWhereOrg ;
   Into CURSOR crAcAnRest

 * обороты для всех колонок
 Select RN_DB, S.RN_DB_A1, S.RN_DB_A2, S.RN_DB_A3, S.RN_DB_A4, S.RN_DB_A5, RN_KR, S.Sum_Equal ;
   From EopBase B ;
     Left Join EopSpec S On B.RN = S.Master_RN ;
     &cJoinAn_D ;
   Where B.Date_EOP BETWEEN ?m.dDateBegin AND ?m.dDateEnd &cWhereOrg ;
   Into CURSOR crEopSpecD

 Select RN_KR, S.RN_KR_A1, S.RN_KR_A2, S.RN_KR_A3, S.RN_KR_A4, S.RN_KR_A5, RN_DB, S.Sum_Equal ;
   From EopBase B ;
     Left Join EopSpec S On B.RN = S.Master_RN ;
     &cJoinAn_K ;
   Where B.Date_EOP BETWEEN ?m.dDateBegin AND ?m.dDateEnd &cWhereOrg ;
   Into CURSOR crEopSpecK

 CurClose("crsAccSpRN")

 * Аналитические счета, КБК, ЭКР
 CurOpen("AccSpec,fSbSSpec,fEconCl")

 * Счета и аналитика из остатков и проводок
 For m.i = 1 To 5
   s = Str(m.i, 1)
   cFieldAc = m.cFieldAc + ", S.RN_AC_A" + m.s + " As RN_AN" + m.s
 Next
 cFieldDb = StrTran(m.cFieldAc, "_AC_", "_DB_")
 cFieldKr = StrTran(m.cFieldAc, "_AC_", "_KR_")
 cTmp     = ", Space(1) As AccType, Space(1) As S22, Space(33) As KBK, Space(15) As KOSGU, Space(4) As KBK_RN"
 cFieldAc = "S.RN_ACCOUNT As RN_ACC" + m.cFieldAc + m.cTmp
 cFieldDb = "S.RN_DB As RN_ACC"      + m.cFieldDb + m.cTmp
 cFieldKr = "S.RN_KR As RN_ACC"      + m.cFieldKr + m.cTmp

 * Доп. условие для нац. проектов
 cWhereSbF = Iif(m.nNPrjOnly = 0, "", "Where SubStr(AllTrim(bC.Code), 4, 1) $ 'ADEFGIJLNPRSTVY'") 
 
 * Курсор для поиска ШФ
 Select F.RN, ;
        Nvl(bE.CODE, Space(8)) As VidR, ;
        PadR(AllTrim(F.RASP_CODE) ;
           + AllTrim(Nvl(PR.CODE, Nvl(R.CODE, Space(6)))) ;
           + AllTrim(Nvl(bC.CODE, Space(10))) ;
           + AllTrim(F.PRG_CODE) ;
           + AllTrim(Nvl(bE.CODE, Space(8))), 33) As Code ;
   From 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 ;
   &cWhereSbF ;
   Into CURSOR curDicForm

 Index On RN Tag RN

 * Курсор для поиска КБК
 Select RN, Code From BKlsDoh Where InList(KLS_TYPE, 1, 2) Into CURSOR curKlsDoh
 Index On RN Tag RN

 * Курсоры для расчётов
 Create CURSOR curItogAcc (AccType C(1), S22 C(1), KBK C(33), KosGu C(15), KBK_RN C(4), Col4 N(18,2), Col5 N(18,2), Col6 N(18,2), Col7 N(18,2), Col8 N(18,2), Col9 N(18,2), Col10 N(18,2))
 Index On AccType + S22 + KBK + KosGu + KBK_RN Tag T1
 
 Create CURSOR curItog860 (KBK C(33), KosGu C(15), KBK_RN C(4), Col7 N(18,2))
 Index On KBK + KosGu + KBK_RN Tag T1

 ** Графа 4 (Утверждено бюджетных ассигнований)
 && Всего БА
 If !m.lOnlyGRBS
    = GetCrsAccRN("503?1,503?5")

   Select &cFieldDb, S.Sum_Equal As Sum ;
      From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs4 READWRITE

   = AnalizAcc("crs4",,,, .T.)
   = InsertToTable(4)
     
   = GetCrsAccRN("503?4")

   Select &cFieldKr, -S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
     Into CURSOR crs4 READWRITE

   = AnalizAcc("crs4",,,, .T.)
   = InsertToTable(4)
 EndIf

 && Не распределено БА
 If m.lOnlyGRBS Or m.lOnlyPBS
   = GetCrsAccRN("503?2")

   Select &cFieldAc, -S.Sum_Equal As Sum ;
     From crAcAnRest S ;
       Inner Join crsAccRN A ON S.RN_ACCOUNT = A.RN ;
   UNION ALL ;
   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
   UNION ALL ;
   Select &cFieldDb, -S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs4 READWRITE

   If m.lOnlyPBS
      Replace ALL Sum With -Sum
   EndIf

   = AnalizAcc("crs4",,,, .T.)
   = InsertToTable(4)
 EndIf

 ** Графа 5 (Утверждено лимитов бюджетных обязательств)
 && Всего ЛБО
 If !m.lOnlyGRBS
    = GetCrsAccRN("501?1,501?5")

   Select &cFieldDb, S.Sum_Equal As Sum ;
      From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs5 READWRITE

   = AnalizAcc("crs5")
   = InsertToTable(5)
     
   = GetCrsAccRN("501?4")

   Select &cFieldKr, -S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
     Into CURSOR crs5 READWRITE

   = AnalizAcc("crs5")
   = InsertToTable(5)
 EndIf

 && Не распределено ЛБО
 If m.lOnlyGRBS Or m.lOnlyPBS
   = GetCrsAccRN("501?2")

   Select &cFieldAc, -S.Sum_Equal As Sum ;
     From crAcAnRest S ;
       Inner Join crsAccRN A ON S.RN_ACCOUNT = A.RN ;
   UNION ALL ;
   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
   UNION ALL ;
   Select &cFieldDb, -S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs5 READWRITE

   If m.lOnlyPBS
      Replace ALL Sum With -Sum
   EndIf

   = AnalizAcc("crs5")
   = InsertToTable(5)
 EndIf

 If !m.lOnlyGRBS
   ** Графа 6 (Принимаемые обязательства)
   = GetCrsAccRN("502?7")

   Select &cFieldAc, -S.Sum_Equal As Sum ;
     From crAcAnRest S ;
       Inner Join crsAccRN A ON S.RN_ACCOUNT = A.RN ;
   UNION ALL ;
   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
   UNION ALL ;
   Select &cFieldDb, -S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs6 READWRITE

   = AnalizAcc("crs6", .T.)
   = InsertToTable(6)

   ** Графа 7 (Принято обязательств всего - для строки 860)
   = GetCrsAccRN("50299")

   Select &cFieldAc, -S.Sum_Equal As Sum ;
     From crAcAnRest S ;
       Inner Join crsAccRN A ON S.RN_ACCOUNT = A.RN ;
   UNION ALL ;
   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
   UNION ALL ;
   Select &cFieldDb, -S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs7 READWRITE

   = AnalizAcc("crs7", .T.)

   lNoError = RepG151.GetComRepPrm151("_0503128", m.lNoError, 7)

   Select crs7
   Scan For m.lNoError
     Scatter FIELDS KBK, KosGu, KBK_RN, Sum NAME oRec
     Select curItog860
     If !Seek(oRec.KBK + oRec.KosGu + oRec.KBK_RN)
       Insert Into curItog860 From NAME oRec
     EndIf
     Replace Col7 With Col7 + oRec.Sum
   EndScan

   USE In crs7
   CurClose("crsAccRN")

   ** Графа 7 (Принято обязательств всего)
   = GetCrsAccRN("502?1")

   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
     Into CURSOR crs7 READWRITE

   = AnalizAcc("crs7")
   = InsertToTable(7)

   If m.lOsKr502x2
     = GetCrsAccRN("502?2", "SubStr(AccBase.Account, 22, 1) # '1'")

     Select &cFieldAc, -S.Sum_Equal As Sum ;
       From crAcAnRest S ;
         Inner Join crsAccRN A ON S.RN_ACCOUNT = A.RN ;
       Into CURSOR crs7 READWRITE

     = AnalizAcc("crs7",, .T.)
     = InsertToTable(7)
   EndIf

   ** Графа 8 (Принятые бюджетные обязательства с применением конкурентных способов)
   = GetCrsAccRN("502?7")

   Select &cFieldDb, S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
       Inner Join AccBase  C ON S.RN_KR = C.RN ;
     Where Like("502?1", SubStr(C.ACCOUNT, 19, 5)) ;
     Into CURSOR crs8 READWRITE

   = AnalizAcc("crs8", .T.)
   = InsertToTable(8)

   ** Графа 9 (Принято денежных обязательств всего)
   = GetCrsAccRN("502?2")

   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
     Into CURSOR crs9 READWRITE

   = AnalizAcc("crs9")
   = InsertToTable(9)

   ** Графа 10 (Исполнено денежных обязательств)
   = GetCrsAccRN("30405")

   Select &cFieldKr, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
       Inner Join AccBase C ON S.RN_DB = C.RN ;
     Where SubStr(C.ACCOUNT, 19, 4) # "4013" And SubStr(C.ACCOUNT, 19, 5) # "30404" ;
   UNION ALL ;
   Select &cFieldDb, -S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
       Inner Join AccBase  C ON S.RN_KR = C.RN ;
     Where SubStr(C.ACCOUNT, 19, 4) # "4013" And SubStr(C.ACCOUNT, 19, 5) # "30404" ;
     Into CURSOR crs10 READWRITE

   = AnalizAcc("crs10",,, "1")
   = InsertToTable(10)

   If !Empty(m.cWhereAccIDBO)
     = GetCrsAccRN("", m.cWhereAccIDBO + Iif(m.cAccIDBO = "|" And Len(AllTrim(m.cAccIDBO)) > 1, " And " + m.cUsl18, ""))

     Select &cFieldKr, S.Sum_Equal As Sum ;
       From crEopSpecK S ;
         Inner Join crsAccRN A ON S.RN_KR = A.RN ;
     UNION ALL ;
     Select &cFieldDb, -S.Sum_Equal As Sum ;
       From crEopSpecD S ;
         Inner Join crsAccRN A ON S.RN_DB = A.RN ;
       Into CURSOR crs10 READWRITE

     = AnalizAcc("crs10",,, "1")
     = InsertToTable(10)
   EndIf
 EndIf

 CurClose("crAcAnRest,crEopSpecD,crEopSpecK,curDicForm,curKlsDoh")

 ** 1. Бюджетные обязательства текущего (отчетного) финансового года по расходам
 Select KBK, KosGu, KBK_RN, Col4, Col5, Col6, Col7, Col8, Col9, Col10 ;
   From curItogAcc ;
   Where AccType = "R" And S22 = "1" And !(Col4 = 0 And Col5 = 0 And Col6 = 0 And Col7 = 0 And Col8 = 0 And Col9 = 0 And Col10 = 0) ;
   Order By 1, 2, 3 ;
   Into CURSOR curItogR

 ** 2. Бюджетные обязательства текущего (отчетного) финансового года по выплатам источников финансирования дефицита бюджета
 Select KBK, KosGu, KBK_RN, Col4, Col5, Col7, Col9, Col10 ;
   From curItogAcc ;
   Where AccType = "D" And S22 = "1" And !(Col4 = 0 And Col5 = 0 And Col7 = 0 And Col9 = 0 And Col10 = 0) ;
   Order By 1, 2, 3 ;
   Into CURSOR curItogD

 ** 3. Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом
 Select KBK, KosGu, KBK_RN, S22, Col4, Col5, Col6, Col7, Col8, Col9 ;
   From curItogAcc ;
   Where AccType = "R" And InList(S22, "2", "3", "4", "9") And !(Col4 = 0 And Col5 = 0 And Col6 = 0 And Col7 = 0 And Col8 = 0 And Col9 = 0) ;
   Order By 1, 2, 3 ;
   Into CURSOR curItog800

 Private ALL LIKE nIt*

 If m.nNPrjOnly = 0
   * 800 (по расходам)
   Select curItog800
   Sum Col4, Col5, Col6, Col7, Col8, Col9 To nIt800_4, nIt800_5, nIt800_6, nIt800_7, nIt800_8, nIt800_9

   * 860 (из них по отложенным обязательствам)
   Select curItog860
   Sum Col7 To nIt860_7
 EndIf

 * 900 (по выплатам источников финансирования дефицита бюджета)
 Select curItogAcc
 Sum Col4, Col5, Col7, Col9 For AccType = "D" And InList(S22, "2", "3", "4", "9") To nIt900_4, nIt900_5, nIt900_7, nIt900_9

 Use In curItogAcc

 * Формирую имя файла для выгрузки
 If !Empty(m.cUnlPath)
   Local nNum, cNum, nN, nLen
   Local ARRAY aFiles[1]
   cFileName = "228" + Iif(m.nNPrjOnly = 0, "", "np") + "Y"
   nLen = Len(m.cFileName) + 1
   nNum = 0
   If ADir(aFiles, m.cUnlPath + m.cFileName + "??.txt") # 0
     For m.i = 1 To Alen(aFiles) / 5
       nN = At(".", aFiles(m.i, 1))
       cNum = SubStr(aFiles(m.i, 1), m.nLen, m.nN - m.nLen)
       If m.nNum < Val(m.cNum)
         nNum = Val(m.cNum)
       EndIf 
       If m.nNum = 99
         nNum = 0
       EndIf
     Next
   EndIf
   cFileName = m.cUnlPath + m.cFileName + PadL(Int(m.nNum) + 1, 2, "0") + ".txt"
 EndIf

 ** Печать отчета
 Private oPrint
 oPrint = objCaller.objExcelRep

 * Заголовок
 oPrint.PrintRange("Header")

 * 1. Бюджетные обязательства текущего (отчетного) финансового года по расходам
 Select curItogR
 i = 1
 Scan
   * Печать строки
   If m.i # 1
     oPrint.InsertRange()
   EndIf
   oPrint.PrintRange("SpecR")
   i = m.i + 1
 EndScan   

 * 2. Бюджетные обязательства текущего (отчетного) финансового года по выплатам источников финансирования дефицита бюджета
 Select curItogD
 i = 1
 Scan
   * Печать строки
   If m.i # 1
     oPrint.InsertRange()
   EndIf
   oPrint.PrintRange("SpecD")
   i = m.i + 1
 EndScan   

 * 3. Обязательства финансовых годов, следующих за текущим (отчетным) финансовым годом
 If m.nNPrjOnly = 0
   * в том числе по расходам (800), по отложенным обязательствам (860)
   oPrint.PrintRange("Spec800")
 Else
   * 810, 820, 830, 850
   For m.j = 1 To 4
     s = Iif(m.j = 4, "5", Str(m.j, 1))
     c22 = Iif(m.j = 4, "9", Str(m.j + 1, 1))
     Select curItog800
     i = 1
     Scan For S22 = m.c22
       * Печать строки
       If m.i # 1
         oPrint.InsertRange()
       EndIf
       oPrint.PrintRange("Spec8" + m.s + "0")
       i = m.i + 1
     EndScan
   Next

   * 860 - по отложенным обязательствам
   Select curItog860
   i = 1
   Scan For Col7 # 0
     * Печать строки
     If m.i # 1
       oPrint.InsertRange()
     EndIf
     oPrint.PrintRange("Spec860")
     i = m.i + 1
   EndScan   
 EndIf

 * Подвал
 oPrint.PrintRange("Footer")

 CurClose("curItogR;curItogD;curItog800;curItog860")

 * Удаление листа со сценарием выгрузки
 If Empty(m.cFileName)
   Local nSheet
   nSheet = oPrint.GetSheetNum("Выгрузка в МинФин")
   If nSheet > 0 
     oPrint.Book.Sheet = m.nSheet
     oPrint.Book.EditDeleteSheets()
   EndIf
   oPrint.Book.Sheet = 1
 EndIf

 oPrint = NULL


******************************************************************************
 Procedure AnalizAcc
  LParameters cAlias, lSbFOnly, l502X2, cS22Def, lVidR

  Local cType, cS22, cKBK, cKosGu, cKslRN, cField, cAnRN, cTFinRN
  lSbFOnly = Iif(Type("m.lSbFOnly") # "L", .F., m.lSbFOnly)
  l502X2   = Iif(Type("m.l502X2") # "L", .F., m.l502X2)
  cS22Def  = Iif(Type("m.cS22Def") # "C", "", m.cS22Def)

  Select (m.cAlias)
  Scan
    = Seek(&cAlias..RN_Acc, "AccBase", "RN")
    Store "" To cType, cTFinRN, cKosGu

    * отбор по шаблону финансирования
    If AccBase.TFIN_TYPE # 1 And AT("9", AccBase.Smeta_An) > 0
      cField  = m.cAlias + ".RN_AN" + Str(AT("9", AccBase.Smeta_An), 1)
      cAnRN   = Evaluate(m.cField)
      cTFinRN = Iif(!Empty(m.cAnRN) And Seek(m.cAnRN, "AccSpec", "RN"), AccSpec.Rn_TFin, "")
    Else
      cTFinRN = Iif(AccBase.TFIN_TYPE = 1, AccBase.RN_TFIN, "")
    EndIf
    If !Empty(m.cTFinRN) And Seek(m.cTFinRN, "curDicForm", "RN")
      If m.lVidR And m.nChk31_33 = 1 And !InList(Left(AllTrim(CurDicForm.VidR), 2), "31", "33")
        Delete In (m.cAlias)
        Loop
      EndIf
      cKBK   = CurDicForm.Code
      cKslRN = CurDicForm.RN
      cType  = "R"
    Else
      If !m.lSbFOnly And m.nNPrjOnly = 0
        * отбор по классификатору доходов - сначала смотрим в счете, затем в аналитике
        cTFinRN = AccBase.RN_KLSDOH
        If Empty(m.cTFinRN) And AT("3", AccBase.Org_An) > 0
          cField  = m.cAlias + ".RN_AN" + Str(AT("3", AccBase.Org_An), 1)
          cAnRN   = Evaluate(m.cField)
          cTFinRN = Iif(!Empty(m.cAnRN) And Seek(m.cAnRN, "AccSpec", "RN"), AccSpec.Rn_KlsDoh, "")
        EndIf
        If !Empty(m.cTFinRN) And Seek(m.cTFinRN, "curKlsDoh", "RN")
          cKBK   = PadR(curKlsDoh.Code, 33)
          cKslRN = curKlsDoh.RN
          cType  = "D"
        EndIf
      EndIf
    EndIf

    If Empty(m.cType)
      Delete In (m.cAlias)
      Loop
    EndIf

    cS22 = SubStr(AccBase.Account, 22, 1)

    Do Case
      Case m.l502X2
        cS22 = Str(Val(m.cS22) - 1, 1)
      Case !Empty(m.cS22Def)
        cS22 = m.cS22Def
    EndCase

    Replace AccType With m.cType, ;
            S22     With m.cS22 In (m.cAlias)

    If m.cS22 = "1" Or m.nNPrjOnly = 1   && только для текущего (отчетного) финансового года или для нацпроектов
      && код распорядителя, если выбрано только одно БУ
      If !Empty(m.glBK1)
        cKBK = m.glBK1 + SubStr(m.cKBK, Len(m.glBK1) + 1)
      EndIf

      && Аналитика КОСГУ
      If m.nChkKOSGU = 1
        cField = m.cAlias + ".RN_AN" + Str(m.nAnLevel, 1)
        cAnRN  = Evaluate(m.cField)
        If !Empty(m.cAnRN) And Seek(m.cAnRN, "AccSpec", "RN")
          && проверка на привязку к смете
          If SubStr(AccBase.Smeta_An, m.nAnLevel, 1) $ "123458" And !Empty(AccSpec.RN_TSTAT) And ;
             Seek(AccSpec.RN_TSTAT, "fSbSSpec", "RN") And !Empty(fSbSSpec.EconCl_RN) And ;
             Seek(fSbSSpec.EconCl_RN, "fEconCl", "RN")
            cKosGu = fEconCl.Code
          Else
            cKosGu = AccSpec.SAccount
          EndIf
        EndIf

        && Сворачиваю КОСГУ до 3-х символов
        If m.nChkAdAn3 = 1
          cKosGu = Left(m.cKosGu, 3)
        EndIf
      EndIf

      Replace KBK    With m.cKBK, ;
              KOSGU  With m.cKosGu, ;
              KBK_RN With m.cKslRN In (m.cAlias)
    EndIf
  EndScan

 EndProc


******************************************************************************
 Procedure InsertToTable
  LParameters nCol

  Local cAliasFr, s, oRec
  s = LTrim(Str(m.nCol))
  cAliasFr = "crs" + m.s
  lNoError = RepG151.GetComRepPrm151("_0503128", m.lNoError, m.nCol)

  Select (m.cAliasFr)
  Scan For m.lNoError
    Scatter FIELDS AccType, S22, KBK, KosGu, KBK_RN, Sum NAME oRec
    Select curItogAcc
    If !Seek(oRec.AccType + oRec.S22 + oRec.KBK + oRec.KosGu + oRec.KBK_RN)
      Insert Into curItogAcc From NAME oRec
    EndIf
    Replace Col&s With Col&s + oRec.Sum
  EndScan

  USE In (m.cAliasFr)
  CurClose("crsAccRN")

 EndProc


******************************************************************************
 Procedure GetCrsAccRN
  LParameters cSubs, cWhereAcc

  Local cWhere, nPos, cSubs1

  If !Empty(m.cSubs)
    cSubs  = m.cSubs + ","
    nPos   = AT(",", m.cSubs)
    cWhere = ""
    DO While m.nPos # 0
      cSubs1 = Left(m.cSubs, m.nPos - 1)
      cSubs  = SubStr(m.cSubs, m.nPos + 1)
      nPos   = AT(",", m.cSubs)
      cWhere = m.cWhere + Iif(Empty(m.cWhere), "", " OR ") + "Like('" + m.cSubs1 + "', SubStr(AccBase.Account, 19, 5))"
    EndDO
    If " OR " $ m.cWhere
      cWhere = "(" + m.cWhere + ")"
    EndIf
    cWhere = m.cWhere + " AND " + m.cUsl18
  EndIf

  If !Empty(m.cWhereAcc)
    cWhere = Iif(Empty(m.cWhere), "", m.cWhere + " AND ") + m.cWhereAcc
  EndIf
  
  Select AccBase.RN ;
    From AccBase ;
      Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
    Where &cWhere &cWhereBalUnits ;
    Into CURSOR crsAccRN

 EndProc
*
]]></FPC_></MSE>
      <FPC_><![CDATA[*[VFP]
RepG151.GetOutS(.T.)
]]></FPC_>
    </печать>
  </отчет>
  <форма>
    <ид>f_0503128_191n_186n_2023</ид>
    <тип>XML</тип>
    <описание>
      <дополнительно>
        <desc_version>1.0</desc_version>
      </дополнительно>
      <VFP_свойство имя="Name">f_0503128</VFP_свойство>
      <VFP_свойство имя="Caption">Форма 0503128-191н_ред186н_2023</VFP_свойство>
      <VFP_свойство имя="Height">450</VFP_свойство>
      <VFP_свойство имя="Width">465</VFP_свойство>
      <VFP_метод имя="Valid"><![CDATA[LParam oThis, oThisform

Local oPage, c18, cSymb, i

oPage = oThisForm.TPageMain.Page1
dSelDateS  = oPage.cntSelDateS.RestDate.Value
dSelDatePo = oPage.cntSelDatePo.RestDate.Value

If m.dSelDateS > m.dSelDatePo
   =ExclMes("Неправильно задан диапазон дат!")
   oThisForm.TPageMain.ActivePage = 1
   oPage.cntSelDateS.SetFocus()
   Return .F.
EndIf

c18 = oPage.Txt18B1.Value + oPage.Txt18B2.Value + oPage.Txt18B3.Value + oPage.Txt18B4.Value + ;
      oPage.Txt18B5.Value + oPage.Txt18B6.Value + oPage.Txt18B7.Value + oPage.Txt18B8.Value + ;
      oPage.Txt18B9.Value + oPage.Txt18B10.Value

If Empty(m.c18)
  ExclMes("Для счетов не указан код вида деятельности!")
  oThisForm.TPageMain.ActivePage = 1
  oPage.Txt18B1.SetFocus()
  Return .F.
EndIf

c18 = StrTran(m.c18,  " ", "", 1)

Store "" To cUsl18
For m.i = 1 To Len(m.c18)
  cSymb = SubStr(m.c18, m.i, 1)
  cUsl18 = m.cUsl18 + Iif(!Empty(m.cUsl18), ",'", "'") + m.cSymb + "'"
Next

cUsl18 = "(!AccBase.L_Balance And AT('з', Accbase.Account) = 1 Or InList(SubStr(AccBase.Account, Iif(AccBase.L_Balance Or AT('з', AccBase.Account) = 0, 18, AT('з', AccBase.Account) - 1), 1), " + m.cUsl18 + "))"

cBalUnits = oPage.Balunits.GetSaveValue()
cWhereBalUnits = oPage.Balunits.GetCond()
If !Empty(m.cWhereBalUnits)
  cWhereBalUnits = "And " + m.cWhereBalUnits
EndIf

cOrg = oPage.OrgFrom.GetSaveValue()
cWhereKontragent = oPage.OrgFrom.GetCond()

* счета
oPage = oThisForm.TPageMain.Page2
cAccIDBO = oPage.DicAccountIDBO.GetSaveValue()
cWhereAccIDBO = oPage.DicAccountIDBO.GetCond()

* Каталог для выгрузки
oPage = oThisForm.TPageMain.Page3
cUnlPath = AllTrim(oPage.Catalog.Text.Value)
If !Empty(m.cUnlPath) And !Directory(m.cUnlPath, 1)
  ExclMes("Каталог " + m.cUnlPath + Chr(13) + "не существует!")
  oThisForm.TPageMain.ActivePage = 3
  oPage.Catalog.SetFocus()
  Return .F.
EndIf

cDicIsp = oPage.DicIsp.GetSaveValue()
************************************************************
            ]]></VFP_метод>
      <VFP_метод имя="PostInit"><![CDATA[LParam oThis, oThisform
************************************************************
Local oPage

oPage = oThisForm.TPageMain.Page1
    
oPage.cntSelDateS. InitThis(m.dSelDateS)
oPage.cntSelDatePo.InitThis(m.dSelDatePo)
oPage.OrgFrom.SetSaveValue(m.cOrg)
oPage.txtNameBudzh.SetSaveValue(m.cNameBudzh)
oPage.BalUnits.SetSaveValue(m.cBalUnits)
oPage.ChkKOSGU.ValueChanged()

oPage = oThisForm.TPageMain.Page2
* Без AddToHistory первоначальное значение чистится при попытке выбора из списка
oPage.DicAccountIDBO.AddToHistory("??????????????????з18*")
oPage.DicAccountIDBO.SetSaveValue(m.cAccIDBO)

oPage = oThisForm.TPageMain.Page3    
oPage.Catalog.Text.Value = m.cUnlPath
oPage.fldIspName.Value   = m.cIspName
oPage.DicIsp.SetSaveValue(m.cDicIsp)

]]></VFP_метод>
      <элемент>
        <VFP_имя>Tbtndialog1</VFP_имя>
        <VFP_свойство имя="Left">190</VFP_свойство>
        <VFP_свойство имя="Top">413</VFP_свойство>
      </элемент>
        <элемент>
          <VFP_класс>TPageFrame</VFP_класс>
          <VFP_свойство имя="Name">TPageMain</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">25</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>Month_year_m</VFP_класс>
              <VFP_свойство имя="Name">cntSelDateS</VFP_свойство>
              <VFP_свойство имя="ControlSource">dSelDateS</VFP_свойство>
              <VFP_свойство имя="Left">90</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">По:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">55</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>Month_year_m</VFP_класс>
              <VFP_свойство имя="Name">cntSelDatePo</VFP_свойство>
              <VFP_свойство имя="ControlSource">dSelDatePo</VFP_свойство>
              <VFP_свойство имя="Left">90</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">85</VFP_свойство>
              <VFP_свойство имя="Caption">Учреждение:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TDicHist</VFP_класс>
              <VFP_свойство имя="Name">OrgFrom</VFP_свойство>
              <VFP_свойство имя="Left">170</VFP_свойство>
              <VFP_свойство имя="Top">80</VFP_свойство>
              <VFP_свойство имя="Width">275</VFP_свойство>
              <VFP_свойство имя="AreaName" тип="C">OrgBase</VFP_свойство>
              <VFP_свойство имя="DictName" тип="C">Agnt_bms</VFP_свойство>
              <VFP_свойство имя="RetField" тип="C">rmnemo_org</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_AGENTS128_186N_2023</VFP_свойство>
              <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
              <VFP_свойство имя="condfield" тип="C">orgbase.rmnemo_org</VFP_свойство>
              <VFP_свойство имя="condfieldrn" тип="C">orgbase.rn</VFP_свойство>
              <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</VFP_имя>
                <дополнительно>
                  <отложенная_инициализация/>
                </дополнительно>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Балансовая единица:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">115</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>S_balunits</VFP_класс>
              <VFP_свойство имя="Name">Balunits</VFP_свойство>
              <VFP_свойство имя="Left">170</VFP_свойство>
              <VFP_свойство имя="Top">110</VFP_свойство>
              <VFP_свойство имя="Width">275</VFP_свойство>
              <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
              <VFP_свойство имя="condfield" тип="C">balunit.mnemo</VFP_свойство>
              <VFP_свойство имя="condfieldrn" тип="C">balunit.rn</VFP_свойство>
              <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</VFP_имя>
                <дополнительно>
                  <отложенная_инициализация/>
                </дополнительно>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Уровень аналитики КОСГУ:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">145</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TSpinner</VFP_класс>
              <VFP_метод имя="InteractiveChange"><![CDATA[LParam oThis, oThisform
oThisform.Recalc()
]]></VFP_метод>
              <VFP_свойство имя="ControlSource">nAnLevel</VFP_свойство>
              <VFP_свойство имя="Increment">1.00</VFP_свойство>
              <VFP_свойство имя="Inputmask">9</VFP_свойство>
              <VFP_свойство имя="KeyboardHighValue">5</VFP_свойство>
              <VFP_свойство имя="KeyboardLowValue">1</VFP_свойство>
              <VFP_свойство имя="Left">405</VFP_свойство>
              <VFP_свойство имя="Name">aLevelAlt</VFP_свойство>
              <VFP_свойство имя="SpinnerHighValue">5.00</VFP_свойство>
              <VFP_свойство имя="SpinnerLowValue">1.00</VFP_свойство>
              <VFP_свойство имя="Top">140</VFP_свойство>
              <VFP_свойство имя="Width">40</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">175</VFP_свойство>
              <VFP_свойство имя="Caption">Наименование бюджета:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TDicHist</VFP_класс>
              <VFP_свойство имя="Name">txtNameBudzh</VFP_свойство>
              <VFP_свойство имя="Left">170</VFP_свойство>
              <VFP_свойство имя="Top">170</VFP_свойство>
              <VFP_свойство имя="Width">275</VFP_свойство>
              <VFP_свойство имя="AreaName" тип="C">Mubudg</VFP_свойство>
              <VFP_свойство имя="DictName" тип="C">Mubudg_msc</VFP_свойство>
              <VFP_свойство имя="RetField" тип="C">mnemo</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_AGENTSMUB128_186N_2023</VFP_свойство>
              <VFP_свойство имя="ControlSource" тип="C">m.cNameBudzh</VFP_свойство>
              <VFP_свойство имя="notempty" тип="L">.F.</VFP_свойство>
              <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</VFP_имя>
                <дополнительно>
                  <отложенная_инициализация/>
                </дополнительно>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">205</VFP_свойство>
              <VFP_свойство имя="Caption">Код субъекта отчетности:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TComboBox</VFP_класс>
              <VFP_свойство имя="Left">170</VFP_свойство>
              <VFP_свойство имя="Name">Cmb_KSO</VFP_свойство>
              <VFP_свойство имя="Top">200</VFP_свойство>
              <VFP_свойство имя="Height">23</VFP_свойство>
              <VFP_свойство имя="Width">120</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_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">320</VFP_свойство>
              <VFP_свойство имя="Top">205</VFP_свойство>
              <VFP_свойство имя="ControlSource">nCommon</VFP_свойство>
              <VFP_свойство имя="Name">ChkCommon</VFP_свойство>
              <VFP_свойство имя="Caption">Общий</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">235</VFP_свойство>
              <VFP_свойство имя="Caption">Код вида деятельности:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">236</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B1</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B1</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">257</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B2</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B2</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">278</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B3</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B3</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">299</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B4</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B4</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">320</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B5</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B5</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">341</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B6</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B6</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">362</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B7</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B7</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">383</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B8</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B8</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">404</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B9</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B9</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">425</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B10</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B10</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">260</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChkKOSGU</VFP_свойство>
              <VFP_свойство имя="Name">ChkKOSGU</VFP_свойство>
              <VFP_свойство имя="Caption">Формировать в разрезе КОСГУ</VFP_свойство>
              <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisform
Store oThis.Value = 1 To oThis.Parent.ChkAdAn3.Enabled, oThis.Parent.aLevelAlt.Enabled
]]></VFP_метод>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">235</VFP_свойство>
              <VFP_свойство имя="Top">260</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChkAdAn3</VFP_свойство>
              <VFP_свойство имя="Name">ChkAdAn3</VFP_свойство>
              <VFP_свойство имя="Caption">Сворачивать КОСГУ до 3-х символов</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">280</VFP_свойство>
              <VFP_свойство имя="WordWrap">.T.</VFP_свойство>
              <VFP_свойство имя="Width">430</VFP_свойство>
              <VFP_свойство имя="PicturePosition">0</VFP_свойство>
              <VFP_свойство имя="ControlSource">lOsKr502x2</VFP_свойство>
              <VFP_свойство имя="Name">chkOsKr502x2</VFP_свойство>
              <VFP_свойство имя="Caption">Учитывать кредитовые остатки по счетам 502Х2 для расчета показателей по принятым обязательствам</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">310</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChk31_33</VFP_свойство>
              <VFP_свойство имя="Name">Chk31_33</VFP_свойство>
              <VFP_свойство имя="Caption">Отражать расходные БА в графе 4 только по КВР 31Х и 33Х</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">330</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChkKVR</VFP_свойство>
              <VFP_свойство имя="Name">ChkKVR</VFP_свойство>
              <VFP_свойство имя="Caption">Заполнять наименование показателя по расходам из наименования КВР</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">350</VFP_свойство>
              <VFP_свойство имя="ControlSource">nNPrjOnly</VFP_свойство>
              <VFP_свойство имя="Name">ChkNPrjOnly</VFP_свойство>
              <VFP_свойство имя="Caption">Формировать показатели только о ходе реализации национальных проектов</VFP_свойство>
            </элемент>
          </элемент>
          <элемент>
            <VFP_имя>Page2</VFP_имя>
            <VFP_свойство имя="Caption">Счета</VFP_свойство>
            <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
            <VFP_свойство имя="FontSize">8</VFP_свойство>            
            <элемент>
              <VFP_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">45</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_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <VFP_свойство имя="WordWrap">.T.</VFP_свойство>              
              <VFP_свойство имя="Width">220</VFP_свойство>              
              <VFP_свойство имя="Caption">Исполнение денежных обязательств (через банковские счета):</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>S_Account</VFP_класс>
              <VFP_свойство имя="Left">220</VFP_свойство>
              <VFP_свойство имя="Width">225</VFP_свойство>
              <VFP_свойство имя="Name">DicAccountIDBO</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_ACCIDBO128_186N_2023</VFP_свойство>
              <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
              <VFP_свойство имя="condfield" тип="C">AccBase.Account</VFP_свойство>
              <VFP_свойство имя="condfieldrn" тип="C">AccBase.RN</VFP_свойство>
              <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
              <VFP_свойство имя="runfromexe" тип="L">.T.</VFP_свойство>
            </элемент>
           </элемент>
           <элемент>
            <VFP_имя>Page3</VFP_имя>
            <VFP_свойство имя="Caption">Параметры выгрузки</VFP_свойство>
            <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
            <VFP_свойство имя="FontSize">8</VFP_свойство>                  
            <элемент>
              <VFP_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">165</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">10</VFP_свойство>
              <VFP_свойство имя="Width">445</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">5</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_свойство имя="Caption">ИСТ:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">55</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">385</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
              <VFP_свойство имя="Width">60</VFP_свойство>
              <VFP_свойство имя="MaxLength">3</VFP_свойство>
              <VFP_свойство имя="ControlSource">cIST</VFP_свойство>
            <VFP_свойство имя="Name">IST</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Исполнитель:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">85</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TDicHist</VFP_класс>
              <VFP_метод имя="AddUpdate"><![CDATA[LParam oThis, oThisform
= CurOpen("orgbase,person")

If !Empty(oThisForm.TPageMain.Page3.dicIsp.Value)
  = Seek(oThisForm.TPageMain.Page3.dicIsp.Value, "orgbase", "RN")
  If orgbase.type # '2'
    errmes("Выбранный контрагент не является физическим лицом.")
    oThisForm.TPageMain.Page3.dicIsp.Clear()
  Else    
    = Seek(oThisForm.TPageMain.Page3.dicIsp.Value, "person", "RN")
    oThisForm.TPageMain.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">80</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_AgentFIO128_186N_2023</VFP_свойство>
              <VFP_свойство имя="filter">orgbase.type='2'</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</VFP_имя>
                <дополнительно>
                  <отложенная_инициализация/>
                </дополнительно>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">ФИО:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">115</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">195</VFP_свойство>
              <VFP_свойство имя="Top">110</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">145</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">195</VFP_свойство>
              <VFP_свойство имя="Top">140</VFP_свойство>
              <VFP_свойство имя="Width">250</VFP_свойство>
              <VFP_свойство имя="ControlSource">cIspTel</VFP_свойство>
              <VFP_свойство имя="Name">fldIspTel</VFP_свойство>
            </элемент>
          </элемент>
        </элемент>
    </описание>
  </форма>
</Модуль>
