<?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">
  <интерфейс>
    <отчет>
      <наименование>Форма 0503127-191н_ред13н_2020</наименование>
      <код_раздела>Reports5n</код_раздела>
      <номер_код>f0503127_13n_2020</номер_код>
      <шаблон>
        <тип>MSE</тип>
        <мнемокод>ar_form0503127_13n_2020</мнемокод>
        <файл>Форма0503127_191н_ред13н_2020.xlt</файл>
      </шаблон>
      <!--Отчет формируется по хозяйственным операциям за период-->
    </отчет>
  </интерфейс>
  <отчет>
    <реализует>f0503127_13n_2020</реализует>
      <дополнительно>
      <запомнить_переменные>
        <список_переменных>dSelDate;dReoDate;cOrg;nAnLevel;cBalUnits;cTxt18B1;cTxt18B2;cTxt18B3;cTxt18B4;cTxt18B5;cTxt18B6;cTxt18B7;cTxt18B8;cTxt18B9;cTxt18B10;cNameBudzh;cKSO;nCommon;nChkKOSGU;nChkAdAn3;nChkMonth;nChk31_33;nChkKVR;cAccD6;cAccD7;cAccR7;cAccR8;cUnlPath;cIST;cPRP;cDicIsp;cIspName;cIspTel</список_переменных>
        <мемофайл>ar_form0503127_191n_13n_2020;ar_form0503127_191n_176n_2018</мемофайл>
      </запомнить_переменные>
      </дополнительно>
    <переменные>
      <переменная>
        <имя>dSelDate</имя>
        <начальное_значение>oSystem.Date</начальное_значение>
        <!--Отчетный период-->
      </переменная>
      <переменная>
        <имя>dReoDate</имя>
        <начальное_значение>{}</начальное_значение>
        <!--Дата реорганизации-->
      </переменная>
      <переменная>
        <имя>dDateBegin</имя>
        <начальное_значение>""</начальное_значение>
        <!--Дата С-->
      </переменная>
      <переменная>
        <имя>dDateEnd</имя>
        <начальное_значение>""</начальное_значение>
        <!--Дата По-->
      </переменная>
      <переменная>
        <имя>cOrg</имя>
        <начальное_значение>""</начальное_значение>
        <!--Контрагент-->
      </переменная>
      <переменная>
        <имя>cWhereKontragent</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по контрагентам-->
      </переменная>
      <переменная>
        <имя>nAnLevel</имя>
        <начальное_значение>5</начальное_значение>
        <!--Уровень аналитики КОСГУ-->
      </переменная>
      <переменная>
        <имя>cBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Бал. единицы-->
      </переменная>
      <переменная>
        <имя>cWhereBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по балансовым единицам-->
      </переменная>
      <переменная>
        <имя>CTxt18B1</имя>
        <начальное_значение>"1"</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B2</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B3</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B4</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B5</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B6</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B7</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B8</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B9</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B10</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cNameBudzh</имя>
        <начальное_значение>""</начальное_значение>
        <!--Наименование бюджета-->
      </переменная>
      <переменная>
        <имя>cKSO</имя>
        <начальное_значение>"ПБС"</начальное_значение>
        <!--Код субъекта отчетности-->
      </переменная>
      <переменная>
        <имя>nCommon</имя>
        <начальное_значение>1</начальное_значение>
        <!--Общий-->
      </переменная>
      <переменная>
        <имя>lOnlyGRBS</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Формировать показатели только ГРБС-->
      </переменная>
      <переменная>
        <имя>lOnlyPBS</имя>
        <начальное_значение>.F.</начальное_значение>
        <!--Формировать показатели только ПБС-->
      </переменная>
      <переменная>
        <имя>glBK</имя>
        <начальное_значение>""</начальное_значение>
        <!--Глава по БК-->
      </переменная>
      <переменная>
        <имя>nChkKOSGU</имя>
        <начальное_значение>0</начальное_значение>
        <!--Формировать в разрезе КОСГУ-->
      </переменная>
      <переменная>
        <имя>nChkAdAn3</имя>
        <начальное_значение>0</начальное_значение>
        <!--Сворачивать КОСГУ до 3-х символов-->
      </переменная>
      <переменная>
        <имя>nChkMonth</имя>
        <начальное_значение>0</начальное_значение>
        <!--Формировать в составе показателей месячного отчета-->
      </переменная>
      <переменная>
        <имя>nChk31_33</имя>
        <начальное_значение>0</начальное_значение>
        <!--Отражать БА в графе 4 раздела 2 только по КВР 31Х и 33Х-->
      </переменная>
      <переменная>
        <имя>nChkKVR</имя>
        <начальное_значение>1</начальное_значение>
        <!--Заполнять наименование показателя по расходам из наименования КВР-->
      </переменная>
      <переменная>
        <имя>cUsl18</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие для 18 знака счета-->
      </переменная>
      <переменная>
        <имя>cAccD6</имя>
        <начальное_значение>"|?????????????????1з17*"</начальное_значение>
        <!--Счета доходов6-->
      </переменная>
      <переменная>
        <имя>cAccD7</имя>
        <начальное_значение>""</начальное_значение>
        <!--Счета доходов7-->
      </переменная>
      <переменная>
        <имя>cAccR7</имя>
        <начальное_значение>"|?????????????????1з18*"</начальное_значение>
        <!--Счета расходов7-->
      </переменная>
      <переменная>
        <имя>cAccR8</имя>
        <начальное_значение>""</начальное_значение>
        <!--Счета расходов8-->
      </переменная>
      <переменная>
        <имя>cWhereAccD6</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по счетам доходов6-->
      </переменная>
      <переменная>
        <имя>cWhereAccD7</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по счетам доходов7-->
      </переменная>
      <переменная>
        <имя>cWhereAccR7</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по счетам расходов7-->
      </переменная>
      <переменная>
        <имя>cWhereAccR8</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по счетам расходов-->
      </переменная>
      <переменная>
        <имя>n811_5Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
      <переменная>
        <имя>n811_6Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
      <переменная>
        <имя>n812_6Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
       <переменная>
        <имя>n812_5Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>  
      <переменная>
        <имя>n821_6Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
      <переменная>
        <имя>n821_7Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
      <переменная>
        <имя>n822_6Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
      <переменная>
        <имя>n822_7Deficit</имя>
        <начальное_значение>0</начальное_значение>
      </переменная>
      <переменная>
        <имя>cUnlPath</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileName</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>cIST</имя>
        <начальное_значение>""</начальное_значение>
        <!--ИСТ-->
      </переменная>
      <переменная>
        <имя>cPRP</имя>
        <начальное_значение>"500"</начальное_значение>
        <!--ПРП-->
      </переменная>
      <переменная>
        <имя>cDicIsp</имя>
        <начальное_значение>""</начальное_значение>
        <!--Исполнитель-->
      </переменная>
      <переменная>
        <имя>cIspName</имя>
        <начальное_значение>""</начальное_значение>
        <!--ФИО исполнителя-->
      </переменная>
      <переменная>
        <имя>cIspTel</имя>
        <начальное_значение>""</начальное_значение>
        <!--Телефон исполнителя-->
      </переменная>
      <переменная>
        <имя>RepG151</имя>
        <начальное_значение>CreateObject("form0503buxrepd")</начальное_значение>
      </переменная>
      <переменная>
        <имя>dReportDate</имя>
        <начальное_значение>Date(2020,01,31)</начальное_значение>
      </переменная>
      <переменная>
        <имя>lNoError</имя>
        <начальное_значение>.T.</начальное_значение>
      </переменная>
    </переменные>
    <запуск_формы>
      <ид>f_0503127_191n_13n_2020</ид>
    </запуск_формы>
    <вычисление>
      <сообщение>Ждите, идет выборка данных ...</сообщение>
      <FPC_><![CDATA[*[VFP]
*ON ERROR
 Local cJoinAn, cJoinAn_D, cJoinAn_K, cWhereOrg, cFieldAc, cFieldDb, cFieldKr, cFieldAc1, cFieldDb1, cFieldKr1, i, s, cWhereAcc, lMonth
 Local ARRAY arrItog[1], arrBP[1]
 Private glBK1
 Store "" To glBK1, cJoinAn, cJoinAn_D, cJoinAn_K, cWhereOrg, cFieldAc

 dDateEnd   = Iif(Empty(m.dReoDate), DOX(m.dSelDate, 4), m.dReoDate)
 dDateBegin = DOX(m.dDateEnd, 1)

 * Глава по БК
 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, "РБС", "ГРБС")
 * Формировать в составе показателей месячного отчета
 lMonth    = m.nChkMonth = 1 And !m.lOnlyGRBS
 * Формировать показатели только ПБС
 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

 * остатки для ассигнований и лимитов БО
 If m.lOnlyGRBS Or m.lOnlyPBS
   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
 EndIf

 * обороты для всех колонок
 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,BKlsDoh,PRF_ECLS,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_")
 cFieldAc = "S.RN_ACCOUNT As RN_ACC" + m.cFieldAc + ", Space(48) as NameS, Space(4) as RN_KLS"
 cFieldDb = "S.RN_DB As RN_ACC"      + m.cFieldDb + ", Space(48) as NameS, Space(4) as RN_KLS"
 cFieldKr = "S.RN_KR As RN_ACC"      + m.cFieldKr + ", Space(48) as NameS, Space(4) as RN_KLS"

 *** Расчеты для листа "Доходы бюджета"
 Create CURSOR crsStrokSpecDohod (NameS C(48), RN_KLS C(4), Col4 N(18,2), Col5 N(18,2), Col6 N(18,2), Col7 N(18,2))
 Index On NameS + RN_KLS Tag T1

 If !m.lOnlyGRBS
   && Колонка 4 (Утвержденные бюджетные назначения)
   = GetCrsAccRN("5041")

   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 crs4Dohod READWRITE

   = AnalizAcc("crs4Dohod", .T.)
   = InsertToTable("Dohod", 4)

   && Колонка 5 (через финансовые органы)
   If !m.lMonth
     = GetCrsAccRN("21002")

     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" ;
     UNION ALL ;
     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" ;
       Into CURSOR crs5Dohod READWRITE

     = AnalizAcc("crs5Dohod", .T.)
     = InsertToTable("Dohod", 5)
   EndIf

   && Колонка 6 (через банковские счета)
   If !Empty(m.cWhereAccD6)
     = GetCrsAccRN(, m.cWhereAccD6 + Iif(m.cAccD6 = "|" And Len(AllTrim(m.cAccD6)) > 1, " And " + m.cUsl18, ""))

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

     = AnalizAcc("crs6Dohod", .T.)
     = InsertToTable("Dohod", 6)
   EndIf

   && Колонка 7 (некассовые операции)
   If !Empty(m.cWhereAccD7)
     = GetCrsAccRN(, m.cWhereAccD7 + Iif(m.cAccD7 = "|" And Len(AllTrim(m.cAccD7)) > 1, " And " + m.cUsl18, ""))

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

     = AnalizAcc("crs7Dohod", .T.)
     = InsertToTable("Dohod", 7)
   EndIf

   * Убираем строки с незаполненными суммами
   Delete For Col4 = 0 And Col5 = 0 And Col6 = 0 And Col7 = 0 In crsStrokSpecDohod
 EndIf


 *** Расчеты для листа "Расходы бюджета"
 Create CURSOR crsStrokSpec (NameS C(48), RN_KLS C(4), Col4 N(18,2), Col5 N(18,2), Col6 N(18,2), Col7 N(18,2), Col8 N(18,2))
 Index On NameS + RN_KLS Tag T1

 * Курсор для поиска наименований ШФ
 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 ;
   Into CURSOR curDicForm

 Index On RN Tag RN

 && Колонка 4 (Утвержденные бюджетные назначения)
 If !m.lMonth
   && Всего БА
   If !m.lOnlyGRBS
     = GetCrsAccRN("50311,50315")

     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("50314")

     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("50312")

     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
 EndIf

 && Колонка 5 (Лимиты бюджетных обязательств)
 && Всего ЛБО
 If !m.lOnlyGRBS
   = GetCrsAccRN("50111,50115")

   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("50114")

   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("50112")

   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

 && Колонка 6 (через финансовые органы)
 If !m.lMonth And !m.lOnlyGRBS
   = 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 crs6 READWRITE

   = AnalizAcc("crs6")
   = InsertToTable("", 6)
 EndIf

 && Колонка 7 (через банковские счета)
 If !m.lOnlyGRBS And !Empty(m.cWhereAccR7)
   = GetCrsAccRN(, m.cWhereAccR7 + Iif(m.cAccR7 = "|" And Len(AllTrim(m.cAccR7)) > 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 crs7 READWRITE

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

 && Колонка 8 (некассовые операции)
 If !m.lOnlyGRBS And !Empty(m.cWhereAccR8)
   = GetCrsAccRN(, m.cWhereAccR8 + Iif(m.cAccR8 = "|" And Len(AllTrim(m.cAccR8)) > 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 crs8 READWRITE

   = AnalizAcc("crs8")
   = InsertToTable("", 8)
 EndIf

 * Убираем строки с незаполненными суммами
 Delete For Col4 = 0 And Col5 = 0 And Col6 = 0 And Col7 = 0 And Col8 = 0 In crsStrokSpec


 *** Расчеты для листа "Источники финансирования дефицита бюджетов"
 ** 520 - 620 (источники внутреннего/внешнего финансирования бюджетов)
 Create CURSOR crsStrokSpecDef (NameS C(48), RN_KLS C(4), Kls_Type N(1), Col4 N(18,2), Col5 N(18,2), Col6 N(18,2), Col7 N(18,2))
 Index On NameS + RN_KLS Tag T1

 cFieldAc1 = m.cFieldAc + ", 0 As Kls_Type"
 cFieldDb1 = m.cFieldDb + ", 0 As Kls_Type"
 cFieldKr1 = m.cFieldKr + ", 0 As Kls_Type"

 && Колонка 4 (Утвержденные бюджетные назначения)
 If !m.lOnlyGRBS
   = GetCrsAccRN("5041")

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

   = AnalizAcc("crs4Def", .T., .T.)
   = InsertToTable("Def", 4)

   = GetCrsAccRN("50311,50315")

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

   = AnalizAcc("crs4Def", .T., .T.)
   = InsertToTable("Def", 4)
     
   = GetCrsAccRN("50314")

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

   = AnalizAcc("crs4Def", .T., .T.)
   = InsertToTable("Def", 4)
 EndIf

 If m.lOnlyPBS
   = GetCrsAccRN("50312")

   Select &cFieldAc1, -S.Sum_Equal As Sum ;
     From crAcAnRest S ;
       Inner Join crsAccRN A ON S.RN_ACCOUNT = A.RN ;
   UNION ALL ;
   Select &cFieldKr1, S.Sum_Equal As Sum ;
     From crEopSpecK S ;
       Inner Join crsAccRN A ON S.RN_KR = A.RN ;
   UNION ALL ;
   Select &cFieldDb1, -S.Sum_Equal As Sum ;
     From crEopSpecD S ;
       Inner Join crsAccRN A ON S.RN_DB = A.RN ;
     Into CURSOR crs4Def READWRITE

   = AnalizAcc("crs4Def", .T., .T.)
   = InsertToTable("Def", 4)
 EndIf

 && Колонка 5 (через финансовые органы)
 If !m.lMonth And !m.lOnlyGRBS
   = GetCrsAccRN("21002,30405")

   Select &cFieldDb1, 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" ;
   UNION ALL ;
   Select &cFieldKr1, -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" ;
     Into CURSOR crs5Def READWRITE

   = AnalizAcc("crs5Def", .T., .T.)
   = InsertToTable("Def", 5)
 EndIf

 && Колонка 6 (через банковские счета)
 If !m.lOnlyGRBS And !(Empty(m.cWhereAccD6) And Empty(m.cWhereAccR7))
   If !Empty(m.cWhereAccD6)
     cWhereAcc = m.cWhereAccD6 + Iif(m.cAccD6 = "|" And Len(AllTrim(m.cAccD6)) > 1, " And " + m.cUsl18, "")
   EndIf
   If !Empty(m.cWhereAccR7)
     cWhereAcc = m.cWhereAcc + Iif(Empty(m.cWhereAcc), "", " OR ") + m.cWhereAccR7 + Iif(m.cAccR7 = "|" And Len(AllTrim(m.cAccR7)) > 1, " And " + m.cUsl18, "")
   EndIf
   If !Empty(m.cWhereAccD6) And !Empty(m.cWhereAccR7)
     cWhereAcc = "(" + m.cWhereAcc + ")"
   EndIf
   = GetCrsAccRN(, m.cWhereAcc)

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

   = AnalizAcc("crs6Def", .T., .T.)
   = InsertToTable("Def", 6)
 EndIf

 && Колонка 7 (некассовые операции)
 If !m.lOnlyGRBS And !(Empty(m.cWhereAccD7) And Empty(m.cWhereAccR8))
   If !Empty(m.cWhereAccD7)
     cWhereAcc = m.cWhereAccD7 + Iif(m.cAccD7 = "|" And Len(AllTrim(m.cAccD7)) > 1, " And " + m.cUsl18, "")
   EndIf
   If !Empty(m.cWhereAccR8)
     cWhereAcc = m.cWhereAcc + Iif(Empty(m.cWhereAcc), "", " OR ") + m.cWhereAccR8 + Iif(m.cAccR8 = "|" And Len(AllTrim(m.cAccR8)) > 1, " And " + m.cUsl18, "")
   EndIf
   If !Empty(m.cWhereAccD7) And !Empty(m.cWhereAccR8)
     cWhereAcc = "(" + m.cWhereAcc + ")"
   EndIf
   = GetCrsAccRN(, m.cWhereAcc)

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

   = AnalizAcc("crs7Def", .T., .T.)
   = InsertToTable("Def", 7)
 EndIf

 * Убираем строки с незаполненными суммами
 Delete For Col4 = 0 And Col5 = 0 And Col6 = 0 And Col7 = 0 In crsStrokSpecDef

 For m.i = 2 To 1 Step -1
   s = Iif(m.i = 1, "", "620")

   * разделяем данные по источникам
   Select * ;
     From crsStrokSpecDef ;
     Where Kls_Type = ?m.i ;
     Order By 1 ;
     Into CURSOR crsStrokSpecDef&s
 Next
 

 ** 710 - 720 (увеличение/уменьшение остатков средств)
 Create CURSOR crsStrokSpec710 (NameS C(48), RN_KLS C(4), IsDohod N(1), Col6 N(18,2), Col7 N(18,2))
 Index On NameS + Str(IsDohod, 1) + RN_KLS Tag T1
 Create CURSOR crsStrokSpec720 (NameS C(48), RN_KLS C(4), IsDohod N(1), Col6 N(18,2), Col7 N(18,2))
 Index On NameS + Str(IsDohod, 1) + RN_KLS Tag T1

 cFieldDb1 = m.cFieldDb + ", 0 As IsDohod"
 cFieldKr1 = m.cFieldKr + ", 0 As IsDohod"

 If !m.lOnlyGRBS
   && Колонка 6 (через банковские счета)
   = GetCrsAccRN("20121,20122,20123,20127")

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

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

   = AnalizAcc("crs6710", .T.,, 1)
   = InsertToTable("710", 6)
   = AnalizAcc("crs6720", .T.,, 2)
   = InsertToTable("720", 6)

   && Колонка 7 (некассовые операции)
   = GetCrsAccRN("30404")

   Select &cFieldKr1, -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, 5) = "30123" ;
     Into CURSOR crs7710 READWRITE

   Select &cFieldDb1, 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, 5) = "30123" ;
     Into CURSOR crs7720 READWRITE

   = AnalizAcc("crs7710", .T.,, 1)
   = InsertToTable("710", 7)
   = AnalizAcc("crs7720", .T.,, 2)
   = InsertToTable("720", 7)

   * Убираем строки с незаполненными суммами
   Delete For Col6 = 0 And Col7 = 0 In crsStrokSpec710
   Delete For Col6 = 0 And Col7 = 0 In crsStrokSpec720
 EndIf
   
 Use In CurDicForm
 
 
 ** 800 (Изменение остатков по расчетам)
 If !m.lOnlyGRBS
   ** 811
   = GetCrsAccRN("21002")
   s = Str(m.nAnLevel, 1)

   Select Nvl(An.SAccount, Space(15)) As KOSGU, 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 ;
       Left  Join AccSpec  An ON S.RN_KR_A&s = An.RN ;
     Where SubStr(C.Account, 19, 4) # "4013" ;
   UNION ALL ;
   Select Nvl(An.SAccount, Space(15)) As KOSGU, -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 ;
       Left  Join AccSpec  An ON S.RN_DB_A&s = An.RN ;
     Where SubStr(C.Account, 19, 4) # "4013" ;
     Into CURSOR crs811

   If !m.lMonth
     SUM Sum For !Like("61*", AllTrim(KOSGU)) To n811_5Deficit   && Колонка 5
   EndIf
   SUM Sum For Like("61*", AllTrim(KOSGU)) To n811_6Deficit   && Колонка 6

   CurClose("crs811,crsAccRN")

   ** 812
   = GetCrsAccRN("30405")

   Select C.Account, 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 ;
   UNION ALL ;
   Select C.Account, -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 ;
     Into CURSOR crs812

   If !m.lMonth
     SUM Sum For !(SubStr(Account, 19, 4) = "4013" Or SubStr(Account, 19, 5) = "30404") To n812_5Deficit   && Колонка 5
   EndIf
   SUM Sum For SubStr(Account, 19, 5) = "30404" To n812_6Deficit   && Колонка 6

   CurClose("crs812,crsAccRN")

   ** 821
   = GetCrsAccRN("30404")

   Select C.Account, 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 ;
     Into CURSOR crs821

   SUM Sum For InList(SubStr(Account, 19, 5), "30405", "20121", "20122", "20123", "20127") To n821_6Deficit   && Колонка 6
   SUM Sum For SubStr(Account, 19, 5) = "30123" To n821_7Deficit   && Колонка 7

   ** 822
   Select C.Account, -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 ;
     Into CURSOR crs822

   SUM Sum For InList(SubStr(Account, 19, 5), "30405", "20121", "20122", "20123", "20127") To n822_6Deficit   && Колонка 6
   SUM Sum For SubStr(Account, 19, 5) = "30123" To n822_7Deficit   && Колонка 7

   CurClose("crs821,crs822,crsAccRN")
 EndIf

 CurClose("crAcAnRest,crEopSpecD,crEopSpecK")


******************************************************************************
 Procedure AnalizAcc
  LParameters cAlias, lDohod, lDef, n700, lVidR    && Алиас, Доход/Расход, Доход/Источник

  Local cNameS, cKslRN, cField, cAnRN, cTFinRN, cKTp, nKlsTp, nIsDhd
  lDef = Iif(Type("m.lDef") # "L", .F., m.lDef)
  n700 = Iif(Type("m.n700") # "N", 0, m.n700)
  cKTp = Iif(m.lDef, "=", "#")

  Select (m.cAlias)
  Scan
     nIsDhd = 1
     = Seek(&cAlias..RN_Acc, "AccBase", "RN")

     If m.lDohod   &&КД
       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) Or !Seek(m.cTFinRN, "BKlsDoh", "RN") Or m.n700 = 0 And BKlsDoh.KLS_TYPE &cKTp 0
         If m.n700 # 0
           nIsDhd = 0
         Else
           Delete In (m.cAlias)
           Loop
         EndIf
       Else
         cNameS = AllTrim(BKlsDoh.Code)
         If m.n700 # 0 And !Empty(BKlsDoh.EconCl_RN) And Seek(BKlsDoh.EconCl_RN, "PRF_ECLS", "RN") And Len(m.cNameS) >= Len(AllTrim(PRF_ECLS.Mnemo))
           cNameS = Left(m.cNameS, Len(m.cNameS) - Len(AllTrim(PRF_ECLS.Mnemo))) + Iif(m.n700 = 1, "510", "610")
         EndIf
         cNameS = PadR(m.cNameS, 33)
         cKslRN = BKlsDoh.RN
         nKlsTp = BKlsDoh.KLS_TYPE
       EndIf
     EndIf

     If !m.lDohod Or m.n700 # 0 And m.nIsDhd = 0   && ШФ
       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) Or !Seek(m.cTFinRN, "CurDicForm", "RN") Or m.lVidR And m.nChk31_33 = 1 And !InList(Left(AllTrim(CurDicForm.VidR), 2), "31", "33")
         Delete In (m.cAlias)
         Loop
       Else
         cNameS = CurDicForm.Code
         cKslRN = CurDicForm.RN
       EndIf
     EndIf

     && код распорядителя, если выбрано только одно БУ
     If !Empty(m.glBK1)
       cNameS = m.glBK1 + SubStr(m.cNameS, 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")
           cNameS = m.cNameS + fEconCl.Code
         Else
           cNameS = m.cNameS + AccSpec.SAccount
         EndIf
       EndIf

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

     Replace NameS  With m.cNameS, ;
             RN_KLS With m.cKslRN In (m.cAlias)

     If m.lDef
       Replace KLS_TYPE With m.nKlsTp In (m.cAlias)
     EndIf

     If m.n700 # 0
       Replace IsDohod With m.nIsDhd In (m.cAlias)
     EndIf
  EndScan

 EndProc


******************************************************************************
 Procedure InsertToTable
  LParameters cPart, nCol

  Local cAliasFr, cAliasTo, s, cNameS, cKslRN
  s = Str(m.nCol, 1)
  cAliasTo = "crsStrokSpec" + m.cPart
  cAliasFr = "crs" + m.s  + m.cPart

  Select (m.cAliasFr)
  Scan
    cNameS = Evaluate(m.cAliasFr + ".NameS")
    cKslRN = Evaluate(m.cAliasFr + ".RN_KLS")
    If InList(m.cPart, "710", "720")
      cNameS = m.cNameS + Str(Evaluate(m.cAliasFr + ".IsDohod"), 1)
    EndIf
    Select (m.cAliasTo)
    If !Seek(m.cNameS + m.cKslRN)
      Insert Into (m.cAliasTo) (NameS, RN_KLS) VALUES (m.cNameS, m.cKslRN)
      Do Case
        Case m.cPart = "Def"
          Replace Kls_Type With Evaluate(m.cAliasFr + ".Kls_Type")
        Case InList(m.cPart, "710", "720")
          Replace IsDohod With Evaluate(m.cAliasFr + ".IsDohod")
      EndCase
    EndIf
    Replace Col&s With Col&s + Evaluate(m.cAliasFr + ".Sum")
  EndScan

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

 EndProc


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

  Local cWhere, nPos, cSubs1

  If Empty(m.cWhereAcc)
    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 ") + "SubStr(AccBase.Account, 19, " + Str(Len(m.cSubs1), 1) + ") = '" + m.cSubs1 + "'"
    EndDO
    If " OR " $ m.cWhere
      cWhere = "(" + m.cWhere + ")"
    EndIf
    cWhere = m.cWhere + " AND " + m.cUsl18
  Else
    cWhere = 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>
        <!--Печать в MS Excel-->
        <FPC_><![CDATA[*[VFP]
Private oPrint, lItogZagDoh, lItogZagDef
Store .F. To lItogZagDoh, lItogZagDef
oPrint = objCaller.objExcelRep
lNoError = RepG151.GetComRepPrm151("0503127", m.lNoError)
Local i

If m.lNoError
  Select crsStrokSpecDef620
  i = 1
  Scan
    * Печать строки
    If m.i > 1
      oPrint.InsertRange()
    EndIf
    oPrint.PrintRange("SpecDef620")
    i = m.i + 1
  EndScan   

  Select crsStrokSpec710
  i = 1
  Scan
    * Печать строки
    If m.i > 1
      oPrint.InsertRange()
    EndIf
    oPrint.PrintRange("SpecDef710")
    i = m.i + 1
  EndScan

  Select crsStrokSpec720
  i = 1
  Scan
    * Печать строки
    If m.i > 1
      oPrint.InsertRange()
    EndIf
    oPrint.PrintRange("SpecDef720")
    i = m.i + 1
  EndScan
EndIf

&& Формирую имя файла            
If !Empty(m.cUnlPath)
  Local Array aFiles(1)
  Local nNum, cNum, nN
  cFileName = "227"
  Do Case
    Case !Empty(m.dReoDate)
      cFileName = m.cFileName + "R"
    Case Month(m.dDateEnd + 1) = 1 &&год
      cFileName = m.cFileName + "Y"
    Case InList(Month(m.dDateEnd + 1), 4, 7, 10) &&квартал
      cFileName = m.cFileName + "Q"
    Other &&месяц
      cFileName = m.cFileName + "M"
  EndCase
  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), 5, m.nN - 5)
      If m.nNum < Val(m.cNum)
        nNum = Val(m.cNum)
      EndIf 
      If m.nNum = 99
        nNum = 0
      EndIf
    EndFor
  EndIf
  cFileName = m.cUnlPath + m.cFileName + PadL(Int(m.nNum) + 1, 2, "0") + ".txt"
EndIf

If m.lNoError
  oPrint.PrintRange("Footer")
EndIf

CurClose("crsStrokSpecDohod,crsStrokSpec,crsStrokSpecDef,crsStrokSpecDef620,crsStrokSpec710,crsStrokSpec720")

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

oPrint = NULL

]]></FPC_></MSE>
      <FPC_><![CDATA[*[VFP]
RepG151.GetOutS(.T.)
]]></FPC_>
    </печать>
  </отчет>
  <форма>
    <ид>f_0503127_191n_13n_2020</ид>
    <тип>XML</тип>
    <описание>
      <дополнительно>
        <desc_version>1.0</desc_version>
      </дополнительно>
      <VFP_свойство имя="Name">f_0503127_2010</VFP_свойство>
      <VFP_свойство имя="Caption">Форма 0503127-191н_ред13н_2020</VFP_свойство>
      <VFP_свойство имя="Height">440</VFP_свойство>
      <VFP_свойство имя="Width">465</VFP_свойство>
      <VFP_метод имя="Valid"><![CDATA[LParam oThis, oThisForm
Local oPage1, oPage2, oPage3, c18, cSymb, i
oPage1 = oThisForm.TPageMain.Page1
oPage2 = oThisForm.TPageMain.Page2
oPage3 = oThisForm.TPageMain.Page3

dSelDate = oPage1.cntSelDate.restDate.Value

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

If Empty(m.c18)
  ExclMes("Для счетов не указан код вида деятельности!")
  oThisForm.TPageMain.ActivePage = 1
  oPage1.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 + "))"

cAccD6      = oPage2.DicAccountD6.GetSaveValue()
cAccD7      = oPage2.DicAccountD7.GetSaveValue()
cWhereAccD6 = oPage2.DicAccountD6.GetCond()
cWhereAccD7 = oPage2.DicAccountD7.GetCond()
cAccR7      = oPage2.DicAccountR7.GetSaveValue()
cAccR8      = oPage2.DicAccountR8.GetSaveValue()
cWhereAccR7 = oPage2.DicAccountR7.GetCond()
cWhereAccR8 = oPage2.DicAccountR8.GetCond()

cOrg      = oPage1.OrgFrom.GetSaveValue()
cBalUnits = oPage1.BalUnits.GetSaveValue()

cWhereKontragent = oPage1.OrgFrom.GetCond()

cWhereBalUnits = oPage1.BalUnits.GetCond()
If !Empty(m.cWhereBalUnits)
  cWhereBalUnits = "And " + m.cWhereBalUnits
EndIf

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

cDicIsp  = oPage3.DicIsp.GetSaveValue()
]]></VFP_метод>
      <VFP_метод имя="PostInit"><![CDATA[LParam oThis, oThisForm
 Local oPage1, oPage2, oPage3
 oPage1 = oThisForm.TPageMain.Page1
 oPage2 = oThisForm.TPageMain.Page2
 oPage3 = oThisForm.TPageMain.Page3

 oPage2.DicAccountD6.setsavevalue(m.cAccD6)
 oPage2.DicAccountD7.setsavevalue(m.cAccD7)
 oPage2.DicAccountR7.setsavevalue(m.cAccR7)
 oPage2.DicAccountR8.setsavevalue(m.cAccR8)

 oPage1.cntSelDate.InitThis(m.dSelDate)
 oPage1.cntReoDate.Text.ValueChanged()
 oPage1.OrgFrom.setsavevalue(m.cOrg)
 oPage1.txtNameBudzh.setsavevalue(m.cNameBudzh)
 oPage1.BalUnits.SetSaveValue(m.cBalUnits)
 oPage1.ChkCommon.ValueChanged()
 oPage1.ChkKOSGU.ValueChanged()
 oPage3.Catalog.Text.value = m.cUnlPath
 oPage3.DicIsp.setsavevalue(m.cDicIsp)
 oPage3.fldIspName.Value = m.cIspName
]]></VFP_метод>
      <элемент>
        <VFP_имя>Tbtndialog1</VFP_имя>
        <VFP_свойство имя="Left">190</VFP_свойство>
        <VFP_свойство имя="Top">403</VFP_свойство>
      </элемент>
        <элемент>
          <VFP_класс>TPageFrame</VFP_класс>
          <VFP_свойство имя="Name">TPageMain</VFP_свойство>
          <VFP_свойство имя="Height">400</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">355</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">cntSelDate</VFP_свойство>
              <VFP_свойство имя="ControlSource">dSelDate</VFP_свойство>
              <VFP_свойство имя="Left">170</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <элемент>
                <VFP_имя>SelYear</VFP_имя>
                <VFP_свойство имя="Left">185</VFP_свойство>
              </элемент>
              <элемент>
                <VFP_имя>lbllYear</VFP_имя>
                <VFP_свойство имя="Left">255</VFP_свойство>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Дата реорганизации:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">55</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TdicDate</VFP_класс>
              <VFP_свойство имя="Name">cntReoDate</VFP_свойство>
              <VFP_свойство имя="Left">350</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
              <элемент>
                <VFP_имя>Text</VFP_имя>
                <VFP_свойство имя="ControlSource">dReoDate</VFP_свойство>
                <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
Local oObj
oObj = oThisForm.TPageMain.Page1.cntSelDate
If Empty(oThis.Value)
  oObj.SelMonth.ReceiveMessage(oThisForm, "ReInit")
  oObj.SelYear.ReceiveMessage(oThisForm, "ReInit")
Else
  oObj.ReceiveMessage(oThisForm, "ViewMode")
EndIf
]]></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_AGENTS127_13N_2020</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">aLevel</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_AGENTSMUB127_13N_2020</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_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
oThis.Parent.ChkMonth.Enabled = oThis.Parent.ChkCommon.Value = 1 Or !Inlist(oThis.Value, "РБС", "ГРБС")
oThis.Parent.ChkMonth.ValueChanged()
]]></VFP_метод>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">320</VFP_свойство>
              <VFP_свойство имя="Top">205</VFP_свойство>
              <VFP_свойство имя="ControlSource">nCommon</VFP_свойство>
              <VFP_свойство имя="Name">ChkCommon</VFP_свойство>
              <VFP_свойство имя="Caption">Общий</VFP_свойство>
              <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
