<?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">
  <интерфейс>
    <отчет>
      <наименование>Форма 0503178-191н_ред217н_2021</наименование>
      <код_раздела>Reports5n</код_раздела>
      <номер_код>ar_form0503178_2021</номер_код>
      <шаблон>
        <тип>MSE</тип>
        <мнемокод>ar_form0503178_217n_2021</мнемокод>
        <файл>Форма0503178_191н_ред217н_2021.xlt</файл>
      </шаблон>
      <!--Отчет формируется по хозяйственным операциям за период-->
    </отчет>
  </интерфейс>
  <отчет>
    <реализует>ar_form0503178_2021</реализует>
      <дополнительно>
      <запомнить_переменные>
        <список_переменных>dSelDate;dSelDatePo;cBudgetName;cBOrg;cBalUnits;cTxt18B1;cTxt18B2;cTxt18B3;cTxt18B4;cTxt18B5;cTxt18B6;cTxt18B7;cTxt18B8;cTxt18B9;cTxt18B10;nAnLevel;cLSch;cAccBudg;cUnlPath;cIST;cDicIsp;cIspName;cIspTel</список_переменных>
        <мемофайл>ar_form0503178_191n_217n_2021;ar_form0503178_191n_131n_2019</мемофайл>
      </запомнить_переменные>
      </дополнительно>
    <переменные>
      <переменная>
        <имя>dSelDate</имя>
        <начальное_значение>oSystem.Date</начальное_значение>
        <!--Дата формирования-->
      </переменная>
      <переменная>
        <имя>dSelDatePo</имя>
        <начальное_значение>oSystem.Date</начальное_значение>
        <!--Дата формирования-->
      </переменная>
      <переменная>
        <имя>dBeginDate</имя>
        <начальное_значение>{}</начальное_значение>
        <!--Отчетная Дата-->
      </переменная>
      <переменная>
        <имя>cBudgetName</имя>
        <начальное_значение>&quot;&quot;</начальное_значение>
        <!--Наименование бюджета-->
      </переменная>
      <переменная>
        <имя>cBOrg</имя>
        <начальное_значение>&quot;&quot;</начальное_значение>
        <!--Бюджетное учреждение-->
      </переменная>
      <переменная>
        <имя>cWhereKontragent</имя>
        <начальное_значение>&quot;&quot;</начальное_значение>
        <!--Бюджетное учреждение-->
      </переменная>
      <переменная>
        <имя>cBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Бал. единицы-->
      </переменная>
      <переменная>
        <имя>cTxt18B1</имя>
        <начальное_значение>"1"</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B2</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B3</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B4</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B5</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B6</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B7</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B8</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B9</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>cTxt18B10</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>nAnLevel</имя>
        <начальное_значение>0</начальное_значение>
        <!--Уровень аналитики для определения номера банковского (лицевого) счета-->
      </переменная>
      <переменная>
        <имя>cWhereRB</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cAccBudg</имя>
        <начальное_значение>""</начальное_значение>
        <!--Номер банковского счета-->
      </переменная>
      <переменная>
        <имя>cLSch</имя>
        <начальное_значение>""</начальное_значение>
        <!--Номер лицевого счета-->
      </переменная>
      <переменная>
        <имя>cUnlPath</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileName</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>cIST</имя>
        <начальное_значение>""</начальное_значение>
        <!--ИСТ-->
      </переменная>
      <переменная>
        <имя>cDicIsp</имя>
        <начальное_значение>""</начальное_значение>
        <!--Исполнитель-->
      </переменная>
      <переменная>
        <имя>cIspName</имя>
        <начальное_значение>""</начальное_значение>
        <!--ФИО исполнителя-->
      </переменная>
      <переменная>
        <имя>cIspTel</имя>
        <начальное_значение>""</начальное_значение>
        <!--Телефон исполнителя-->
      </переменная>
      <переменная>
        <имя>RepG151</имя>
        <начальное_значение>CreateObject("form0503buxrepd")</начальное_значение>
      </переменная>
      <переменная>
        <имя>dReportDate</имя>
        <начальное_значение>Date(2021,12,31)</начальное_значение>
      </переменная>
      <переменная>
        <имя>lNoError</имя>
        <начальное_значение>.T.</начальное_значение>
      </переменная>
    </переменные>
    <запуск_формы>
      <ид>f_0503178_191n_217n_2021</ид>
    </запуск_формы>
    <вычисление>
      <сообщение>Ждите, идет выборка данных ...</сообщение>
      <FPC_><![CDATA[*[VFP]
   ]]></FPC_>  
    </вычисление>
    <печать>
      <!--Печать отчета--><MSE>
      <!--Печать в MS Excel-->
      <FPC_><![CDATA[*[VFP]
*ON ERROR
Private dBeginYear, cJoinAn_0, cOrgPO
Local ARRAY aAccRRN[1], aAccTRN[1], aAccRRN2[1], aAccTRN2[1]

dBeginDate  = DOX(m.dSelDatePo, 4) + 1
dBeginYear  = DOX(m.dSelDate, 3)

=CurOpen("AccSpec")

* Отбор остатков по контрагенту 
Store "" To cJoinAn_0, cOrgPO
If !Empty(cWhereKontragent)
  Select AccSpec.RN ;
         From AccSpec ;
           Inner Join OrgBase On AccSpec.RN_TOrg = OrgBase.RN ;
         Where &cWhereKontragent ;
         Into Cursor crsAccSpRN

  If _Tally = 0
    Store "And .F." To cOrgPO
  Else
    Index On RN Tag RN
    cJoinAn_0 = "Left Join crsAccSpRN A1 On S.RN_AC_A1 = A1.RN " ;
              + "Left Join crsAccSpRN A2 On S.RN_AC_A2 = A2.RN " ;
              + "Left Join crsAccSpRN A3 On S.RN_AC_A3 = A3.RN " ;
              + "Left Join crsAccSpRN A4 On S.RN_AC_A4 = A4.RN " ;
              + "Left Join crsAccSpRN A5 On S.RN_AC_A5 = A5.RN "
    cOrgPO    = "And (!IsNull(A1.RN) Or !IsNull(A2.RN) Or !IsNull(A3.RN) Or !IsNull(A4.RN) Or !IsNull(A5.RN))"
  EndIf
EndIf

* 1. Счета в кредитных организациях
Select AccBase.RN ;
  From AccBase ;
    Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
  Where &cWhereRB And InList(SubStr(AccBase.Account, 19, 5), '20121', '20122', '20126', '20127') ;
  Into ARRAY aAccRRN
  
Select AccBase.RN ;
  From AccBase ;
    Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
  Where &cWhereRB And SubStr(AccBase.Account, 19, 5) = '20123' ;
  Into ARRAY aAccTRN

* создаем результирующий курсор
CREATE CURSOR currSum (ACC C(20), CODE C(9), RestY N(16, 2), TransY N(16, 2), RestM N(16, 2),TransM N(16, 2))
Index on ACC + CODE Tag T1

* расчет остатков
MakeRest(@aAccRRN, "1", 1)
MakeRest(@aAccTRN, "3", 1)
MakeRest(@aAccRRN, "2", 1)
MakeRest(@aAccTRN, "4", 1)

SELECT * From currSum ;
  WHERE RestY # 0 OR TransY # 0 OR RestM # 0 OR TransM # 0 ;
  ORDER BY CODE, ACC ;
  INTO CURSOR crsResult1

* 2. Счета в финансовом органе
Select AccBase.RN ;
  From AccBase ;
    Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
  Where &cWhereRB And SubStr(AccBase.Account, 19, 5) = '20111' ;
  Into ARRAY aAccRRN2

Select AccBase.RN ;
  From AccBase ;
    Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
  Where &cWhereRB And SubStr(AccBase.Account, 19, 5) = '20113' ;
  Into ARRAY aAccTRN2

* создаем результирующий курсор2
CREATE CURSOR currSum (ACC C(20), CODE C(9), RestY N(16, 2), TransY N(16, 2), RestM N(16, 2),TransM N(16, 2))
Index on ACC + CODE Tag T1

* расчет остатков
MakeRest(@aAccRRN2, "1", 2)
MakeRest(@aAccTRN2, "3", 2)
MakeRest(@aAccRRN2, "2", 2)
MakeRest(@aAccTRN2, "4", 2)

SELECT * From currSum ;
  WHERE RestY # 0 OR TransY # 0 OR RestM # 0 OR TransM # 0 ;
  ORDER BY CODE, ACC ;
  INTO CURSOR crsResult2

* 3. Средства в кассе учреждения
Select AccBase.RN, SubStr(AccBase.Account, 18, 6) As CODE ;
  From AccBase ;
    Left Join BalUnit On AccBase.RN_BalUnit = BalUnit.RN ;
  Where &cWhereRB And SubStr(AccBase.Account, 19, 5) = '20134' ;
  Into CURSOR curAccTRN

Index On RN Tag RN

* создаем результирующий курсор2
CREATE CURSOR currSum (CODE C(6), RestY N(16, 2), RestM N(16, 2))
Index On CODE Tag T1

* расчет остатков
MakeRest3("1")
MakeRest3("2")

SELECT * From currSum ;
  WHERE RestY # 0 Or RestM # 0 ;
  ORDER BY CODE ;
  INTO CURSOR crsResult3

CurClose("curAccTRN,crsAccSpRN,currSum")
&& Конец вычислений

&& Формирую имя файла
If !Empty(m.cUnlPath)
  Local ARRAY aFiles[1]
  Local nNum, cNum, nN, i, c18B, nLen
  c18B = m.cTxt18B1 + m.cTxt18B2 + m.cTxt18B3 + m.cTxt18B4 + m.cTxt18B5 + m.cTxt18B6 + m.cTxt18B7 + m.cTxt18B8 + m.cTxt18B9 + m.cTxt18B10
  cFileName = "278" + Iif("1" $ m.c18B, "B", Iif("3" $ m.c18B, "T", ""))
  Do Case
    Case Month(m.dBeginDate) = 1 &&год
      cFileName = m.cFileName + "Y"
    Case Inli(Month(m.dBeginDate), 4, 7, 10) &&квартал
      cFileName = m.cFileName + "Q"
    Other &&месяц
      cFileName = m.cFileName + "M"
  EndCase
  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

** Печать отчета
Local oPrint
oPrint = objCaller.objExcelRep
oPrint.PrintRange("Header")

Select crsResult1
Scan
  * Печать строки
  If recno() > 1
    oPrint.InsertRange()
  EndIf
  oPrint.PrintRange("Spec1")
EndScan

*****
Select crsResult2
Scan
  * Печать строки
  If recno() > 1
    oPrint.InsertRange()
  EndIf
  oPrint.PrintRange("Spec2")
EndScan

*****
Select crsResult3
Scan
  * Печать строки
  If recno() > 1
    oPrint.InsertRange()
  EndIf
  oPrint.PrintRange("Spec3")
EndScan

oPrint.PrintRange("Footer")

CurClose("crsResult,crsResult2,crsResult3")

* Удаление листа со сценарием выгрузки
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


***********
*********************************************************************************************************
* aAcc  - массив RN счетов                                                                              *
* cMode - режим (остатки на дату 1, остатки на начало года 2, в пути на дату 3, в пути на начало года 4)*
* отбираем по массивам остатки по ан.счетам (с учетом БУ, если задано) и сворачиваем по коду аналитики  *
* уровня КОСГУ
*********************************************************************************************************
Procedure MakeRest
  PARAMETERS aAcc, cMode, nPart

  Local cAcc, cCode, cSum, cAnRN, cBankAcc
  cSum = Iif(m.cMode = "1", "RestM", Iif(m.cMode = "2", "RestY", Iif(m.cMode = "3", "TransM", "TransY")))

  If nAnLevel = 0
    CurOpen("BankAcc")
    cBankAcc = Iif(m.nPart = 1, m.cAccBudg, m.cLSch)
    cAcc = Iif(!Empty(m.cBankAcc) And Seek(m.cBankAcc, "BankAcc", "RN"), BankAcc.ACCOUNT, "")
    cAcc = PadR(AllTrim(m.cAcc), 20, "0")
  EndIf

  lNoError = RepG151.GetComRepPrm151("0503178", m.lNoError, m.cMode) And GetCommonRepParams128n("ФОРМА0503178_128Н", m.lNoError, m.cMode)

  * теперь выберем подходящие по БУ и запишем их в currSum
  Select crsRestTmp
  SCAN
    If m.nAnLevel # 0
      cAnRN = Evaluate("crsRestTmp.RN_AC_A" + Str(m.nAnLevel, 1))
      cAcc  = Iif(!Empty(m.cAnRN) And Seek(m.cAnRN, "AccSpec", "RN"), Left(AccSpec.NAME_SACC, 20), "")
      cAcc  = PadR(AllTrim(m.cAcc), 20, "0")
    EndIf
    cCode = SubStr(crsRestTmp.Account, 18, 6) + "000"

    * если не найдем код, будем составлять наименование и добавлять новую строку в CurrSum
    IF !Seek(m.cAcc + m.cCode, "currSum", "T1")
      Insert Into currSum (Acc, Code) VALUES (m.cAcc, m.cCode)
    ENDIF

    Select currSum
    REPLACE &cSum WITH &cSum + crsRestTmp.SUMM_DB_EQUAL - crsRestTmp.SUMM_KR_EQUAL
  ENDSCAN
  Use In crsRestTmp

ENDPROC

*********************


*********************************************************************************************************
Procedure MakeRest3
  LPARAMETERS cMode

  Local cSum, dDate
  cSum = Iif(m.cMode = "1", "RestM", "RestY")
  dDate = Iif(m.cMode = "1", m.dBeginDate, m.dBeginYear)

  lNoError = RepG151.GetComRepPrm151("0503178", m.lNoError, m.cMode)

  * остатки на дату
  If Empty(m.cWhereKontragent)
    SELECT A.CODE, ;
           Sum(R.SUMM_DB_EQUAL - R.SUMM_KR_EQUAL) As SUM ;
      FROM ACREST R ;
        INNER JOIN curAccTRN A ON R.RN_ACCOUNT = A.RN ;
      WHERE R.DATE_REST = ?m.dDate And ?m.lNoError;
      GROUP BY 1 ;
      INTO CURSOR crsRestTmp
  Else
    SELECT A.CODE, ;
           Sum(S.SUMM_DB_EQUAL - S.SUMM_KR_EQUAL) As SUM ;
      FROM ACREST R ;
        INNER JOIN curAccTRN A ON R.RN_ACCOUNT = A.RN ;
        INNER JOIN ACANREST  S ON R.RN = S.MASTER_RN ;
        &cJoinAn_0 ;
      WHERE R.DATE_REST = ?m.dDate And ?m.lNoError &cOrgPO ;
      GROUP BY 1 ;
      INTO CURSOR crsRestTmp
  EndIf

  Select crsRestTmp
  SCAN
    IF !Seek(crsRestTmp.Code, "currSum", "T1")
      Insert Into currSum (Code) VALUES (crsRestTmp.Code)
    ENDIF
    Select currSum
    REPLACE &cSum WITH &cSum + crsRestTmp.SUM
  ENDSCAN
  Use In crsRestTmp

ENDPROC

*********************
]]></FPC_></MSE>
  <FPC_><![CDATA[*[VFP]
RepG151.GetOutS(.T.)
]]></FPC_>
    </печать>
  </отчет>
  <форма>
    <ид>f_0503178_191n_217n_2021</ид>
    <тип>XML</тип>
    <описание>
      <дополнительно>
        <desc_version>1.0</desc_version>
      </дополнительно>
      <VFP_свойство имя="Name">f_0503178_128н</VFP_свойство>
      <VFP_свойство имя="Caption">Форма 0503178-191н_ред217н_2021</VFP_свойство>
      <VFP_свойство имя="Height">375</VFP_свойство>
      <VFP_свойство имя="Width">480</VFP_свойство>
      <VFP_метод имя="Valid"><![CDATA[LParam oThis, oThisForm
Local oPg1, oPg2, c18B, i, cWhereBalUnits, cUsl18B
oPg1 = oThisForm.PF.Page1
oPg2 = oThisForm.PF.Page2

dSelDate   = oPg1.cntSelDate.restDate.Value
dSelDatePo = oPg1.cntSelDatePo.restDate.Value

if m.dSelDate > m.dSelDatePo
  =exclmes("Неправильно задан диапазон дат!")
  oThisForm.PF.ActivePage = 1
  oPg1.cntSelDate.SetFocus()
  return .F.
endif

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

if empty(m.c18B)
  =exclmes("Не указан 18-й символ для счетов!")
  oThisForm.PF.ActivePage = 1
  oPg1.Txt18B1.SetFocus()
  return .F.
endif

cUnlPath = oPg2.Catalog.Text.Value

If !Empty(m.cUnlPath) And !Directory(m.cUnlPath)
  = ExclMes("Каталог " + AllTrim(m.cUnlPath) + Chr(13) + "не существует!")
  oThisForm.PF.ActivePage = 2
  oPg2.Catalog.SetFocus()
  return .F.
EndIf

Store "" To cUsl18B
c18B = ChrTran(m.c18B, " ", "")
For m.i = 1 To Len(m.c18B)
  cUsl18B = cUsl18B + iif(!empty(cUsl18B), ",'", "'") + SubStr(m.c18B, m.i, 1) + "'"
Next
cUsl18B = "InList(SubStr(AccBase.Account, 18, 1), " + m.cUsl18B + ")"

***
cWhereBalUnits = oPg1.BalUnits.GetCond()
If !Empty(cWhereBalUnits)
  cWhereBalUnits = " And " + m.cWhereBalUnits
EndIf
cWhereRB = m.cUsl18B + m.cWhereBalUnits

cBOrg = oPg1.DicBOrg.GetSaveValue()
cWhereKontragent = oPg1.DicBOrg.GetCond()
cBalUnits = oPg1.BalUnits.GetSaveValue()
cDicIsp   = oPg2.DicIsp.GetSaveValue()
]]></VFP_метод>
      <VFP_метод имя="PostInit"><![CDATA[LParam oThis, oThisForm
Local oPg1, oPg2
oPg1 = oThisForm.PF.Page1
oPg2 = oThisForm.PF.Page2
oPg1.cntSelDate.InitThis(m.dSelDate)
oPg1.cntSelDatePo.InitThis(m.dSelDatePo)
oPg1.DicBOrg.SetSaveValue(m.cBOrg)
oPg1.DicBOrg.AddUpdate()
oPg1.BalUnits.SetSaveValue(m.cBalUnits)
oPg1.aLevel.ValueChanged()
oPg2.Catalog.Text.Value = m.cUnlPath
oPg2.DicIsp.SetSaveValue(m.cDicIsp)
oPg2.fldIspName.Value = m.cIspName
]]></VFP_метод>
      <элемент>
        <VFP_имя>Tbtndialog1</VFP_имя>
        <VFP_свойство имя="Left">205</VFP_свойство>
        <VFP_свойство имя="Top">338</VFP_свойство>
      </элемент>
      <элемент>
        <VFP_класс>TPageFrame</VFP_класс>
        <VFP_свойство имя="Name">PF</VFP_свойство>
        <VFP_свойство имя="Height">335</VFP_свойство>
        <VFP_свойство имя="Width">480</VFP_свойство>
        <VFP_свойство имя="PageCount">2</VFP_свойство>
        <элемент>
          <VFP_имя>Page1</VFP_имя>
          <VFP_свойство имя="Caption">Параметры формирования</VFP_свойство>
          <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
          <VFP_свойство имя="FontSize">8</VFP_свойство>
          <элемент>
            <VFP_класс>T3dShape</VFP_класс>
            <VFP_свойство имя="Height">205</VFP_свойство>
            <VFP_свойство имя="Left">10</VFP_свойство>
            <VFP_свойство имя="Top">10</VFP_свойство>
            <VFP_свойство имя="Width">460</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">70</VFP_свойство>
            <VFP_свойство имя="Top">20</VFP_свойство>
            <VFP_свойство имя="Width">415</VFP_свойство>
            <элемент>
              <VFP_имя>SelYear</VFP_имя>
              <VFP_свойство имя="Left">300</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_имя>LbllYear</VFP_имя>
              <VFP_свойство имя="Left">370</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">70</VFP_свойство>
            <VFP_свойство имя="Top">50</VFP_свойство>
            <VFP_свойство имя="Width">415</VFP_свойство>
            <элемент>
              <VFP_имя>SelYear</VFP_имя>
              <VFP_свойство имя="Left">300</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_имя>LbllYear</VFP_имя>
              <VFP_свойство имя="Left">370</VFP_свойство>
            </элемент>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">95</VFP_свойство>
            <VFP_свойство имя="Caption">Учреждение:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TDicHist</VFP_класс>
            <VFP_свойство имя="Name">dicBOrg</VFP_свойство>
            <VFP_свойство имя="Left">170</VFP_свойство>
            <VFP_свойство имя="Top">90</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
            <VFP_свойство имя="AreaName" тип="C">OrgBase</VFP_свойство>
            <VFP_свойство имя="DictName" тип="C">Agnt_bms</VFP_свойство>
            <VFP_свойство имя="RetField" тип="C">rmnemo_org</VFP_свойство>
            <VFP_свойство имя="HistoryName" тип="C">H_BOrg178_217N_2021</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_имя>Text</VFP_имя>
              <VFP_свойство имя="onChange" тип="C">This.Parent.AddUpdate()</VFP_свойство>
            </элемент>
            <VFP_метод имя="AddUpdate"><![CDATA[LParam oThis, oThisForm
Local cOrg, cOrgRN, oAccBudg
cOrg = oThis.GetSaveValue()
cOrgRN = Iif(m.cOrg # "|" And Len(m.cOrg) == 4, m.cOrg, oSystem.OwnerOrgRN)
oAccBudg = oThis.Parent.cmbAccBudg
If Empty(m.cOrgRN)
  oAccBudg.RowSource = ""
Else
  oAccBudg.RowSource = ;
   'Select ACCOUNT, ORBASE_RN + BANKACCRN ' + ;
     'From BankAcc '+ ;
     'Where ORBASE_RN = "' + m.cOrgRN + '" And BANK_RN Not In (Select ORGBASE_RN From fKaznach)' + ;
     'Order By 1 ' + ;
     'Into CURSOR ' + oAccBudg.Alias
EndIf
oAccBudg = oThis.Parent.cmbLSch
If Empty(m.cOrgRN)
  oAccBudg.RowSource = ""
Else
  oAccBudg.RowSource = ;
   'Select ACCOUNT, ORBASE_RN + BANKACCRN ' + ;
     'From BankAcc '+ ;
     'Where ORBASE_RN = "' + m.cOrgRN + '" And BANK_RN In (Select ORGBASE_RN From fKaznach)' + ;
     'Order By 1 ' + ;
     'Into CURSOR ' + oAccBudg.Alias
EndIf
]]></VFP_метод>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Балансовая единица:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">125</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>S_balunits</VFP_класс>
            <VFP_свойство имя="Name">Balunits</VFP_свойство>
            <VFP_свойство имя="Left">170</VFP_свойство>
            <VFP_свойство имя="Top">120</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
            <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
            <VFP_свойство имя="condfield" тип="C">balunit.mnemo</VFP_свойство>
            <VFP_свойство имя="condfieldrn" тип="C">balunit.rn</VFP_свойство>
            <VFP_свойство имя="HistoryName" тип="C">H_BALUNIT178_217N_2021</VFP_свойство>
            <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
            <элемент>
              <VFP_имя>DicTable</VFP_имя>
              <дополнительно>
                <отложенная_инициализация/>
              </дополнительно>
            </элемент>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">155</VFP_свойство>
            <VFP_свойство имя="Caption">18-й символ:</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">250</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B1</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B1</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">271</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B2</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B2</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">292</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B3</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B3</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">313</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B4</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B4</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">334</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B5</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B5</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">355</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B6</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B6</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">376</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B7</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B7</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">397</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B8</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B8</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">418</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B9</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B9</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">439</VFP_свойство>
            <VFP_свойство имя="Top">150</VFP_свойство>
            <VFP_свойство имя="Width">16</VFP_свойство>
            <VFP_свойство имя="InputMask">N</VFP_свойство>
            <VFP_свойство имя="ControlSource">cTxt18B10</VFP_свойство>
            <VFP_свойство имя="Name">Txt18B10</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Уровень аналитики для определения номера банковского (лицевого) счета:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">185</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TSpinner</VFP_класс>
            <VFP_свойство имя="ControlSource">nAnLevel</VFP_свойство>
            <VFP_свойство имя="Increment">1.00</VFP_свойство>
            <VFP_свойство имя="Inputmask">9</VFP_свойство>
            <VFP_свойство имя="KeyboardHighValue">5</VFP_свойство>
            <VFP_свойство имя="KeyboardLowValue">0</VFP_свойство>
            <VFP_свойство имя="Left">420</VFP_свойство>
            <VFP_свойство имя="Name">aLevel</VFP_свойство>
            <VFP_свойство имя="SpinnerHighValue">5.00</VFP_свойство>
            <VFP_свойство имя="SpinnerLowValue">0.00</VFP_свойство>
            <VFP_метод имя="ValueChanged"><![CDATA[LParam oThis, oThisForm
Store oThis.Value = 0 To oThis.Parent.cmbAccBudg.Enabled, oThis.Parent.cmbLSch.Enabled
]]></VFP_метод>
            <VFP_свойство имя="Top">180</VFP_свойство>
            <VFP_свойство имя="Width">40</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>T3dShape</VFP_класс>
            <VFP_свойство имя="Height">75</VFP_свойство>
            <VFP_свойство имя="Left">10</VFP_свойство>
            <VFP_свойство имя="Top">225</VFP_свойство>
            <VFP_свойство имя="Width">460</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Банковские реквизиты для заполнения графы 1</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">220</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Номер банковского счета:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">240</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>Agent_BrekV</VFP_класс>
            <VFP_свойство имя="Name">cmbAccBudg</VFP_свойство>
            <VFP_свойство имя="Left">170</VFP_свойство>
            <VFP_свойство имя="Top">235</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
            <VFP_свойство имя="ControlSource">cAccBudg</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">Номер лицевого счета:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">270</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>Agent_BrekV</VFP_класс>
            <VFP_свойство имя="Name">cmbLSch</VFP_свойство>
            <VFP_свойство имя="Alias">curAgenrRekv2</VFP_свойство>
            <VFP_свойство имя="Left">170</VFP_свойство>
            <VFP_свойство имя="Top">265</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
            <VFP_свойство имя="ControlSource">cLSch</VFP_свойство>
          </элемент>
        </элемент>
        <элемент>
          <VFP_имя>Page2</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">460</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">170</VFP_свойство>
            <VFP_свойство имя="Top">20</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TLabel</VFP_класс>
            <VFP_свойство имя="Caption">ИСТ:</VFP_свойство>
            <VFP_свойство имя="Left">20</VFP_свойство>
            <VFP_свойство имя="Top">55</VFP_свойство>
          </элемент>
          <элемент>
            <VFP_класс>TTextBox</VFP_класс>
            <VFP_свойство имя="Left">403</VFP_свойство>
            <VFP_свойство имя="Top">50</VFP_свойство>
            <VFP_свойство имя="Width">57</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
Local oPg2
oPg2 = oThisForm.PF.Page2
= CurOpen("orgbase")
If !Empty(oPg2.dicIsp.Value)
  = Seek(oPg2.dicIsp.Value, "orgbase", "RN")
  If orgbase.type # '2'
    errmes("Выбранный контрагент не является физическим лицом.")
    oPg2.dicIsp.Clear()
  Else    
    oPg2.fldIspName.Value = PERSON_PAD(oPg2.dicIsp.Value,, "ф.")
  ENDIF
EndIf
]]></VFP_метод>
            <VFP_свойство имя="Name">dicIsp</VFP_свойство>
            <VFP_свойство имя="Left">170</VFP_свойство>
            <VFP_свойство имя="Top">80</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
            <VFP_свойство имя="AreaName" тип="C">OrgBase</VFP_свойство>
            <VFP_свойство имя="DictName" тип="C">Agnt_bms</VFP_свойство>
            <VFP_свойство имя="RetField" тип="C">rmnemo_org</VFP_свойство>
            <VFP_свойство имя="HistoryName" тип="C">H_Agents178_217N_2021</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">170</VFP_свойство>
            <VFP_свойство имя="Top">110</VFP_свойство>
            <VFP_свойство имя="Width">290</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">170</VFP_свойство>
            <VFP_свойство имя="Top">140</VFP_свойство>
            <VFP_свойство имя="Width">290</VFP_свойство>
            <VFP_свойство имя="ControlSource">cIspTel</VFP_свойство>
            <VFP_свойство имя="Name">fldIspTel</VFP_свойство>
          </элемент>
        </элемент>
      </элемент>
    </описание>
  </форма>
</Модуль>