oThis.Parent.ChkMonth.Enabled = oThis.Value = 1 Or !Inlist(oThis.Parent.Cmb_KSO.Value, "РБС", "ГРБС")
oThis.Parent.ChkMonth.ValueChanged()
]]></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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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_свойство имя="CondField" тип="C">substr(accbase.account, 18, 1)</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
oThis.Parent.ChkAdAn3.Enabled = oThis.Value = 1
]]></VFP_метод>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">280</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChkAdAn3</VFP_свойство>
              <VFP_свойство имя="Name">ChkAdAn3</VFP_свойство>
              <VFP_свойство имя="Caption">Сворачивать КОСГУ до 3-х символов</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">300</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChkMonth</VFP_свойство>
              <VFP_свойство имя="Name">ChkMonth</VFP_свойство>
              <VFP_свойство имя="Caption">Формировать в составе показателей месячного отчета</VFP_свойство>
              <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
oThis.Parent.Chk31_33.Enabled = !oThis.Enabled Or oThis.Value = 0
]]></VFP_метод>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">320</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChk31_33</VFP_свойство>
              <VFP_свойство имя="Name">Chk31_33</VFP_свойство>
              <VFP_свойство имя="Caption">Отражать БА в графе 4 раздела 2 только по КВР 31Х и 33Х</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">340</VFP_свойство>
              <VFP_свойство имя="ControlSource">nChkKVR</VFP_свойство>
              <VFP_свойство имя="Name">ChkKVR</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">75</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_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">23</VFP_свойство>
              <VFP_свойство имя="Caption">Колонка 6: (через банковские</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">23</VFP_свойство>
              <VFP_свойство имя="Top">36</VFP_свойство>
              <VFP_свойство имя="Caption">счета):</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>S_Account</VFP_класс>
              <VFP_свойство имя="Left">200</VFP_свойство>
              <VFP_свойство имя="width">245</VFP_свойство>
              <VFP_свойство имя="Name">DicAccountD6</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_EO_ACCD6_127_13N_2020</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_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">53</VFP_свойство>
              <VFP_свойство имя="Caption">Некассовые операции</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">23</VFP_свойство>
              <VFP_свойство имя="Top">66</VFP_свойство>
              <VFP_свойство имя="Caption">для колонки 7:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>S_Account</VFP_класс>
              <VFP_свойство имя="Left">200</VFP_свойство>
              <VFP_свойство имя="width">245</VFP_свойство>
              <VFP_свойство имя="Name">DicAccountD7</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_EO_ACCD7_127_13N_2020</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_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">75</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">95</VFP_свойство>
              <VFP_свойство имя="Width">445</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">90</VFP_свойство>
              <VFP_свойство имя="Caption">Расходы</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">108</VFP_свойство>
              <VFP_свойство имя="Caption">Колонка 7 (через банковские</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">23</VFP_свойство>
              <VFP_свойство имя="Top">121</VFP_свойство>
              <VFP_свойство имя="Caption">счета):</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>S_Account</VFP_класс>
              <VFP_свойство имя="Left">200</VFP_свойство>
              <VFP_свойство имя="width">245</VFP_свойство>
              <VFP_свойство имя="Name">DicAccountR7</VFP_свойство>
              <VFP_свойство имя="Top">105</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_EO_ACCR7_127_13N_2020</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_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">138</VFP_свойство>
              <VFP_свойство имя="Caption">Некассовые операции</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">23</VFP_свойство>
              <VFP_свойство имя="Top">151</VFP_свойство>
              <VFP_свойство имя="Caption">для колонки 8:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>S_Account</VFP_класс>
              <VFP_свойство имя="Left">200</VFP_свойство>
              <VFP_свойство имя="width">245</VFP_свойство>
              <VFP_свойство имя="Name">DicAccountR8</VFP_свойство>
              <VFP_свойство имя="Top">135</VFP_свойство>
              <VFP_свойство имя="HistoryName" тип="C">H_EO_ACCR8_127_13N_2020</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">195</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">195</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <VFP_свойство имя="Width">250</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">ИСТ:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">55</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">388</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
              <VFP_свойство имя="Width">57</VFP_свойство>
              <VFP_свойство имя="MaxLength">5</VFP_свойство>
              <VFP_свойство имя="ControlSource">cIST</VFP_свойство>
              <VFP_свойство имя="Name">IST</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">cPRP</VFP_свойство>
              <VFP_свойство имя="Name">PRP</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Исполнитель:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">115</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">110</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_Agents127_13N_2020</VFP_свойство>
              <VFP_свойство имя="filter">orgbase.type='2'</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</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">cIspName</VFP_свойство>
              <VFP_свойство имя="Name">fldIspName</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">cIspTel</VFP_свойство>
              <VFP_свойство имя="Name">fldIspTel</VFP_свойство>
            </элемент>
          </элемент>
        </элемент>
    </описание>
  </форма>
</Модуль>
