<?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">
  <интерфейс>
    <отчет>
      <наименование>Форма 0503730-33н_ред183н_2023</наименование>
      <код_раздела>Reports5n</код_раздела>
      <номер_код>f0503730_183n_2023</номер_код>
      <шаблон>
        <тип>MSE</тип>
        <мнемокод>ar_form0503730_183n_2023</мнемокод>
        <файл>Форма0503730_33н_ред183н_2023.xlt</файл>
      </шаблон>
    </отчет>
  </интерфейс>
  <отчет>
    <реализует>f0503730_183n_2023</реализует>
      <дополнительно>
      <запомнить_переменные>
        <список_переменных>dBalOpen;nSelYear;cOrg;cRN_Found;nAccType;cTxt18B1;cTxt18B2;cTxt18B3;cTxt18B4;cTxt18B5;cTxt18B6;cTxt18B7;cTxt18B8;cTxt18B9;cTxt18B10;cTxt18VB1;cTxt18VB2;cTxt18VB3;cTxt18VB4;cTxt18VB5;cTxt18VB6;cTxt18VB7;cTxt18VB8;cTxt18VB9;cTxt18VB10;cTxt18R1;cTxt18R2;cTxt18R3;cTxt18R4;cTxt18R5;cTxt18R6;cTxt18R7;cTxt18R8;cTxt18R9;cTxt18R10;nAnLevel;cRN_Mark;cCatEO;cJournalOp;nNoCalcLong;cUnlPath;cIST;cDicIsp;cIspName;cIspTel;nEmptyRows;cUnlPath4;cIdReceiver;cIdReceiverMain;cAgent_RN;cAgentDoc</список_переменных>
        <мемофайл>ar_form0503730_33n_183n_2023;ar_form0503730_33n_170n_2021;ar_form0503730_33n_292n_2020;ar_form0503730_33n_11n_2020;ar_form0503730_33n_166n_2019</мемофайл>
      </запомнить_переменные>
      </дополнительно>
    <переменные>
      <переменная>
        <имя>dBalOpen</имя>
        <начальное_значение>{}</начальное_значение>
        <!--ДаCurCloseта расчета показателей вступительного баланса-->
      </переменная>
      <переменная>
        <имя>nSelYear</имя>
        <начальное_значение>Year(oSystem.Date)</начальное_значение>
        <!--Отчетный год-->
      </переменная>
      <переменная>
        <имя>dDateBegin</имя>
        <начальное_значение>""</начальное_значение>
        <!--Дата с-->
      </переменная>
      <переменная>
        <имя>dDateEnd</имя>
        <начальное_значение>""</начальное_значение>
        <!--Дата По-->
      </переменная>
      <переменная>
        <имя>cOrg</имя>
        <начальное_значение>""</начальное_значение>
        <!--Учреждение-->
      </переменная>
      <переменная>
        <имя>cWhereKontragent</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по учреждениям-->
      </переменная>
      <переменная>
        <имя>glBK</имя>
        <начальное_значение>""</начальное_значение>
        <!--Глава по БК-->
      </переменная>
      <переменная>
        <имя>cRN_Found</имя>
        <начальное_значение>""</начальное_значение>
        <!--Учредитель-->
      </переменная>
      <переменная>
        <имя>nAccType</имя>
        <начальное_значение>1</начальное_значение>
        <!--Размерность плана счетов-->
      </переменная>
      <переменная>
        <имя>cWhereBalUnits</имя>
        <начальное_значение>""</начальное_значение>
        <!--Условие по балансовым единицам-->
      </переменная>
      <переменная>
        <имя>CTxt18B1</имя>
        <начальное_значение>"5"</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B2</имя>
        <начальное_значение>"6"</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B3</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B4</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B5</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B6</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B7</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B8</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B9</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18B10</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для бюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB1</имя>
        <начальное_значение>"4"</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB2</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB3</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB4</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB5</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB6</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB7</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB8</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB9</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18VB10</имя>
        <начальное_значение>""</начальное_значение>
        <!--18 знак для внебюджета-->
      </переменная>
      <переменная>
        <имя>CTxt18R1</имя>
        <начальное_значение>"2"</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R2</имя>
        <начальное_значение>"3"</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R3</имя>
        <начальное_значение>"7"</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R4</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R5</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R6</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R7</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R8</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R9</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>CTxt18R10</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cWhereRB</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cWhereRVB</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cWhereRR</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cWhereBSPR</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cWhereVBSPR</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>cWhereRSPR</имя>
        <начальное_значение>""</начальное_значение>
      </переменная>
      <переменная>
        <имя>nAnLevel</имя>
        <начальное_значение>0</начальное_значение>
        <!--Уровень аналитики-->
      </переменная>
      <переменная>
        <имя>cRN_Mark</имя>
        <начальное_значение>""</начальное_значение>
        <!--Особая отметка-->
      </переменная>
      <переменная>
        <имя>cCatEO</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог ХО-->
      </переменная>
      <переменная>
        <имя>cJournalOp</имя>
        <начальное_значение>""</начальное_значение>
        <!--Журнал операций-->
      </переменная>
      <переменная>
        <имя>nNoCalcLong</имя>
        <начальное_значение>0</начальное_значение>
        <!--Не рассчитывать «долгосрочные» показатели на начало отчетного периода-->
      </переменная>
      <переменная>
        <имя>cUnlPath</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог выгрузки-->
      </переменная>
      <переменная>
        <имя>cFileName</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки-->
      </переменная>
      <переменная>
        <имя>cIST</имя>
        <начальное_значение>""</начальное_значение>
        <!--ИСТ-->
      </переменная>
      <переменная>
        <имя>cDicIsp</имя>
        <начальное_значение>""</начальное_значение>
        <!--Исполнитель-->
      </переменная>
      <переменная>
        <имя>cIspName</имя>
        <начальное_значение>""</начальное_значение>
        <!--ФИО исполнителя-->
      </переменная>
      <переменная>
        <имя>cIspTel</имя>
        <начальное_значение>""</начальное_значение>
        <!--Телефон исполнителя-->
      </переменная>
      <переменная>
        <имя>nEmptyRows</имя>
        <начальное_значение>0</начальное_значение>
        <!--Выгружать строки с нулевыми значениями-->
      </переменная>
      <переменная>
        <имя>cUnlPath4</имя>
        <начальное_значение>""</начальное_значение>
        <!--Каталог выгрузки в ГНИ 4-->
      </переменная>
      <переменная>
        <имя>cFileId4</имя>
        <начальное_значение>""</начальное_значение>
        <!--Идентификатор файла-->
      </переменная>
      <переменная>
        <имя>cFileName4</имя>
        <начальное_значение>""</начальное_значение>
        <!--Файл выгрузки в ГНИ 4-->
      </переменная>
      <переменная>
        <имя>cIdReceiver</имя>
        <начальное_значение>""</начальное_значение>
        <!--Идентификатор получателя информации-->
      </переменная>
      <переменная>
        <имя>cIdReceiverMain</имя>
        <начальное_значение>""</начальное_значение>
        <!--Идентификатор конечного получателя информации-->
      </переменная>
      <переменная>
        <имя>cAgent_RN</имя>
        <начальное_значение>""</начальное_значение>
        <!--Уполномоченный представитель-->
      </переменная>
      <переменная>
        <имя>cAgentDoc</имя>
        <начальное_значение>""</начальное_значение>
        <!--Наименование документа, подтверждающего полномочия представителя-->
      </переменная>
      <переменная>
        <имя>RepG151</имя>
        <начальное_значение>CreateObject("form0503buxrepd")</начальное_значение>
      </переменная>
      <переменная>
        <имя>dReportDate</имя>
        <начальное_значение>Date(2023,06,30)</начальное_значение>
      </переменная>
      <переменная>
        <имя>lNoError</имя>
        <начальное_значение>.T.</начальное_значение>
      </переменная>            
    </переменные>
    <запуск_формы>
      <ид>f_0503730_33n_183n_2023</ид>
    </запуск_формы>
    <вычисление>
      <сообщение>Ждите, идет выборка данных ...</сообщение>
      <FPC_><![CDATA[*[VFP]
dDateBegin = Iif(Empty(m.dBalOpen), DATE(m.nSelYear, 1, 1), m.dBalOpen)
dDateEnd   = DATE(m.nSelYear + 1, 1, 1)
                    ]]></FPC_>
    </вычисление>
    <печать>
      <!--Печать отчета--><MSE>
        <!--Печать в MS Excel-->
        <FPC_><![CDATA[*[VFP]
*ON ERROR

* Операции межотчетного периода
Private dDate5, cWhere5, cSubPos, cUnitEO, cUnitInv, cUnitEF
cSubPos = Iif(m.nAccType = 1, "19", "2")
cWhere5 = ""
Do Case
  Case !Empty(m.cRN_Mark) And !Empty(m.cCatEO)
    cWhere5 = "(B.RN_MARK = '" + m.cRN_Mark + "' Or B.PARENT_RN = '" + m.cCatEO + "')"
  Case !Empty(m.cRN_Mark)
    cWhere5 = "B.RN_MARK = '" + m.cRN_Mark + "'"
  Case !Empty(m.cCatEO)
    cWhere5 = "B.PARENT_RN = '" + m.cCatEO + "'"
EndCase
dDate5 = m.dDateEnd - 1

cUnitEO  = UnitRN("EconOp")       && Хозяйственные операции
cUnitInv = UnitRN("Inventory")    && Инвентарная картотека
cUnitEF  = UnitRN("ExpsFuture")   && Картотека операций будущих периодов

* Суммы для отчета
Private ALL Like nCol?Row*
Private ALL Like nCol10Row*
Store 0 To nCol3Row010, nCol4Row010, nCol5Row010, nCol7Row010, nCol8Row010, nCol9Row010, ;
           nCol3Row020, nCol4Row020, nCol5Row020, nCol7Row020, nCol8Row020, nCol9Row020, ;
           nCol3Row021, nCol4Row021, nCol5Row021, nCol7Row021, nCol8Row021, nCol9Row021, ;
           nCol3Row040, nCol4Row040, nCol5Row040, nCol7Row040, nCol8Row040, nCol9Row040, ;
           nCol3Row041, nCol4Row041, nCol5Row041, nCol7Row041, nCol8Row041, nCol9Row041, ;
           nCol3Row050, nCol4Row050, nCol5Row050, nCol7Row050, nCol8Row050, nCol9Row050, ;
           nCol3Row051, nCol4Row051, nCol5Row051, nCol7Row051, nCol8Row051, nCol9Row051, ;
           nCol3Row070, nCol4Row070, nCol5Row070, nCol7Row070, nCol8Row070, nCol9Row070, ;
           nCol3Row080, nCol4Row080, nCol5Row080, nCol7Row080, nCol8Row080, nCol9Row080, ;
           nCol3Row091, nCol4Row091, nCol5Row091, nCol7Row091, nCol8Row091, nCol9Row091, ;
           nCol3Row100, nCol4Row100, nCol5Row100, nCol7Row100, nCol8Row100, nCol9Row100, ;
           nCol3Row101, nCol4Row101, nCol5Row101, nCol7Row101, nCol8Row101, nCol9Row101, ;
           nCol3Row110, nCol4Row110, nCol5Row110, nCol7Row110, nCol8Row110, nCol9Row110, ;
           nCol3Row120, nCol4Row120, nCol5Row120, nCol7Row120, nCol8Row120, nCol9Row120, ;
           nCol3Row130, nCol4Row130, nCol5Row130, nCol7Row130, nCol8Row130, nCol9Row130, ;
           nCol3Row150, nCol4Row150, nCol5Row150, nCol7Row150, nCol8Row150, nCol9Row150, ;
           nCol3Row160, nCol4Row160, nCol5Row160, nCol7Row160, nCol8Row160, nCol9Row160, ;
           nCol3Row170, nCol4Row170, nCol5Row170, nCol7Row170, nCol8Row170, nCol9Row170, ;
           nCol3Row201, nCol4Row201, nCol5Row201, nCol7Row201, nCol8Row201, nCol9Row201, ;
           nCol3Row203, nCol4Row203, nCol5Row203, nCol7Row203, nCol8Row203, nCol9Row203, ;
           nCol3Row204, nCol4Row204, nCol5Row204, nCol7Row204, nCol8Row204, nCol9Row204, ;
           nCol3Row206, nCol4Row206, nCol5Row206, nCol7Row206, nCol8Row206, nCol9Row206, ;
           nCol3Row207, nCol4Row207, nCol5Row207, nCol7Row207, nCol8Row207, nCol9Row207, ;
           nCol3Row240, nCol4Row240, nCol5Row240, nCol7Row240, nCol8Row240, nCol9Row240, ;
           nCol3Row250, nCol4Row250, nCol5Row250, nCol7Row250, nCol8Row250, nCol9Row250, ;
           nCol3Row251, nCol4Row251, nCol5Row251, nCol7Row251, nCol8Row251, nCol9Row251, ;
           nCol3Row260, nCol4Row260, nCol5Row260, nCol7Row260, nCol8Row260, nCol9Row260, ;
           nCol3Row261, nCol4Row261, nCol5Row261, nCol7Row261, nCol8Row261, nCol9Row261, ;
           nCol3Row270, nCol4Row270, nCol5Row270, nCol7Row270, nCol8Row270, nCol9Row270, ;
           nCol3Row271, nCol4Row271, nCol5Row271, nCol7Row271, nCol8Row271, nCol9Row271, ;
           nCol3Row280, nCol4Row280, nCol5Row280, nCol7Row280, nCol8Row280, nCol9Row280, ;
           nCol3Row282, nCol4Row282, nCol5Row282, nCol7Row282, nCol8Row282, nCol9Row282, ;
           nCol3Row290, nCol4Row290, nCol5Row290, nCol7Row290, nCol8Row290, nCol9Row290

Store 0 To nCol3Row400, nCol4Row400, nCol5Row400, nCol7Row400, nCol8Row400, nCol9Row400, ;
           nCol3Row401, nCol4Row401, nCol5Row401, nCol7Row401, nCol8Row401, nCol9Row401, ;
           nCol3Row410, nCol4Row410, nCol5Row410, nCol7Row410, nCol8Row410, nCol9Row410, ;
           nCol3Row411, nCol4Row411, nCol5Row411, nCol7Row411, nCol8Row411, nCol9Row411, ;
           nCol3Row420, nCol4Row420, nCol5Row420, nCol7Row420, nCol8Row420, nCol9Row420, ;
           nCol3Row431, nCol4Row431, nCol5Row431, nCol7Row431, nCol8Row431, nCol9Row431, ;
           nCol3Row432, nCol4Row432, nCol5Row432, nCol7Row432, nCol8Row432, nCol9Row432, ;
           nCol3Row433, nCol4Row433, nCol5Row433, nCol7Row433, nCol8Row433, nCol9Row433, ;
           nCol3Row434, nCol4Row434, nCol5Row434, nCol7Row434, nCol8Row434, nCol9Row434, ;
           nCol3Row436, nCol4Row436, nCol5Row436, nCol7Row436, nCol8Row436, nCol9Row436, ;
           nCol3Row470, nCol4Row470, nCol5Row470, nCol7Row470, nCol8Row470, nCol9Row470, ;
           nCol3Row471, nCol4Row471, nCol5Row471, nCol7Row471, nCol8Row471, nCol9Row471, ;
           nCol3Row480, nCol4Row480, nCol5Row480, nCol7Row480, nCol8Row480, nCol9Row480, ;
           nCol3Row510, nCol4Row510, nCol5Row510, nCol7Row510, nCol8Row510, nCol9Row510, ;
           nCol3Row520, nCol4Row520, nCol5Row520, nCol7Row520, nCol8Row520, nCol9Row520, ;
           nCol3Row570, nCol4Row570, nCol5Row570, nCol7Row570, nCol8Row570, nCol9Row570


Store 0 To nCol4Row010Spr, nCol5Row010Spr, nCol6Row010Spr, nCol8Row010Spr, nCol9Row010Spr, nCol10Row010Spr, ;
           nCol4Row020Spr, nCol5Row020Spr, nCol6Row020Spr, nCol8Row020Spr, nCol9Row020Spr, nCol10Row020Spr, ;
           nCol4Row030Spr, nCol5Row030Spr, nCol6Row030Spr, nCol8Row030Spr, nCol9Row030Spr, nCol10Row030Spr, ;
           nCol4Row040Spr, nCol5Row040Spr, nCol6Row040Spr, nCol8Row040Spr, nCol9Row040Spr, nCol10Row040Spr, ;
           nCol4Row050Spr, nCol5Row050Spr, nCol6Row050Spr, nCol8Row050Spr, nCol9Row050Spr, nCol10Row050Spr, ;
           nCol4Row060Spr, nCol5Row060Spr, nCol6Row060Spr, nCol8Row060Spr, nCol9Row060Spr, nCol10Row060Spr, ;
           nCol4Row070Spr, nCol5Row070Spr, nCol6Row070Spr, nCol8Row070Spr, nCol9Row070Spr, nCol10Row070Spr, ;
           nCol4Row080Spr, nCol5Row080Spr, nCol6Row080Spr, nCol8Row080Spr, nCol9Row080Spr, nCol10Row080Spr, ;
           nCol4Row090Spr, nCol5Row090Spr, nCol6Row090Spr, nCol8Row090Spr, nCol9Row090Spr, nCol10Row090Spr, ;
           nCol4Row100Spr, nCol5Row100Spr, nCol6Row100Spr, nCol8Row100Spr, nCol9Row100Spr, nCol10Row100Spr, ;
           nCol4Row101Spr, nCol5Row101Spr, nCol6Row101Spr, nCol8Row101Spr, nCol9Row101Spr, nCol10Row101Spr, ;
           nCol4Row102Spr, nCol5Row102Spr, nCol6Row102Spr, nCol8Row102Spr, nCol9Row102Spr, nCol10Row102Spr, ;
           nCol4Row104Spr, nCol5Row104Spr, nCol6Row104Spr, nCol8Row104Spr, nCol9Row104Spr, nCol10Row104Spr, ;
           nCol4Row105Spr, nCol5Row105Spr, nCol6Row105Spr, nCol8Row105Spr, nCol9Row105Spr, nCol10Row105Spr, ;
           nCol4Row120Spr, nCol5Row120Spr, nCol6Row120Spr, nCol8Row120Spr, nCol9Row120Spr, nCol10Row120Spr, ;
           nCol4Row130Spr, nCol5Row130Spr, nCol6Row130Spr, nCol8Row130Spr, nCol9Row130Spr, nCol10Row130Spr, ;
           nCol4Row150Spr, nCol5Row150Spr, nCol6Row150Spr, nCol8Row150Spr, nCol9Row150Spr, nCol10Row150Spr, ;
           nCol4Row160Spr, nCol5Row160Spr, nCol6Row160Spr, nCol8Row160Spr, nCol9Row160Spr, nCol10Row160Spr, ;
           nCol4Row171Spr, nCol5Row171Spr, nCol6Row171Spr, nCol8Row171Spr, nCol9Row171Spr, nCol10Row171Spr, ;
           nCol4Row172Spr, nCol5Row172Spr, nCol6Row172Spr, nCol8Row172Spr, nCol9Row172Spr, nCol10Row172Spr, ;
           nCol4Row173Spr, nCol5Row173Spr, nCol6Row173Spr, nCol8Row173Spr, nCol9Row173Spr, nCol10Row173Spr, ;
           nCol4Row181Spr, nCol5Row181Spr, nCol6Row181Spr, nCol8Row181Spr, nCol9Row181Spr, nCol10Row181Spr, ;
           nCol4Row182Spr, nCol5Row182Spr, nCol6Row182Spr, nCol8Row182Spr, nCol9Row182Spr, nCol10Row182Spr, ;
           nCol4Row183Spr, nCol5Row183Spr, nCol6Row183Spr, nCol8Row183Spr, nCol9Row183Spr, nCol10Row183Spr, ;
           nCol4Row200Spr, nCol5Row200Spr, nCol6Row200Spr, nCol8Row200Spr, nCol9Row200Spr, nCol10Row200Spr, ;
           nCol4Row210Spr, nCol5Row210Spr, nCol6Row210Spr, nCol8Row210Spr, nCol9Row210Spr, nCol10Row210Spr, ;
           nCol4Row220Spr, nCol5Row220Spr, nCol6Row220Spr, nCol8Row220Spr, nCol9Row220Spr, nCol10Row220Spr, ;
           nCol4Row230Spr, nCol5Row230Spr, nCol6Row230Spr, nCol8Row230Spr, nCol9Row230Spr, nCol10Row230Spr, ;
           nCol4Row240Spr, nCol5Row240Spr, nCol6Row240Spr, nCol8Row240Spr, nCol9Row240Spr, nCol10Row240Spr, ;
           nCol4Row250Spr, nCol5Row250Spr, nCol6Row250Spr, nCol8Row250Spr, nCol9Row250Spr, nCol10Row250Spr, ;
           nCol4Row260Spr, nCol5Row260Spr, nCol6Row260Spr, nCol8Row260Spr, nCol9Row260Spr, nCol10Row260Spr, ;
           nCol4Row270Spr, nCol5Row270Spr, nCol6Row270Spr, nCol8Row270Spr, nCol9Row270Spr, nCol10Row270Spr, ;
           nCol4Row290Spr, nCol5Row290Spr, nCol6Row290Spr, nCol8Row290Spr, nCol9Row290Spr, nCol10Row290Spr, ;
           nCol4Row300Spr, nCol5Row300Spr, nCol6Row300Spr, nCol8Row300Spr, nCol9Row300Spr, nCol10Row300Spr, ;
           nCol4Row310Spr, nCol5Row310Spr, nCol6Row310Spr, nCol8Row310Spr, nCol9Row310Spr, nCol10Row310Spr, ;
           nCol4Row320Spr, nCol5Row320Spr, nCol6Row320Spr, nCol8Row320Spr, nCol9Row320Spr, nCol10Row320Spr, ;
           nCol4Row330Spr, nCol5Row330Spr, nCol6Row330Spr, nCol8Row330Spr, nCol9Row330Spr, nCol10Row330Spr, ;
           nCol4Row350Spr, nCol5Row350Spr, nCol6Row350Spr, nCol8Row350Spr, nCol9Row350Spr, nCol10Row350Spr, ;
           nCol4Row360Spr, nCol5Row360Spr, nCol6Row360Spr, nCol8Row360Spr, nCol9Row360Spr, nCol10Row360Spr

*** АКТИВ
&& 010
= GetSumOther("010", "101")

&& 020
= GetSumOther("020", "1141,1142,1143!1142N,1142R,1142I,1142D,1143N,1143R,1143I,1143D", .T.)

&& 021
= GetSumOther("021", "1041,1042,1043,1049!1042N,1042R,1042I,1042D,1043N,1043R,1043I,1043D,1049I", .T.)

&& 040
= GetSumOther("040", "102")

&& 050
= GetSumOther("050", "1142N,1142R,1142I,1142D,1143N,1143R,1143I,1143D", .T.)

&& 051
= GetSumOther("051", "1042N,1042R,1042I,1042D,1043N,1043R,1043I,1043D,1049I", .T.)

&& 070
= GetSumOther("070", "103,1147")

&& 080
= GetSumOther("080", "105,1148")

&& 100
= GetSumOther("100", "111,1044,1046")

&& 101
= GetSumRightLong("101", "111", "1044,1046")
If m.nNoCalcLong = 0
  = GetSumOther("101", "111,1044,1046", .F., .T.)
EndIf

&& 110
= GetSumOther("110", "113")

&& 120
= GetSumOther("120", "106")

&& 130
= GetSumOther("130", "107")

&& 150
= GetSumOther("150", "109")

&& 160
= GetSumOther("160", "4015")

&& 170
= GetSumOther("170", "110")

&& 201
= GetSumOther("201", "2011")

&& 203
= GetSumOther("203", "2012")

&& 204
= GetSumOther("204", "20122")

&& 206
= GetSumOther("206", "20127")

&& 207
= GetSumOther("207", "2013")

&& 240
= GetSumOther("240", "204")

&& 250
= GetSumDK("250", "205,209")

&& 251
= GetSumDK("251", "205,209", .F., .T.)

&& 260
= GetSumOther("260", "206")
= GetSumDK("260", "208,303")

&& 261
= GetSumDK("261", "206", .F., .T., .T.)
= GetSumDK("261", "208,303", .F., .T.)

&& 270
= GetSumOther("270", "207")

&& 271
= GetSumDK("271", "207", .F., .T., .T.)

&& 280
= GetSumOther("280", "210!21006,2101")

&& 282
= GetSumDK("282", "2101")

&& 290
= GetSumOther("290", "215")

*** ПАССИВ
&& 400
= GetSumOther("400", "301", .T.)

&& 401
= GetSumDK("401", "301", .T., .T., .T.)

&& 410
= GetSumOther("410", "302,30402,30403", .T.)
= GetSumDK("410", "208", .T.)

&& 411
= GetSumDK("411", "302,30402,30403", .T., .T., .T.)
= GetSumDK("411", "208", .T., .T.)

&& 420
= GetSumDK("420", "303", .T.)

&& 431
= GetSumOther("431", "30401", .T.)

&& 432
= GetSumOther("432", "30404", .T.)

&& 433
= GetSumOther("433", "30406", .T.)

&& 434
= GetSumDK("434", "2101", .T.)

&& 436
= GetSumOther("436", "304Т6,304T6", .T.)

&& 470
= GetSumDK("470", "205,209", .T.)

&& 471
= GetSumDK("471", "205,209", .T., .T.)

&& 480
= GetSumOther("480", "21006", .T.)

&& 510
= GetSumOther("510", "4014", .T.)

&& 520
= GetSumOther("520", "4016", .T.)

&& 570
= GetSumOther("570", "4013", .T.)

* Справка по забалансовым счетам
= zBalSPR()

* Глава по БК
Local Array arBP(1)
If !Empty(m.cWhereKontragent)
   Select fBudMG.Rasp_Code ;
     From OrgBase ;
       Inner Join fBudMG On OrgBase.RN = fBudMG.OrgBase_RN ;
     Where &cWhereKontragent And !Empty(fBudMG.Rasp_Code);
     Into Array arBP
   *
   If _Tally > 0
     glBK = arBP(1)
   EndIf 
EndIf 
*
If Empty(m.glBK)
   Select Rasp_Code ;
     From fBudMG ;
     Where OrgBase_RN = ?oSystem.OwnerOrgRn And !Empty(Rasp_Code);
     Into Array arBP
   *
   If _Tally > 0
     glBK = arBP(1)
   EndIf
EndIf

* Формирую имя файла для выгрузки в МинФин
If !Empty(m.cUnlPath)
  Local Array aFiles(1)
  Local nNum, cNum, nN, i
  cUnlPath = AllTrim(m.cUnlPath)
  cFileName = "330Y"
  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
    Next
  EndIf
  cFileName = m.cUnlPath + m.cFileName + PadL(Int(m.nNum) + 1, 2, "0") + ".txt"
ENDIF

* Формирую имя файла для выгрузки в ГНИ 4
If !Empty(m.cUnlPath4)
  Local Array aFiles(1), arrSender(1)
  Local cOrgRN, cSender, nNum
  cUnlPath4 = AllTrim(m.cUnlPath4)
  cFileId4  = "NO_BOUCHR1_" + PadL(AllTrim(m.cIdReceiver), 4, "0") + "_" + PadL(AllTrim(m.cIdReceiverMain), 4, "0")
  * отправитель информации
  cOrgRN = Iif(m.cOrg # "|" And Len(m.cOrg) == 4, m.cOrg, PadR(oSystem.OwnerOrgRn, 4))
  Select TYPE, INN From OrgBase Where RN = ?m.cOrgRN Into ARRAY arrSender
  If _Tally = 0
    cSender = Replicate("0", 19)
  Else
    If arrSender(1) = "1"   && юр. лицо
      cSender = PadR(StrTran(AllTrim(arrSender(2)), "/", ""), 19, "0")
    Else                    && физ. лицо
      cSender = PadR(AllTrim(arrSender(2)), 12, "0")
    EndIf
  EndIf
  cFileId4 = m.cFileId4 + "_" + m.cSender + "_" + DToS(oSystem.Date) + "_"
  nNum = 1
  DO While ADir(aFiles, m.cUnlPath4 + m.cFileId4 + LTRim(Str(m.nNum, 36)) + ".xml") # 0
    nNum = m.nNum + 1
  EndDO
  cFileId4 = m.cFileId4 + LTRim(Str(m.nNum, 36))
  cFileName4 = m.cUnlPath4 + m.cFileId4 + ".xml"
EndIf

* Печать отчета
Local oPrint, nSheet

oPrint = objCaller.objExcelRep
oPrint.PrintRange("Header")

If m.nAnLevel # 0
  = PrnSpr(oPrint)
EndIf

oPrint.PrintRange("Footer")

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

* Удаление листа со сценарием выгрузки в ГНИ 4
If Empty(m.cFileName4)
  = DeleteSheets(oPrint, "Выгрузка в ГНИ 4")
  oPrint.Book.Sheet = 1
EndIf

oPrint = NULL

Return
****


Procedure DeleteSheets
* Удаление листа из отчета
  Parameters oPrint, cSheetName

  Local nSheet
  nSheet = oPrint.GetSheetNum(m.cSheetName)

  If m.nSheet > 0 
    oPrint.Book.Sheet = m.nSheet
    oPrint.Book.EditDeleteSheets()
  EndIf  
EndProc
****


Procedure PrnSpr
* печать справки (таблица)
  Parameters oPrint

  Select ACC, SACCOUNT, Name_SACC,   ;
         Sum(Sum_Col4)  As Sum_Col4, ;
         Sum(Sum_Col5)  As Sum_Col5, ;
         Sum(Sum_Col6)  As Sum_Col6, ;
         Sum(Sum_Col8)  As Sum_Col8, ;
         Sum(Sum_Col9)  As Sum_Col9, ;
         Sum(Sum_Col10) As Sum_Col10 ;
    From FormPrint1 ;
    Group By 1, 2, 3;
    Order By 1, 2, 3;
    Into CURSOR FormPrint

  Use In FormPrint1

  = PrnSpr1("04")
  = PrnSpr1("20")

  Use In FormPrint

EndProc
****


Procedure PrnSpr1
  LParameters cSubs
  Local n, cS
  n  = 0
  cS = PadR(m.cSubs, 3, "0")
  Select FormPrint
  Scan For ACC = m.cS
    n = m.n + 1
    If m.n > 1
       oPrint.InsertRange()   
    EndIf
    oPrint.PrintRange("SpecYear" + m.cS)
  EndScan

  * Выгрузка в ГНИ 4
  If !Empty(m.cFileName4)
     n = 0
     Select FormPrint
     Scan For ACC = m.cS
       n = m.n + 1
       If m.n > 1
          oPrint.InsertRange()   
       EndIf
       oPrint.PrintRange("SpecYearGni" + m.cS)
     EndScan
  EndIf
***************


Procedure zBalSPR
  Local cUslAccSpr, i

  For m.i = 1 To 36
    If !InList(m.i, 11, 14, 17, 18, 19, 28, 34)
      = GetSumSpr(PadL(m.i, 2, "0"))
    EndIf
  Next

  If m.nAnLevel # 0
    Create Cursor FormPrint1(ACC C(3), Name_SACC C(80), SACCOUNT C(15), Sum_Col4 N(18,2), Sum_Col5 N(18,2), Sum_Col6 N(18,2), Sum_Col8 N(18,2), Sum_Col9 N(18,2), Sum_Col10 N(18,2))
    = GetSumSpr1("04")
    = GetSumSpr ("10", "101")
    = GetSumSpr ("10", "102")
    = GetSumSpr ("10", "104")
    = GetSumSpr ("10", "105")
    = GetSumSpr1("20")
  EndIf

  CurOpen("fSbFBase;BKlsDoh")

  &&170
  cUslAccSpr = " and (AT('з',accbase.account) > 0 and SUBS(accbase.account,AT('з',accbase.account)+1,2)='17'"
  cUslAccSpr = m.cUslAccSpr + " or AT('з',accbase.account) = 0 and SUBS(accbase.account,2,2)='17')"
  =SelAccFromBase1(1, m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row171Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(1, m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row171Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(1, m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row171Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(1, m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row171Spr,  "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(1, m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row171Spr,  "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(1, m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row171Spr, "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  nCol8Row171Spr  = m.nCol4Row171Spr + m.nCol8Row171Spr
  nCol9Row171Spr  = m.nCol5Row171Spr + m.nCol9Row171Spr
  nCol10Row171Spr = m.nCol6Row171Spr + m.nCol10Row171Spr

  =SelAccFromBase1(2, m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row172Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(2, m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row172Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(2, m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row172Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(2, m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row172Spr,  "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(2, m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row172Spr,  "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(2, m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row172Spr, "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  nCol8Row172Spr  = m.nCol4Row172Spr + m.nCol8Row172Spr
  nCol9Row172Spr  = m.nCol5Row172Spr + m.nCol9Row172Spr
  nCol10Row172Spr = m.nCol6Row172Spr + m.nCol10Row172Spr

  =SelAccFromBase1(3, m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row173Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(3, m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row173Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(3, m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row173Spr,  "OSDB;OSCR", m.dDateBegin)
  =SelAccFromBase1(3, m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row173Spr,  "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(3, m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row173Spr,  "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(3, m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row173Spr, "OBDB;OBCR", m.dDateBegin, m.dDateEnd-1)
  nCol8Row173Spr  = m.nCol4Row173Spr + m.nCol8Row173Spr
  nCol9Row173Spr  = m.nCol5Row173Spr + m.nCol9Row173Spr
  nCol10Row173Spr = m.nCol6Row173Spr + m.nCol10Row173Spr

  &&180 Выбытие: ОSCR - OSDB
  cUslAccSpr  = " and (AT('з',accbase.account) > 0 and SUBS(accbase.account,AT('з',accbase.account)+1,2)='18'"
  cUslAccSpr  = cUslAccSpr +" or AT('з',accbase.account) = 0 and SUBS(accbase.account,2,2)='18')"
  =SelAccFromBase1(1, m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row181Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(1, m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row181Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(1, m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row181Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(1, m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row181Spr,  "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(1, m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row181Spr,  "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(1, m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row181Spr, "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  nCol8Row181Spr  = m.nCol4Row181Spr + m.nCol8Row181Spr
  nCol9Row181Spr  = m.nCol5Row181Spr + m.nCol9Row181Spr
  nCol10Row181Spr = m.nCol6Row181Spr + m.nCol10Row181Spr

  =SelAccFromBase1(2, m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row182Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(2, m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row182Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(2, m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row182Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(2, m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row182Spr,  "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(2, m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row182Spr,  "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(2, m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row182Spr, "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  nCol8Row182Spr  = m.nCol4Row182Spr + m.nCol8Row182Spr
  nCol9Row182Spr  = m.nCol5Row182Spr + m.nCol9Row182Spr
  nCol10Row182Spr = m.nCol6Row182Spr + m.nCol10Row182Spr

  =SelAccFromBase1(3, m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row183Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(3, m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row183Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(3, m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row183Spr,  "OSCR;OSDB", m.dDateBegin)
  =SelAccFromBase1(3, m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row183Spr,  "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(3, m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row183Spr,  "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  =SelAccFromBase1(3, m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row183Spr, "OBCR;OBDB", m.dDateBegin, m.dDateEnd-1)
  nCol8Row183Spr  = m.nCol4Row183Spr + m.nCol8Row183Spr
  nCol9Row183Spr  = m.nCol5Row183Spr + m.nCol9Row183Spr
  nCol10Row183Spr = m.nCol6Row183Spr + m.nCol10Row183Spr

EndProc
****


Procedure GetSumSpr
  LParameters cSubs, cAnalit
  Local cNRow, cUslAccSpr, cUslAnal, cSubs1
  cNRow = Iif(Empty(m.cAnalit), m.cSubs + "0", m.cAnalit)
  Do Case
    Case InList(m.cSubs, "29", "30")
      cSubs1 = Str(Val(m.cSubs) + 1, 2)
    Case InList(m.cSubs, "31", "32", "33")
      cSubs1 = Str(Val(m.cSubs) + 7, 2)
    Case m.cSubs = "35"
      cSubs1 = "45"
    Case m.cSubs = "36"
      cSubs1 = "49"
    Otherwise
      cSubs1 = m.cSubs
  EndCase
  cUslAccSpr = " and (AT('з', accbase.account) > 0 and SubStr(accbase.account,AT('з',accbase.account) + 1, 2) = '" + m.cSubs1 + "'"
  cUslAccSpr = m.cUslAccSpr + " or AT('з', accbase.account) = 0 and SubStr(accbase.account, 2, 2) = '" + m.cSubs1 + "')"
  If !Empty(m.cAnalit)
    cUslAnal = m.cAnalit + "*"
  EndIf

  * начало периода
  = SelAccFromBaseOther(m.cWhereBSPR  + m.cUslAccSPR, @nCol4Row&cNRow.Spr,, .T., m.cUslAnal)
  = SelAccFromBaseOther(m.cWhereVBSPR + m.cUslAccSPR, @nCol5Row&cNRow.Spr,, .T., m.cUslAnal)
  = SelAccFromBaseOther(m.cWhereRSPR  + m.cUslAccSPR, @nCol6Row&cNRow.Spr,, .T., m.cUslAnal)

  * конец периода
  = SelAccFromBaseOther(m.cWhereBSPR  + m.cUslAccSPR, @nCol8Row&cNRow.Spr,  .T., .T., m.cUslAnal)
  = SelAccFromBaseOther(m.cWhereVBSPR + m.cUslAccSPR, @nCol9Row&cNRow.Spr,  .T., .T., m.cUslAnal)
  = SelAccFromBaseOther(m.cWhereRSPR  + m.cUslAccSPR, @nCol10Row&cNRow.Spr, .T., .T., m.cUslAnal)

  = CurClose("curAcc,crsAccSpRN,curZAnalit")

EndProc
****


Procedure GetSumSpr1
  LParameters cSubs
  Local cUslAccSpr, nLen, i, cSubs1, nCol4spr1, nCol5spr1, nCol6spr1, nCol8spr1, nCol9spr1, nCol10spr1
  Local ARRAY arAcc[1]
  cSubs1     = m.cSubs
  cUslAccSpr = "(AT('з', A.account) > 0 and SubStr(A.account,AT('з', A.account) + 1, 2) = '" + m.cSubs1 + "'"
  cUslAccSpr = m.cUslAccSpr + " or AT('з', A.account) = 0 and SubStr(A.account, 2, 2) = '" + m.cSubs1 + "')"
  cUslAccSpr = m.cUslAccSpr + " and !A.L_BALANCE"

  Select A.ACCOUNT, A.NAME_ACC, S.NAME_SACC, S.SACCOUNT ;
    FROM AccBase A ;
      Inner Join AccSpec S On A.RN = S.Master_RN ;
    Where &cUslAccSpr and S.LEVEL = ?m.nAnLevel ;
    Order BY 4 ;
    Into ARRAY arAcc
 
  If _Tally > 0
     nLen = _Tally
     For m.i = 1 To m.nLen
        Store 0 to nCol4spr1, nCol5spr1, nCol6spr1, nCol8spr1, nCol9spr1, nCol10spr1
        cUslAccSPR = " and accbase.account = " + "'" + arAcc(m.i,1) + "'"

        * начало периода
        = SelAccFromBaseOther(m.cWhereBSPR  + m.cUslAccSPR, @nCol4spr1,, .T., arAcc(m.i,4))
        = SelAccFromBaseOther(m.cWhereVBSPR + m.cUslAccSPR, @nCol5spr1,, .T., arAcc(m.i,4))
        = SelAccFromBaseOther(m.cWhereRSPR  + m.cUslAccSPR, @nCol6spr1,, .T., arAcc(m.i,4))

        * конец периода
        = SelAccFromBaseOther(m.cWhereBSPR  + m.cUslAccSPR, @nCol8spr1,  .T., .T., arAcc(m.i,4))
        = SelAccFromBaseOther(m.cWhereVBSPR + m.cUslAccSPR, @nCol9spr1,  .T., .T., arAcc(m.i,4))
        = SelAccFromBaseOther(m.cWhereRSPR  + m.cUslAccSPR, @nCol10spr1, .T., .T., arAcc(m.i,4))

        = CurClose("curAcc,crsAccSpRN,curZAnalit")

        If m.nCol4spr1 # 0 Or m.nCol5spr1 # 0 Or m.nCol6spr1 # 0 Or m.nCol8spr1 # 0 Or m.nCol9spr1 # 0 Or m.nCol10spr1 # 0
           Insert Into FormPrint1 (ACC, NAME_SACC, SACCOUNT, Sum_Col4, Sum_Col5, Sum_Col6, Sum_Col8, Sum_Col9, Sum_Col10) ;
                       Values (PadR(m.cSubs, 3, "0"), arAcc(m.i,3), arAcc(m.i,4), m.nCol4spr1, m.nCol5spr1, m.nCol6spr1, m.nCol8spr1, m.nCol9spr1, m.nCol10spr1)
        EndIf
     Next
  EndIf 
EndProc
****


Procedure SelAccFromBase1
  Parameters nType, cWhere, cPerem, cAllNameProc, cDateB, cDateE

  If !m.lNoError
     Return
  EndIf

  Local cWhereKnt, lOrgPO, nAnalit, k, i, j, lOK, cAnAcc, nAn, nSF, nAnalitSF, nAnalitKBK, nVal, cNot
  Local ARRAY aAcc(1)

  Select DISTINCT AccBase.Account From AccBase Where &cWhere Into ARRAY aAcc

  If _Tally = 0
     Return
  EndIf

  lOrgPO = !Empty(m.cWhereKontragent)
  cNot   = Iif(m.nType = 1, "!", "")

  For m.j = 1 To 2 
     cNameProc = Upper(Iif(m.j = 1, Left(m.cAllNameProc, 4), Right(m.cAllNameProc, 4)))

     * цикл по счетам
     For m.i = 1 To ALen(aAcc)
        If !Seek(aAcc(m.i), "AccBase", "SUBS")
          Loop
        EndIf

        Local ARRAY aAccSpSF(1), aAccSpRN(1)
        Store "" To aAccSpSF, aAccSpRN
        Store 0 To nAnalitSF, nAnalitKBK, nAnalit

        * отбор по классификатору доходов и ШФ (Доходы и Источники)
        If m.nType # 2
           * сначала смотрим кл.дох. в счете
           lOK = !Empty(AccBase.RN_KLSDOH)
           If m.lOK And !(Seek(AccBase.RN_KLSDOH, "BKlsDoh", "RN") And Iif(m.nType = 1, BKlsDoh.KLS_TYPE = 0, BKlsDoh.KLS_TYPE > 0))
             Loop
           EndIf
           * ШФ
           If !m.lOk
             lOK = AccBase.TFIN_TYPE = 1 And !Empty(AccBase.RN_TFIN)
             If m.lOK
               Select F.RN ;
                 From fSbFBase F ;
                   Inner Join PRF_ECLS P On F.RN_ECLSD = P.RN ;
                 Where F.RN = ?AccBase.RN_TFIN And ;
                       &cNot.(P.MNEMO = '171' Or InList(Left(AllTrim(P.MNEMO), 2), '51', '61', '54', '64', '71', '81', '72', '82')) ;
                 To SCREEN NOCONSOLE
               If _Tally = 0
                 Loop
               EndIf
             EndIf
           EndIf

           * если в счете нет ссылки на кл.дох. и ШФ, смотрим в аналитике
           If !m.lOK and ('3' $ AccBase.ORG_AN Or AccBase.TFIN_TYPE = 2 And '9' $ AccBase.SMETA_AN)
              nAnalitKBK = At("3", AccBase.Org_AN)
              nAnalitSF  = At("9", AccBase.SMETA_AN)

              Select S.SAccount, 0 As Type ;
                From AccSpec S ;
                  Inner Join BKlsDoh B On S.RN_KLSDOH = B.RN ;
                Where S.Master_RN = ?AccBase.RN And ;
                      S.Level = ?m.nAnalitKBK And Iif(?m.nType = 1, B.KLS_TYPE = 0, B.KLS_TYPE > 0) ;
              Union ALL ;
              Select S.SAccount, 2 As Type ;
                From AccSpec S ;
                  Inner Join fSbFBase F On S.RN_TFIN = F.RN ;
                  Inner Join PRF_ECLS P On F.RN_ECLSD = P.RN ;
                Where S.Master_RN = ?AccBase.RN And S.Level = ?m.nAnalitSF And ;
                      &cNot.(P.MNEMO = '171' Or InList(Left(AllTrim(P.MNEMO), 2), '51', '61', '54', '64', '71', '81', '72', '82')) ;
                Into Array aAccSpSF

              lOK = _Tally # 0
           EndIf

           If !m.lOK
              Loop
           EndIf
        EndIf

        * отбор по шаблону финансирования для счетов расходов (Расходы)
        If m.nType = 2
           * сначала смотрим в счете
           lOK = AccBase.TFIN_TYPE = 1 And !Empty(AccBase.RN_TFIN)
           If m.lOK And !(Seek(AccBase.RN_TFIN, "fSbFBase", "RN") And !IsNull(fSbFBase.RN_VIDR) And !Empty(fSbFBase.RN_VIDR))
             Loop
           EndIf
        
           * если в счете нет ссылки на ш.фин., смотрим в аналитике
           If !m.lOK And AccBase.TFIN_TYPE = 2 And '9' $ AccBase.SMETA_AN
              nAnalitSF = At("9", AccBase.SMETA_AN)
              Select S.SAccount, 2 As Type ;
                From AccSpec S ;
                  Inner Join fSbFBase F On S.RN_TFIN = F.RN ;
                Where S.Master_RN = ?AccBase.RN And S.Level = ?m.nAnalitSF And ;
                      !IsNull(F.RN_VIDR) And !Empty(F.RN_VIDR) ;
                Into Array aAccSpSF

              lOK = _Tally # 0
           EndIf

           If !m.lOK
              Loop
           EndIf
        EndIf

        * отбор по бюджетному учреждению
        If m.lOrgPO
           nAnalit = At("1", AccBase.Org_An)

           If m.nAnalit = 0
              Loop
           EndIf

           cWhereKnt = "AccSpec.Master_Rn = '" + AccBase.RN + "' And AccSpec.Level = " + Str(m.nAnalit, 1) + " And " + m.cWhereKontragent

           Select AccSpec.SAccount ;
             From AccSpec ;
               Inner Join OrgBase On OrgBase.RN = AccSpec.RN_TOrg ;
             Where &cWhereKnt ;
             Into Array aAccSpRN

           If _Tally = 0
              Loop
           EndIf
        EndIf

        * цикл по аналитическим счетам
        For m.nAn = 1 To ALen(aAccSpRN)
           For m.nSF = 1 To ALen(aAccSpSF, 1)
              cAnAcc = ""
              If m.nAnalit # 0 Or m.nAnalitSF # 0 Or m.nAnalitKBK # 0
                 cAnAcc = "[,,,,,]"
                 If m.nAnalit # 0   && Бюджетное учреждение
                    cAnAcc = Left(m.cAnAcc, AT(",", m.cAnAcc, m.nAnalit)) + aAccSpRN[m.nAn] + SubStr(m.cAnAcc, At(",", m.cAnAcc, m.nAnalit) + 1)
                 EndIf
                 If m.nAnalitSF # 0 And aAccSpSF[m.nSF, 2] = 2   && ШФ
                    cAnAcc = Left(m.cAnAcc, AT(",", m.cAnAcc, m.nAnalitSF)) + aAccSpSF[m.nSF, 1] + SubStr(m.cAnAcc, At(",", m.cAnAcc, m.nAnalitSF) + 1)
                 EndIf
                 If m.nAnalitKBK # 0 And aAccSpSF[m.nSF, 2] # 2   && КБК
                    cAnAcc = Left(m.cAnAcc, AT(",", m.cAnAcc, m.nAnalitKBK)) + aAccSpSF[m.nSF, 1] + SubStr(m.cAnAcc, At(",", m.cAnAcc, m.nAnalitKBK) + 1)
                 EndIf
              EndIf

              If InList(m.cNameProc, "OSDB", "OSCR")
                 nVal   = Solver.&cNameProc.(aAcc(m.i) + m.cAnAcc, m.cDateB)
                 cPerem = m.cPerem + Iif(m.j = 1, m.nVal, - m.nVal)
              EndIf
              If InList(m.cNameProc, "OBDB", "OBCR")
                 nVal   = Solver.&cNameProc.(aAcc(m.i) + m.cAnAcc, m.cDateB, m.cDateE)
                 cPerem = m.cPerem + Iif(m.j = 1, m.nVal, - m.nVal)
              EndIf
           Next
        Next
     Next

     If !(";" $ m.cAllNameProc)   && 1 остаток / оборот
        Exit
     EndIf
  Next

  cPerem = Round(m.cPerem, 2)
EndProc
****


* Показатели по активно-пассивным счетам / Долгосрочная задолженность
Procedure GetSumDK
  Parameters cNRow, cSubs, isPassiv, lLong, lRolled

  Local nPos, cSubsS, cUslAcc, lZpt
  cUslAcc = ""

  Do While "," $ m.cSubs
    nPos    = AT(",", m.cSubs)
    cSubsS  = Left(m.cSubs, m.nPos - 1)
    cSubs   = SubStr(m.cSubs, m.nPos + 1)
    cUslAcc = m.cUslAcc + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubsS))) + ") = '" + m.cSubsS + "' OR "
    lZpt    = .T.
  EndDo
  cUslAcc = m.cUslAcc + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubs))) + ") = '" + m.cSubs + "'"
  If m.lZpt
    cUslAcc = "(" + m.cUslAcc + ")"
  EndIf
  cUslAcc = " And " + m.cUslAcc

  * Взаиморасчётные счета
  = SelAccFromBaseDK(m.cWhereRB  + m.cUslAcc, @nCol3Row&cNRow)
  = SelAccFromBaseDK(m.cWhereRVB + m.cUslAcc, @nCol4Row&cNRow)
  = SelAccFromBaseDK(m.cWhereRR  + m.cUslAcc, @nCol5Row&cNRow)
  = SelAccFromBaseDK(m.cWhereRB  + m.cUslAcc, @nCol7Row&cNRow, .T.)
  = SelAccFromBaseDK(m.cWhereRVB + m.cUslAcc, @nCol8Row&cNRow, .T.)
  = SelAccFromBaseDK(m.cWhereRR  + m.cUslAcc, @nCol9Row&cNRow, .T.)
  If m.lLong And m.lRolled
    isPassiv = !m.isPassiv
    = SelAccFromBaseDK(m.cWhereRB  + m.cUslAcc, @nCol3Row&cNRow)
    = SelAccFromBaseDK(m.cWhereRVB + m.cUslAcc, @nCol4Row&cNRow)
    = SelAccFromBaseDK(m.cWhereRR  + m.cUslAcc, @nCol5Row&cNRow)
    = SelAccFromBaseDK(m.cWhereRB  + m.cUslAcc, @nCol7Row&cNRow, .T.)
    = SelAccFromBaseDK(m.cWhereRVB + m.cUslAcc, @nCol8Row&cNRow, .T.)
    = SelAccFromBaseDK(m.cWhereRR  + m.cUslAcc, @nCol9Row&cNRow, .T.)
  EndIf

  * Невзаиморасчётные счета
  If !m.lLong
    = SelAccFromBaseNoDK(m.cWhereRB  + m.cUslAcc, @nCol3Row&cNRow)
    = SelAccFromBaseNoDK(m.cWhereRVB + m.cUslAcc, @nCol4Row&cNRow)
    = SelAccFromBaseNoDK(m.cWhereRR  + m.cUslAcc, @nCol5Row&cNRow)
    = SelAccFromBaseNoDK(m.cWhereRB  + m.cUslAcc, @nCol7Row&cNRow, .T.)
    = SelAccFromBaseNoDK(m.cWhereRVB + m.cUslAcc, @nCol8Row&cNRow, .T.)
    = SelAccFromBaseNoDK(m.cWhereRR  + m.cUslAcc, @nCol9Row&cNRow, .T.)
  EndIf

  = CurClose("curAcc,crsAccSpRN")
EndProc
****


Procedure SelAccFromBaseDK
  LParameters cWhere, nVal, lEnd

  If !RepG151.GetComRepPrm151("0503773", @lNoError, m.cWhere + " And InList(AccBase.S_ANALITYC, 9, 10, 11, 12)")
    Return
  EndIf

  Local cJoinAn, cWhereBU, dDate1, dDate2, dDateL, cWhereLong, nVal1, cBM, dDate6
  Local ARRAY arrSum[1]
  Store 0  To nVal1
  Store "" To cJoinAn, cWhereBU
  cBM = Iif(m.isPassiv, "<", ">")

  * Отбор записей по контрагенту
  If !SetFilterByBU(@cJoinAn, @cWhereBU)
    Return
  EndIf

  * Долгосрочная задолженность
  dDateL = Iif(m.lEnd, GoMonth(m.dDateEnd, 12), m.dDateEnd)
  cWhereLong = Iif(m.lLong, "And D.DATE_END >= ?m.dDateL", "")

  * Даты (период)
  If !m.lEnd
    dDate1 = DOX(m.dDateBegin, 3)
    dDate2 = m.dDateBegin - 1
  Else
    dDate1 = m.dDateEnd
    dDate2 = {}
  EndIf

  * Хранимый остаток на начало периода
  Select D.RN, D.RN_ACC, D.RN_AGENT, ;
         D.RN_CURR, D.RN_ORGPU, D.RN_ACC_A1, D.RN_ACC_A2, D.RN_ACC_A3, D.RN_ACC_A4, D.RN_ACC_A5, ;
         D.RN_BASE, D.NUM_BASE, D.DATE_BASE, D.RN_MARK, ;
         D.SUME_BEGIN As SUM ;
    From DkBase D ;
      Inner Join curAcc A On D.RN_ACC = A.RN ;
      &cJoinAn ;
    Where D.Period = ?m.dDate1 &cWhereBU &cWhereLong ;
    Into CURSOR cTmpDK READWRITE

  * обороты по взаиморасчетным счетам
  If m.dDate1 <= m.dDate2
    Scan
      Select S.DATE_EOP, S.RN, SP.ACC_TYPE, S.SUM_EQUAL as SUM ;
        From DKSpec SP ;
          Inner Join EopSpMir S On SP.RN_EOSpec = S.RN ;
        Where SP.Master_RN = ?cTmpDK.RN And Between(S.DATE_EOP, ?m.dDate1, ?m.dDate2) ;
        Order By 1, 2 ;
        Into CURSOR cTmpEo

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

      Use In cTmpEo
    EndScan
  EndIf

  * Обособленные операции
  If !Empty(Iif(m.lEnd, m.cWhere5, m.cJournalOp))
    Select cTmpDK
    Index On RN Tag RN
    Index On RN_CURR + RN_AGENT + RN_ORGPU + RN_ACC_A1 + RN_ACC_A2 + RN_ACC_A3 + RN_ACC_A4 + RN_ACC_A5 + ;
             RN_BASE + NUM_BASE + DToS(DATE_BASE) + RN_MARK Tag UNI

    * Операции по исправлению ошибок прошлых лет (периодов)
    If !m.lEnd And !Empty(m.cJournalOp)
      Select B.DATE_EOP, SP.Master_RN As RN, S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S  On B.RN    = S.Master_RN ;
          Inner Join DKSpec  SP On S.RN    = SP.RN_EOSpec ;
          Inner Join curAcc  A  On S.RN_DB = A.RN ;
          Left  Join AccBase DB On S.RN_DB = DB.RN ;
          Left  Join AccBase KR On S.RN_KR = KR.RN ;
        Where Between(B.DATE_EOP, ?m.dDateBegin, ?m.dDate5) ;
          And SP.ACC_TYPE = "D" ;
          And (S.RN_MO = ?m.cJournalOp Or Nvl(DB.RN_MO, Space(4)) = ?m.cJournalOp Or Nvl(KR.RN_MO, Space(4)) = ?m.cJournalOp) ;
      UNION ALL ;
      Select B.DATE_EOP, SP.Master_RN As RN, -S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S  On B.RN    = S.Master_RN ;
          Inner Join DKSpec  SP On S.RN    = SP.RN_EOSpec ;
          Inner Join curAcc  A  On S.RN_KR = A.RN ;
          Left  Join AccBase DB On S.RN_DB = DB.RN ;
          Left  Join AccBase KR On S.RN_KR = KR.RN ;
        Where Between(B.DATE_EOP, ?m.dDateBegin, ?m.dDate5) ;
          And SP.ACC_TYPE = "K" ;
          And (S.RN_MO = ?m.cJournalOp Or Nvl(DB.RN_MO, Space(4)) = ?m.cJournalOp Or Nvl(KR.RN_MO, Space(4)) = ?m.cJournalOp) ;
        Into CURSOR cTmp2
    EndIf

    * Операции межотчетного периода
    If m.lEnd And !Empty(m.cWhere5)
      Select SP.Master_RN As RN, -S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S  On B.RN    = S.Master_RN ;
          Inner Join curAcc  A  On S.RN_DB = A.RN ;
          Inner Join DKSpec  SP On S.RN    = SP.RN_EOSpec ;
        Where B.DATE_EOP = ?m.dDate5 And SP.ACC_TYPE = "D" And &cWhere5 ;
      UNION ALL ;
      Select SP.Master_RN As RN, S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S  On B.RN    = S.Master_RN ;
          Inner Join curAcc  A  On S.RN_KR = A.RN ;
          Inner Join DKSpec  SP On S.RN    = SP.RN_EOSpec ;
        Where B.DATE_EOP = ?m.dDate5 And SP.ACC_TYPE = "K" And &cWhere5 ;
        Into CURSOR cTmp2
    EndIf

    Scan
      dDate6 = DOX(Iif(m.lEnd, m.dDate5, DATE_EOP), 3)
      If m.dDate6 = m.dDate1
        If Seek(RN, "cTmpDK", "RN")
          Replace SUM With SUM + cTmp2.SUM In cTmpDK
        EndIf
      Else
        Select D.RN_AGENT, ;
               D.RN_CURR, D.RN_ORGPU, D.RN_ACC_A1, D.RN_ACC_A2, D.RN_ACC_A3, D.RN_ACC_A4, D.RN_ACC_A5, ;
               D.RN_BASE, D.NUM_BASE, D.DATE_BASE, D.RN_MARK ;
          From DkBase D ;
            &cJoinAn ;
          Where D.RN = ?cTmp2.RN &cWhereBU ;
          Into CURSOR cTmpDK2

        If _Tally # 0
          If !Seek(RN_CURR + RN_AGENT + RN_ORGPU + ;
                   RN_ACC_A1 + RN_ACC_A2 + RN_ACC_A3 + RN_ACC_A4 + RN_ACC_A5 + ;
                   RN_BASE + NUM_BASE + DToS(DATE_BASE) + RN_MARK, "cTmpDK", "UNI") And !m.lLong
            Insert Into cTmpDK (RN_CURR, RN_AGENT, RN_ORGPU, ;
                                RN_ACC_A1, RN_ACC_A2, RN_ACC_A3, RN_ACC_A4, RN_ACC_A5, ;
                                RN_BASE, NUM_BASE, DATE_BASE, RN_MARK) ;
               VALUES (cTmpDK2.RN_CURR, cTmpDK2.RN_AGENT, cTmpDK2.RN_ORGPU, ;
                       cTmpDK2.RN_ACC_A1, cTmpDK2.RN_ACC_A2, cTmpDK2.RN_ACC_A3, cTmpDK2.RN_ACC_A4, cTmpDK2.RN_ACC_A5, ;
                       cTmpDK2.RN_BASE, cTmpDK2.NUM_BASE, cTmpDK2.DATE_BASE, cTmpDK2.RN_MARK)
          EndIf
          Replace SUM With SUM + cTmp2.SUM In cTmpDK
        EndIf

        Use In cTmpDK2
      EndIf
    EndScan

    Use In cTmp2
  EndIf

  Select Sum(SUM) As SUM From cTmpDK Where SUM &cBM 0 Into ARRAY arrSum

  If _Tally # 0
    nVal1 = Iif(m.isPassiv, - arrSum[1], arrSum[1])
  EndIf

  Use In cTmpDK

*  nVal1 = Round(m.nVal1, 2)

  nVal = m.nVal + m.nVal1

EndProc
****


Procedure SelAccFromBaseNoDK
  LParameters cWhere, nVal, lEnd

  If !RepG151.GetComRepPrm151("0503773", @lNoError, m.cWhere + " And !InList(AccBase.S_ANALITYC, 9, 10, 11, 12)")
    Return
  EndIf

  Local cJoinAn, cJoinAnD, cJoinAnK, cWhereBU, nVal1, dDate1, dDate2
  Local ARRAY arrSum[1]
  Store "" To cJoinAn, cWhereBU

  * Даты (период)
  If !m.lEnd
    dDate1 = DOX(m.dDateBegin, 3)
    dDate2 = m.dDateBegin - 1
  Else
    dDate1 = m.dDateEnd
    dDate2 = {}
  EndIf

  * Отбор записей по контрагенту
  If !SetFilterByBU(@cJoinAn, @cWhereBU)
    Return
  EndIf
  cJoinAn  = StrTran(m.cJoinAn, "D.RN_ACC_A", "S.RN_AC_A")
  cJoinAnD = StrTran(m.cJoinAn, "RN_AC_A", "RN_DB_A")
  cJoinAnK = StrTran(m.cJoinAn, "RN_AC_A", "RN_KR_A")

  Select curAcc
  Scan
    Store 0 To nVal1

    If Empty(m.cWhereKontragent)
      Select Sum(SUMM_DB_EQUAL - SUMM_KR_EQUAL) As SUM ;
        From AcRest ;
        Where DATE_REST = ?m.dDate1 And RN_ACCOUNT = ?curAcc.RN ;
        Into ARRAY arrSum
    Else
      Select Sum(S.SUMM_DB_EQUAL - S.SUMM_KR_EQUAL) As SUM ;
        From AcRest R ;
          Inner Join AcAnRest S On R.RN = S.MASTER_RN ;
          &cJoinAn ;
        Where R.DATE_REST = ?m.dDate1 And R.RN_ACCOUNT = ?curAcc.RN &cWhereBU ;
        Into ARRAY arrSum
    EndIf

    If _Tally # 0
      nVal1 = arrSum[1]
    EndIf

    * обороты
    If m.dDate1 <= m.dDate2
      Select S.SUM_EQUAL As SUM ;
        From EopSpMir S ;
          &cJoinAnD ;
        Where Between(S.DATE_EOP, ?m.dDate1, ?m.dDate2) And S.RN_DB = ?curAcc.RN &cWhereBU ;
      UNION ALL ;
      Select -S.SUM_EQUAL As SUM ;
        From EopSpMir S ;
          &cJoinAnK ;
        Where Between(S.DATE_EOP, ?m.dDate1, ?m.dDate2) And S.RN_KR = ?curAcc.RN &cWhereBU ;
        Into CURSOR cTmp2

      Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

      If _Tally # 0
        nVal1 = m.nVal1 + arrSum[1]
      EndIf

      Use In cTmp2
    EndIf

    * Операции по исправлению ошибок прошлых лет
    If !m.lEnd And !Empty(m.cJournalOp)
      Select S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S  On B.RN = S.Master_RN ;
          Left  Join AccBase DB On S.RN_DB = DB.RN ;
          Left  Join AccBase KR On S.RN_KR = KR.RN ;
          &cJoinAnD ;
        Where Between(B.DATE_EOP, ?m.dDateBegin, ?m.dDate5) And S.RN_DB = ?curAcc.RN &cWhereBU ;
          And (S.RN_MO = ?m.cJournalOp Or Nvl(DB.RN_MO, Space(4)) = ?m.cJournalOp Or Nvl(KR.RN_MO, Space(4)) = ?m.cJournalOp) ;
      UNION ALL ;
      Select -S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S  On B.RN = S.Master_RN ;
          Left  Join AccBase DB On S.RN_DB = DB.RN ;
          Left  Join AccBase KR On S.RN_KR = KR.RN ;
          &cJoinAnK ;
        Where Between(B.DATE_EOP, ?m.dDateBegin, ?m.dDate5) And S.RN_KR = ?curAcc.RN &cWhereBU ;
          And (S.RN_MO = ?m.cJournalOp Or Nvl(DB.RN_MO, Space(4)) = ?m.cJournalOp Or Nvl(KR.RN_MO, Space(4)) = ?m.cJournalOp) ;
        Into CURSOR cTmp2

      Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

      If _Tally # 0
        nVal1 = m.nVal1 + arrSum[1]
      EndIf

      Use In cTmp2
    EndIf

    * Операции межотчетного периода
    If m.lEnd And !Empty(m.cWhere5)
      Select S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S On B.RN = S.Master_RN ;
          &cJoinAnD ;
        Where B.DATE_EOP = ?m.dDate5 And &cWhere5 And S.RN_DB = ?curAcc.RN &cWhereBU ;
      UNION ALL ;
      Select -S.SUM_EQUAL As SUM ;
        From EopBase B ;
          Inner Join EopSpec S On B.RN = S.Master_RN ;
          &cJoinAnK ;
        Where B.DATE_EOP = ?m.dDate5 And &cWhere5 And S.RN_KR = ?curAcc.RN &cWhereBU ;
        Into CURSOR cTmp2

      Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

      If _Tally # 0
        nVal1 = m.nVal1 - arrSum[1]
      EndIf

      Use In cTmp2
    EndIf

    nVal1 = Iif(m.isPassiv, - m.nVal1, m.nVal1)
*    nVal1 = Round(m.nVal1, 2)

    If m.nVal1 > 0
      nVal = m.nVal + m.nVal1
    EndIf
  EndScan

EndProc
****


* Долгосрочные права пользования
Procedure GetSumRightLong
  Parameters cNRow, cSubs, cSubs2

  Private cUslAcc, cUslAcc2
  Local nPos, cSubsS, lZpt
  Store "" To cUslAcc, cUslAcc2

  CurOpen("OrgBase")

  * Список счетов для Инвентарной картотеки
  Do While "," $ m.cSubs
    nPos    = AT(",", m.cSubs)
    cSubsS  = Left(m.cSubs, m.nPos - 1)
    cSubs   = SubStr(m.cSubs, m.nPos + 1)
    cUslAcc = m.cUslAcc + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubsS))) + ") = '" + m.cSubsS + "' OR "
    lZpt    = .T.
  EndDo
  cUslAcc = m.cUslAcc + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubs))) + ") = '" + m.cSubs + "'"
  If m.lZpt
    cUslAcc = "(" + m.cUslAcc + ")"
  EndIf
  cUslAcc = " And " + m.cUslAcc

  * Список счетов для Картотеки операций будущих периодов
  lZpt = .F.
  Do While "," $ m.cSubs2
    nPos     = AT(",", m.cSubs2)
    cSubsS   = Left(m.cSubs2, m.nPos - 1)
    cSubs2   = SubStr(m.cSubs2, m.nPos + 1)
    cUslAcc2 = m.cUslAcc2 + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubsS))) + ") = '" + m.cSubsS + "' OR "
    lZpt     = .T.
  EndDo
  cUslAcc2 = m.cUslAcc2 + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubs2))) + ") = '" + m.cSubs2 + "'"
  If m.lZpt
    cUslAcc2 = "(" + m.cUslAcc2 + ")"
  EndIf
  cUslAcc2 = " And " + m.cUslAcc2

  If m.nNoCalcLong = 0
    * Востанавливаем состояние инвентарной картотеки на начало года
    = Inv_Rest(Dox(m.dDateBegin, 1) - 1)

    = SelAccFromBaseRightLong(m.cWhereRB,  @nCol3Row&cNRow)
    = SelAccFromBaseRightLong(m.cWhereRVB, @nCol4Row&cNRow)
    = SelAccFromBaseRightLong(m.cWhereRR,  @nCol5Row&cNRow)

    = CurClose("crsInvRest")
  EndIf

  * Востанавливаем состояние инвентарной картотеки на начало следующего года
  = Inv_Rest(m.dDateEnd - 1)

  = SelAccFromBaseRightLong(m.cWhereRB,  @nCol7Row&cNRow, .T.)
  = SelAccFromBaseRightLong(m.cWhereRVB, @nCol8Row&cNRow, .T.)
  = SelAccFromBaseRightLong(m.cWhereRR,  @nCol9Row&cNRow, .T.)

  = CurClose("crsInvRest,curAcc,crsAccSpRN")

EndProc
****


Procedure SelAccFromBaseRightLong
  LParameters cWhere, nVal, lEnd

  If !RepG151.GetComRepPrm151("0503773", @lNoError, m.cWhere + m.cUslAcc)
    Return
  EndIf

  Local ARRAY arrOrgPU[1], arrSum[1]
  Local nVal1, nRstSum, cOrgPU, cJoinAn, cJoinAnD, cJoinAnK, cWhereBU, dDate1, dDateL
  Store "" To cJoinAn, cWhereBU
  dDate1 = Iif(m.lEnd, m.dDateEnd, Dox(m.dDateBegin, 1))
  dDateL = GoMonth(m.dDate1, 12)
  nVal1  = 0

  Select curAcc
  Index On RN Tag RN

  Select crsInvRest
  Scan For Seek(Rn_Account, "curAcc") And Seek (RN, "InBase", "RN") And GoMonth(InBase.Date_In, InBase.Srok) >= m.dDateL
    cOrgPU  = InBase.RN_OrgPU
    nRstSum = InBase.IN_SUM - InBase.IN_WEAR - InBase.SUMMA_AMORT - InBase.SUMMA_MCST

    Select RN_PU_NEW, InSum_New, Wear_New, Sum_Mcst_New ;
      From InSpec ;
      Where Master_RN = ?InBase.RN And Date < m.dDate1 ;
      Order By RN DESCENDING ;
      Into ARRAY arrOrgPU

      If _Tally # 0
        cOrgPU  = arrOrgPU[1]
        nRstSum = arrOrgPU[2] - arrOrgPU[3] - arrOrgPU[4]
      EndIf

    * Отбор по контрагенту
    If !Empty(m.cWhereKontragent)
      If Empty(m.cOrgPU) Or !Seek(m.cOrgPU, "OrgBase", "RN") Or !Evaluate(m.cWhereKontragent)
        Loop
      EndIf
    EndIf

    nVal1 = m.nVal1 + m.nRstSum
  EndScan

  * Картотека операций будущих периодов
  If SetFilterByBU(@cJoinAn, @cWhereBU)   && Отбор записей по контрагенту
    cJoinAn = StrTran(m.cJoinAn, "D.RN_ACC_A", "D.AN")
    cJoinAn = StrTran(m.cJoinAn, " =", "_RN =")

    Select D.RN, D.SUM_N_EQUAL ;
      From ExpsFutD D ;
        Inner Join curAcc A On D.ACC_RN = A.RN ;
        &cJoinAn ;
      Where D.Beg_Date_To < ?m.dDate1 And D.End_Date >= ?m.dDateL And D.KIND = 1 And D.SUM_N_EQUAL > 0 ;
      Into CURSOR curExpF

    If _Tally # 0
      * Сумма начислений
      Select Sum(SUM_N_EQUAL) As SUM From curExpF Into ARRAY arrSum

      If _Tally # 0
        nVal1 = m.nVal1 + arrSum[1]
      EndIf

      * Список счетов для отчислений
      Use In curAcc
      Store "" To cJoinAnD, cJoinAnK, cWhereBU

      * проверяем наличие отчислений
      If RepG151.GetComRepPrm151("0503773", @lNoError, m.cWhere + m.cUslAcc2) And SetFilterByBU(@cJoinAnD, @cWhereBU)
        cJoinAnD = StrTran(m.cJoinAnD, "D.RN_ACC_A", "S.RN_DB_A")
        cJoinAnK = StrTran(m.cJoinAnD, "S.RN_DB_A", "S.RN_KR_A")

        Select S.SUM_EQUAL As SUM ;
          From curExpF D ;
            Inner Join Unit_Ref U On D.RN = U.PARENT_RN ;
            Inner Join EopBase  B On U.CHILD_RN = B.RN ;
            Inner Join EopSpec  S On B.RN = S.Master_RN ;
            Inner Join curAcc   A On S.RN_DB = A.RN ;
            &cJoinAnD ;
          Where U.PARENT_UNT = ?m.cUnitEF And U.CHILD_UNT = ?m.cUnitEO And B.DATE_EOP < ?m.dDate1 And !Empty(U.PARENT_RN_EXT) &cWhereBU ;
        UNION ALL ;
        Select -S.SUM_EQUAL As SUM ;
          From curExpF D ;
            Inner Join Unit_Ref U On D.RN = U.PARENT_RN ;
            Inner Join EopBase  B On U.CHILD_RN = B.RN ;
            Inner Join EopSpec  S On B.RN = S.Master_RN ;
            Inner Join curAcc   A On S.RN_KR = A.RN ;
            &cJoinAnK ;
          Where U.PARENT_UNT = ?m.cUnitEF And U.CHILD_UNT = ?m.cUnitEO And B.DATE_EOP < ?m.dDate1 And !Empty(U.PARENT_RN_EXT) &cWhereBU ;
          Into CURSOR cTmp2

        Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

        If _Tally # 0
          nVal1 = nVal1 + arrSum[1]
        EndIf
      EndIf
    EndIf

    = CurClose("curExpF,cTmp2")
  EndIf

*  nVal1 = Round(m.nVal1, 2)

  nVal = m.nVal + m.nVal1

EndProc
****


* Прочие показатели
Procedure GetSumOther
  Parameters cNRow, cSubs, isPassiv, lRightLong

  Local nPos, cSubs1, cSubs2, cSubsS, cUslAcc, lZpt
  nPos    = AT("!", m.cSubs)
  cSubs1  = Iif(m.nPos = 0, m.cSubs, Left(m.cSubs, m.nPos - 1))
  cSubs2  = Iif(m.nPos = 0, "", SubStr(m.cSubs, m.nPos + 1))
  cUslAcc = ""

  Do While "," $ m.cSubs1
    nPos    = AT(",", m.cSubs1)
    cSubsS  = Left(m.cSubs1, m.nPos - 1)
    cSubs1  = SubStr(m.cSubs1, m.nPos + 1)
    cUslAcc = m.cUslAcc + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubsS))) + ") = '" + m.cSubsS + "' OR "
    lZpt    = .T.
  EndDo
  cUslAcc = m.cUslAcc + "SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubs1))) + ") = '" + m.cSubs1 + "'"
  If m.lZpt
    cUslAcc = "(" + m.cUslAcc + ")"
  EndIf
  cUslAcc = " And " + m.cUslAcc

  If !Empty(m.cSubs2)
    Do While "," $ m.cSubs2
      nPos    = AT(",", m.cSubs2)
      cSubsS  = Left(m.cSubs2, m.nPos - 1)
      cSubs2  = SubStr(m.cSubs2, m.nPos + 1)
      cUslAcc = m.cUslAcc + " And SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubsS))) + ") # '" + m.cSubsS + "'"
    EndDo
    cUslAcc = m.cUslAcc + " And SubStr(AccBase.Account, " + m.cSubPos + ", " + LTrim(Str(Len(m.cSubs2))) + ") # '" + m.cSubs2 + "'"
  EndIf

  * начало периода
  = SelAccFromBaseOther(m.cWhereRB  + m.cUslAcc, @nCol3Row&cNRow)
  = SelAccFromBaseOther(m.cWhereRVB + m.cUslAcc, @nCol4Row&cNRow)
  = SelAccFromBaseOther(m.cWhereRR  + m.cUslAcc, @nCol5Row&cNRow)

  * конец периода
  If !m.lRightLong
    = SelAccFromBaseOther(m.cWhereRB  + m.cUslAcc, @nCol7Row&cNRow, .T.)
    = SelAccFromBaseOther(m.cWhereRVB + m.cUslAcc, @nCol8Row&cNRow, .T.)
    = SelAccFromBaseOther(m.cWhereRR  + m.cUslAcc, @nCol9Row&cNRow, .T.)
  EndIf

  = CurClose("curAcc,crsAccSpRN")

EndProc
****


Procedure SelAccFromBaseOther
  LParameters cWhere, nVal, lEnd, lZabal, cZAnalit

  If !RepG151.GetComRepPrm151("0503773", @lNoError, m.cWhere)
    Return
  EndIf

  If m.lZabal
    Local lRightLong, isPassiv
  EndIf
  lEnd = Iif(IsNull(m.lEnd), .F., m.lEnd)

  Local cJoinAn, cJoinAnD, cJoinAnK, cWhereBU, cWhereZAn, cJoinZAn, cJoinZAnD, cJoinZAnK, nVal1, dDate1, dDate2
  Local ARRAY arrSum[1]
  Store 0  To nVal1
  Store "" To cJoinAn, cWhereBU, cJoinZAn, cJoinZAnD, cJoinZAnK

  * Даты (период)
  If !m.lEnd
    dDate1 = DOX(m.dDateBegin, 3)
    dDate2 = m.dDateBegin - 1
  Else
    dDate1 = m.dDateEnd
    dDate2 = {}
  EndIf

  * Отбор записей по аналитике
  If m.lZabal And !Empty(m.cZAnalit)
    cWhereZAn = Iif(Right(m.cZAnalit, 1) = "*", "Like (?m.cZAnalit, AllTrim(S.SAccount))", "S.SAccount = ?m.cZAnalit")
    Select S.RN ;
      From curAcc A ;
        Inner Join AccSpec S On A.RN = S.Master_RN ;
      Where S.Level = ?m.nAnLevel And &cWhereZAn ;
    Into CURSOR curZAnalit  

    If _Tally = 0
      Return
    Else
      Index On RN Tag RN
      cJoinZAn = "Inner Join curZAnalit zA On S.RN_AC_A" + Str(m.nAnLevel, 1) + " = zA.RN "
      cJoinZAnD = StrTran(m.cJoinZAn, "RN_AC_A", "RN_DB_A")
      cJoinZAnK = StrTran(m.cJoinZAn, "RN_AC_A", "RN_KR_A")
    EndIf
  EndIf
  
  * Отбор записей по контрагенту
  If !SetFilterByBU(@cJoinAn, @cWhereBU)
    Return
  EndIf
  cJoinAn  = StrTran(m.cJoinAn, "D.RN_ACC_A", "S.RN_AC_A")
  cJoinAnD = StrTran(m.cJoinAn, "RN_AC_A", "RN_DB_A")
  cJoinAnK = StrTran(m.cJoinAn, "RN_AC_A", "RN_KR_A")

  If !m.lRightLong
    * остатки на начало месяца
    If Empty(m.cWhereKontragent) And Empty(m.cJoinZAn)
      Select Sum(R.SUMM_DB_EQUAL - R.SUMM_KR_EQUAL) As SUM ;
        From curAcc A ;
          Inner Join AcRest R On A.RN = R.RN_ACCOUNT ;
        Where R.DATE_REST = ?m.dDate1 ;
        Into ARRAY arrSum
    Else
      Select Sum(S.SUMM_DB_EQUAL - S.SUMM_KR_EQUAL) As SUM ;
        From curAcc A ;
          Inner Join AcRest R On A.RN = R.RN_ACCOUNT ;
          Inner Join AcAnRest S On R.RN = S.MASTER_RN ;
          &cJoinZAn ;
          &cJoinAn ;
        Where R.DATE_REST = ?m.dDate1 &cWhereBU ;
        Into ARRAY arrSum
    EndIf

    If _Tally # 0
      nVal1 = arrSum[1]
    EndIf

    * обороты
    If m.dDate1 <= m.dDate2
      Select S.SUM_EQUAL As SUM ;
        From EopSpMir S ;
          Inner Join curAcc A On S.RN_DB = A.RN ;
          &cJoinZAnD ;
          &cJoinAnD ;
        Where Between(S.DATE_EOP, ?m.dDate1, ?m.dDate2) &cWhereBU ;
      UNION ALL ;
      Select -S.SUM_EQUAL As SUM ;
        From EopSpMir S ;
          Inner Join curAcc A On S.RN_KR = A.RN ;
          &cJoinZAnK ;
          &cJoinAnK ;
        Where Between(S.DATE_EOP, ?m.dDate1, ?m.dDate2) &cWhereBU ;
        Into CURSOR cTmp2

      Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

      If _Tally # 0
        nVal1 = m.nVal1 + arrSum[1]
      EndIf

      Use In cTmp2
    EndIf
  EndIf

  * Операции по исправлению ошибок прошлых лет
  If !m.lEnd And !Empty(m.cJournalOp)
    Select S.Master_RN, S.RN, S.SUM_EQUAL As SUM ;
      From EopBase B ;
        Inner Join EopSpec S  On B.RN = S.Master_RN ;
        Inner Join curAcc  A  On S.RN_DB = A.RN ;
        Left  Join AccBase DB On S.RN_DB = DB.RN ;
        Left  Join AccBase KR On S.RN_KR = KR.RN ;
        &cJoinZAnD ;
        &cJoinAnD ;
      Where Between(B.DATE_EOP, ?m.dDateBegin, ?m.dDate5) &cWhereBU ;
        And (S.RN_MO = ?m.cJournalOp Or Nvl(DB.RN_MO, Space(4)) = ?m.cJournalOp Or Nvl(KR.RN_MO, Space(4)) = ?m.cJournalOp) ;
    UNION ALL ;
    Select S.Master_RN, S.RN, -S.SUM_EQUAL As SUM ;
      From EopBase B ;
        Inner Join EopSpec S  On B.RN = S.Master_RN ;
        Inner Join curAcc  A  On S.RN_KR = A.RN ;
        Left  Join AccBase DB On S.RN_DB = DB.RN ;
        Left  Join AccBase KR On S.RN_KR = KR.RN ;
        &cJoinZAnK ;
        &cJoinAnK ;
      Where Between(B.DATE_EOP, ?m.dDateBegin, ?m.dDate5) &cWhereBU ;
        And (S.RN_MO = ?m.cJournalOp Or Nvl(DB.RN_MO, Space(4)) = ?m.cJournalOp Or Nvl(KR.RN_MO, Space(4)) = ?m.cJournalOp) ;
      Into CURSOR cTmp2 READWRITE

    If m.lRightLong   && Долгосрочные права пользования
      = CheckRightLong()
    EndIf

    Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

    If _Tally # 0
      nVal1 = m.nVal1 + arrSum[1]
    EndIf

    Use In cTmp2
  EndIf

  * Операции межотчетного периода
  If m.lEnd And !Empty(m.cWhere5)
    Select S.SUM_EQUAL As SUM ;
      From EopBase B ;
        Inner Join EopSpec S On B.RN = S.Master_RN ;
        Inner Join curAcc  A On S.RN_DB = A.RN ;
        &cJoinZAnD ;
        &cJoinAnD ;
      Where B.DATE_EOP = ?m.dDate5 And &cWhere5 &cWhereBU ;
    UNION ALL ;
    Select -S.SUM_EQUAL As SUM ;
      From EopBase B ;
        Inner Join EopSpec S On B.RN = S.Master_RN ;
        Inner Join curAcc  A On S.RN_KR = A.RN ;
        &cJoinZAnK ;
        &cJoinAnK ;
      Where B.DATE_EOP = ?m.dDate5 And &cWhere5 &cWhereBU ;
      Into CURSOR cTmp2

    Select Sum(SUM) As SUM From cTmp2 Into ARRAY arrSum

    If _Tally # 0
      nVal1 = m.nVal1 - arrSum[1]
    EndIf

    Use In cTmp2
  EndIf

*  nVal1 = Round(m.nVal1, 2)

  nVal = m.nVal + Iif(m.isPassiv, - m.nVal1, m.nVal1)

EndProc
****


* Долгосрочные права пользования
Procedure CheckRightLong

  Local dDateL
  dDateL = GoMonth(Dox(m.dDateBegin, 1), 12)

  Select cTmp2
  Scan
    * Ищем связь проводки с ИК
    Select S.RN ;
      From Unit_Ref U ;
        Inner Join InSpec S On U.Parent_RN = S.RN ;
        Inner Join InBase I On S.Master_RN = I.RN ;
      Where U.Parent_Unt = ?m.cUnitInv And U.Child_Unt = ?m.cUnitEO And U.Child_RN = ?cTmp2.Master_RN ;
        And U.Child_RN_Ext = PadR(?cTmp2.RN, 8) And (AllTrim(U.Code) == "HIST" Or AllTrim(U.Code) == "EOP_HIST") ;
        And S.Code = 1 And GoMonth(S.Date, I.Srok) >= ?m.dDateL ;
      To SCREEN NOCONSOLE

    If _Tally = 0
      * Ищем связь проводки со спецификацией картотеки операций будущих периодов
      Select S.RN ;
        From Unit_Ref U ;
          Inner Join ExpsFutS S On Left(U.Parent_RN_Ext, 4) = S.RN ;
          Inner Join ExpsFutD D On U.Parent_RN = D.RN ;
        Where U.Parent_Unt = ?m.cUnitEF And U.Child_Unt = ?m.cUnitEO And U.Child_RN = ?cTmp2.Master_RN ;
          And D.End_Date >= ?m.dDateL ;
      To SCREEN NOCONSOLE

      If _Tally = 0
        Delete In cTmp2
      EndIf
    EndIf
  EndScan

EndProc
****


Procedure SetFilterByBU
* Отбор аналитических счетов по контрагенту
  LParameters cJoinAn, cWhereBU

  Local i, s

  If !Empty(m.cWhereKontragent)
    Select AccSpec.RN, AccSpec.Master_RN ;
      From curAcc ;
        Inner Join AccSpec On curAcc.RN = AccSpec.Master_RN ;
        Inner Join OrgBase On AccSpec.RN_TOrg = OrgBase.RN ;
      Where &cWhereKontragent ;
      Into CURSOR crsAccSpRN
     
    If _Tally = 0
      Return .F.
    Else
      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 D.RN_ACC_A" + m.s + " = A" + m.s + ".RN "
      Next
      cWhereBU  = "And (!IsNull(A1.RN) Or !IsNull(A2.RN) Or !IsNull(A3.RN) Or !IsNull(A4.RN) Or !IsNull(A5.RN)) "
      Select RN From curAcc Where RN In (Select Master_RN From crsAccSpRN) Into CURSOR curAcc
    EndIf
  EndIf

EndProc
****
]]></FPC_></MSE>
  <FPC_><![CDATA[*[VFP]
RepG151.GetOutS(.T., .T.)
]]></FPC_>
  </печать>
  </отчет>
  <форма>
    <ид>f_0503730_33n_183n_2023</ид>
    <тип>XML</тип>
    <описание>
      <дополнительно>
        <desc_version>1.0</desc_version>
      </дополнительно>
      <VFP_свойство имя="Name">f_0503730</VFP_свойство>
      <VFP_свойство имя="Caption">Форма 0503730-33н_ред183н_2023</VFP_свойство>
      <VFP_свойство имя="Height">420</VFP_свойство>
      <VFP_свойство имя="Width">470</VFP_свойство>
      <VFP_метод имя="Valid"><![CDATA[LParam oThis, oThisform
Local oPg1, oPg2, oPg3, oPg31, oPg32, cUsl18B, cUsl18VB, cUsl18R, cUsl18ZB, cUsl18VZB, cUsl18RZB, c18B, c18VB, c18R, nLenVB, nLenR, c18Pos
Store "" To cUsl18B, cUsl18VB, cUsl18R
oPg1 = oThisForm.PF.Page1
oPg2 = oThisForm.PF.Page2
oPg3 = oThisForm.PF.Page3

If !Empty(oPg1.cntBalOpen.Text.Value) And Year(oPg1.cntBalOpen.Text.Value) # oPg1.cntSelYear.Value
   =ExclMes("Дата расчета показателей вступительного баланса должна относиться к отчетному году!")
   oThisForm.PF.ActivePage = 1
   oPg1.cntBalOpen.Text.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 
c18VB = oPg1.Txt18VB1.Value + oPg1.Txt18VB2.Value + ;
        oPg1.Txt18VB3.Value + oPg1.Txt18VB4.Value + ;
        oPg1.Txt18VB5.Value + oPg1.Txt18VB6.Value + ;
        oPg1.Txt18VB7.Value + oPg1.Txt18VB8.Value + ;
        oPg1.Txt18VB9.Value + oPg1.Txt18VB10.Value 
c18R  = oPg1.Txt18R1.Value + oPg1.Txt18R2.Value + ;
        oPg1.Txt18R3.Value + oPg1.Txt18R4.Value + ;
        oPg1.Txt18R5.Value + oPg1.Txt18R6.Value + ;
        oPg1.Txt18R7.Value + oPg1.Txt18R8.Value + ;
        oPg1.Txt18R9.Value + oPg1.Txt18R10.Value 

if empty(m.c18B)
   =exclmes("Не указан вид финансового обеспечения для деятельности с целевыми средствами!")
   oThisForm.PF.ActivePage = 1
   oPg1.Txt18B1.SetFocus()
   return .F.
endif
if empty(m.c18VB)
   =exclmes("Не указан вид финансового обеспечения для деятельности по оказанию услуг (работ)!")
   oThisForm.PF.ActivePage = 1
   oPg1.Txt18VB1.SetFocus()
   return .F.
endif
if empty(m.c18R)
   =exclmes("Не указан вид финансового обеспечения для средств во временном распоряжении!")
   oThisForm.PF.ActivePage = 1
   oPg1.Txt18R1.SetFocus()
   return .F.
endif

c18B   = strtran(c18B,  " ", "")
c18VB  = strtran(c18VB, " ", "")
c18R   = strtran(c18R,  " ", "")
nLenVB = len(m.c18VB)
nLenR  = len(m.c18R)

for i = 1 to len(m.c18B)
    c18VB = strtran(c18VB, substr(m.c18B, m.i, 1), "")
    c18R = strtran(c18R, substr(m.c18B, m.i, 1), "")
endfor
if m.nLenVB # len(m.c18VB)
   =exclmes("Указан одинаковый вид финансового обеспечения для деятельности с целевыми средствами и деятельности по оказанию услуг (работ)!")
   oThisForm.PF.ActivePage = 1
   oPg1.Txt18B1.SetFocus()
   return .F.
endif
if m.nLenR # len(m.c18R)
   =exclmes("Указан одинаковый вид финансового обеспечения для деятельности с целевыми средствами и средств во временном распоряжении!")
   oPg1.Txt18B1.SetFocus()
   return .F.
endif
for i = 1 to len(m.c18VB)
    c18R = strtran(c18R, substr(m.c18VB, m.i, 1), "")
endfor
if m.nLenR # len(m.c18R)
   =exclmes("Указан одинаковый вид финансового обеспечения для деятельности по оказанию услуг (работ) и средств во временном распоряжении!")
   oPg1.Txt18VB1.SetFocus()
   return .F.
endif

c18Pos = IIF(oPg1.Cmb_AccType.Value = 1, "18", "1")

* Деятельность с целевыми средствами
For m.i = 1 to Len(m.c18B)
  cUsl18B = m.cUsl18B + Iif(Empty(m.cUsl18B), "", ",") + "'" + substr(m.c18B, m.i, 1) + "'"
Next
cUsl18ZB = "(AT('з',accbase.account) > 1 and inli(SUBS(accbase.account,AT('з',accbase.account)-1,1), " + m.cUsl18B +")" + ;
           " or AT('з',accbase.account) = 0 and inli(substr(accbase.account, 1, 1), " + m.cUsl18B +"))" + ;
           " and !accbase.l_balance"
cUsl18B = "InList(substr(accbase.account, " + m.c18Pos + ", 1), " + m.cUsl18B + ")"

* Деятельность по государственному заданию
For m.i = 1 to Len(m.c18VB)
  cUsl18VB = m.cUsl18VB + Iif(Empty(m.cUsl18VB), "", ",") + "'" + substr(m.c18VB, m.i, 1) + "'"
Next
cUsl18VZB = "(AT('з',accbase.account) > 1 and inli(SUBS(accbase.account,AT('з',accbase.account)-1,1), " + m.cUsl18VB + ")" + ;
            " or AT('з',accbase.account) = 0 and inli(substr(accbase.account, 1, 1), " + m.cUsl18VB +"))" + ;
            " and !accbase.l_balance"
cUsl18VB = "InList(substr(accbase.account, " + m.c18Pos + ", 1), " + m.cUsl18VB + ")"

* Приносящая доход деятельность
For m.i = 1 to Len(m.c18R)
  cUsl18R = m.cUsl18R + Iif(Empty(m.cUsl18R), "", ",") + "'" + substr(m.c18R, m.i, 1) + "'"
Next
cUsl18RZB = "(AT('з',accbase.account) > 1 and inli(SUBS(accbase.account,AT('з',accbase.account)-1,1), " + m.cUsl18R + ")" + ;
            " or AT('з',accbase.account) = 0 and inli(substr(accbase.account, 1, 1), " + m.cUsl18R +"))" + ;
            " and !accbase.l_balance"
cUsl18R = "InList(substr(accbase.account, " + m.c18Pos + ", 1), " + m.cUsl18R +")"

*
cWhereRB  = m.cUsl18B
cWhereRVB = m.cUsl18VB
cWhereRR  = m.cUsl18R

*з.с.
cWhereBSPR  = m.cUsl18ZB
cWhereVBSPR = m.cUsl18VZB
cWhereRSPR  = m.cUsl18RZB

cWhereKontragent = oPg1.OrgFrom.GetCond()
cOrg      = oPg1.OrgFrom.GetSaveValue()
cRN_Found = oPg1.Founder.Value

cCatEO = oPg2.CmbCatEO.Value

* Каталог для выгрузки в МинФин
oPg31 = oPg3.Export.Page1
cUnlPath = oPg31.Catalog.Text.Value
If !Empty(m.cUnlPath) And !Directory(m.cUnlPath, 1)
   =exclmes("Каталог " + AllTrim(m.cUnlPath) + Chr(13) + "не существует!")
   oThisForm.PF.ActivePage = 3
   oPg3.Export.ActivePage = 1
   oPg31.Catalog.SetFocus()
   return .F.
endif
cDicIsp = oPg31.DicIsp.GetSaveValue()

oPg32 = oPg3.Export.Page2
cUnlPath4 = oPg32.Catalog4.Text.Value
cAgent_RN = oPg32.DicAgent4.Value

* Каталог для выгрузки в ГНИ 4
If !Empty(m.cUnlPath4) And !Directory(m.cUnlPath4, 1)
   =exclmes("Каталог " + AllTrim(m.cUnlPath4) + Chr(13) + "не существует!")
   oThisForm.PF.ActivePage = 3
   oPg3.Export.ActivePage = 2
   oPg32.Catalog4.SetFocus()
   Return .F.
EndIf
]]></VFP_метод>
      <VFP_метод имя="PostInit"><![CDATA[LParam oThis, oThisform
Local oPg1, oPg2, oPg3, oPg31, oPg32
oPg1 = oThisForm.PF.Page1
oPg2 = oThisForm.PF.Page2
oPg3 = oThisForm.PF.Page3
oPg1.OrgFrom.setsavevalue(m.cOrg)
oPg1.Founder.InitThis(m.cRN_Found)

oPg2.CmbMark.SetSource(UnitRn("EconOp"))
oPg2.CmbMark.Value = m.cRN_Mark
oPg2.CmbCatEO.UnitCode = "EconOp"
oPg2.CmbCatEO.InitThis(m.cCatEO)
oPg2.JournalOp.Value = m.cJournalOp

oPg31 = oPg3.Export.Page1
oPg31.Catalog.Text.value = m.cUnlPath
oPg31.DicIsp.setsavevalue(m.cDicIsp)
oPg31.fldIspName.Value = m.cIspName

oPg32 = oPg3.Export.Page2
oPg32.Catalog4.Text.Value = m.cUnlPath4
oPg32.DicAgent4.InitThis(m.cAgent_RN)
oPg32.DicAgent4.AddUpdate()
]]></VFP_метод>
      <элемент>
        <VFP_имя>Tbtndialog1</VFP_имя>
        <VFP_свойство имя="Left">190</VFP_свойство>
        <VFP_свойство имя="Top">383</VFP_свойство>
      </элемент>
      <элемент>
          <VFP_класс>TPageFrame</VFP_класс>
          <VFP_свойство имя="Name">PF</VFP_свойство>
          <VFP_свойство имя="Height">380</VFP_свойство>
          <VFP_свойство имя="Width">470</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">165</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">10</VFP_свойство>
              <VFP_свойство имя="Width">450</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_класс>TdicDate</VFP_класс>
              <VFP_свойство имя="Name">cntBalOpen</VFP_свойство>
              <VFP_свойство имя="Left">355</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <элемент>
                <VFP_имя>Text</VFP_имя>
                <VFP_свойство имя="ControlSource">dBalOpen</VFP_свойство>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Отчетный год:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">55</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>tYear</VFP_класс>
              <VFP_свойство имя="Name">cntSelYear</VFP_свойство>
              <VFP_свойство имя="ControlSource">nSelYear</VFP_свойство>
              <VFP_свойство имя="Left">370</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">85</VFP_свойство>
              <VFP_свойство имя="Caption">Учреждение:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TDicHist</VFP_класс>
              <VFP_свойство имя="Name">OrgFrom</VFP_свойство>
              <VFP_свойство имя="Left">175</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_AGENTS730_183N_2023</VFP_свойство>
              <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
              <VFP_свойство имя="condfield" тип="C">orgbase.rmnemo_org</VFP_свойство>
              <VFP_свойство имя="condfieldrn" тип="C">orgbase.rn</VFP_свойство>
              <VFP_свойство имя="enablewildcards" тип="L">.T.</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</VFP_имя>
                <дополнительно>
                  <отложенная_инициализация/>
                </дополнительно>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">115</VFP_свойство>
              <VFP_свойство имя="Caption">Учредитель:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TDicHist</VFP_класс>
              <VFP_свойство имя="Name">Founder</VFP_свойство>
              <VFP_свойство имя="Left">175</VFP_свойство>
              <VFP_свойство имя="Top">110</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_FOUND730_183N_2023</VFP_свойство>
              <VFP_свойство имя="sourceIsVar" тип="L">.T.</VFP_свойство>
              <элемент>
                <VFP_имя>DicTable</VFP_имя>
                <дополнительно>
                  <отложенная_инициализация/>
                </дополнительно>
              </элемент>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">145</VFP_свойство>
              <VFP_свойство имя="Caption">Размерность плана счетов:</VFP_свойство>
            </элемент>            
            <элемент>
              <VFP_класс>TComboBox</VFP_класс>
              <VFP_свойство имя="Left">330</VFP_свойство>
              <VFP_свойство имя="Name">Cmb_AccType</VFP_свойство>
              <VFP_свойство имя="Top">140</VFP_свойство>
              <VFP_свойство имя="Height">23</VFP_свойство>
              <VFP_свойство имя="Width">120</VFP_свойство>
              <VFP_свойство имя="BoundTo">2</VFP_свойство>
              <VFP_свойство имя="RowSourceType">1</VFP_свойство>
              <VFP_свойство имя="RowSource">26 символов,9 символов</VFP_свойство>
              <VFP_свойство имя="Style">2</VFP_свойство>
              <VFP_свойство имя="ControlSource">nAccType</VFP_свойство>
              <VFP_свойство имя="Delenabled">.F.</VFP_свойство>
              <VFP_свойство имя="NotEmpty">.T.</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">105</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">185</VFP_свойство>
              <VFP_свойство имя="Width">450</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">180</VFP_свойство>
              <VFP_свойство имя="Caption">Вид финансового обеспечения</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">200</VFP_свойство>
              <VFP_свойство имя="Caption">Деятельность с целевыми средствами:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">246</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B1</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B1</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">267</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B2</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B2</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">288</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B3</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B3</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">309</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B4</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B4</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">330</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B5</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B5</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">351</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B6</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B6</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">372</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B7</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B7</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">393</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B8</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B8</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">414</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B9</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B9</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">435</VFP_свойство>
              <VFP_свойство имя="Top">195</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18B10</VFP_свойство>
              <VFP_свойство имя="Name">Txt18B10</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">230</VFP_свойство>
              <VFP_свойство имя="Caption">Деятельность по гос. заданию:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">246</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB1</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB1</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">267</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB2</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB2</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">288</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB3</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB3</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">309</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB4</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB4</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">330</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB5</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB5</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">351</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB6</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB6</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">372</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB7</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB7</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">393</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB8</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB8</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">414</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB9</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB9</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">435</VFP_свойство>
              <VFP_свойство имя="Top">225</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18VB10</VFP_свойство>
              <VFP_свойство имя="Name">Txt18VB10</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">260</VFP_свойство>
              <VFP_свойство имя="Caption">Приносящая доход деятельность:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">246</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R1</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R1</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">267</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R2</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R2</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">288</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R3</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R3</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">309</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R4</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R4</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">330</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R5</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R5</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">351</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R6</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R6</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">372</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R7</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R7</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">393</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R8</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R8</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">414</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R9</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R9</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TTextBox</VFP_класс>
              <VFP_свойство имя="Left">435</VFP_свойство>
              <VFP_свойство имя="Top">255</VFP_свойство>
              <VFP_свойство имя="Width">16</VFP_свойство>
              <VFP_свойство имя="InputMask">N</VFP_свойство>
              <VFP_свойство имя="ControlSource">cTxt18R10</VFP_свойство>
              <VFP_свойство имя="Name">Txt18R10</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">45</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">300</VFP_свойство>
              <VFP_свойство имя="Width">450</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Забалансовые счета</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">295</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">Уровень аналитики для забалансовых счетов:</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">315</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TSpinner</VFP_класс>
              <VFP_свойство имя="ControlSource">nAnLevel</VFP_свойство>
              <VFP_свойство имя="Height">23</VFP_свойство>
              <VFP_свойство имя="Inputmask">9</VFP_свойство>
              <VFP_свойство имя="KeyboardHighValue">5</VFP_свойство>
              <VFP_свойство имя="KeyboardLowValue">0</VFP_свойство>
              <VFP_свойство имя="Left">410</VFP_свойство>
              <VFP_свойство имя="Name">aLevel</VFP_свойство>
              <VFP_свойство имя="SpinnerHighValue">5.00</VFP_свойство>
              <VFP_свойство имя="SpinnerLowValue">0.00</VFP_свойство>
              <VFP_свойство имя="Top">310</VFP_свойство>
              <VFP_свойство имя="Width">40</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">450</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">5</VFP_свойство>
              <VFP_свойство имя="Caption">Операции межотчетного периода</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">25</VFP_свойство>
              <VFP_свойство имя="Caption">Особая отметка:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>mark</VFP_класс>
              <VFP_свойство имя="Left">295</VFP_свойство>
              <VFP_свойство имя="Top">20</VFP_свойство>
              <VFP_свойство имя="Width">155</VFP_свойство>
              <VFP_свойство имя="Height">23</VFP_свойство>
              <VFP_свойство имя="Name">CmbMark</VFP_свойство>
              <VFP_свойство имя="ControlSource">cRN_Mark</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">55</VFP_свойство>
              <VFP_свойство имя="Caption">Каталог хозяйственных операций:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>tdictree</VFP_класс>
              <VFP_свойство имя="Left">295</VFP_свойство>
              <VFP_свойство имя="Top">50</VFP_свойство>
              <VFP_свойство имя="Width">155</VFP_свойство>
              <VFP_свойство имя="Name">CmbCatEO</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">45</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">95</VFP_свойство>
              <VFP_свойство имя="Width">450</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">90</VFP_свойство>
              <VFP_свойство имя="Caption">Операции по исправлению ошибок прошлых лет</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">110</VFP_свойство>
              <VFP_свойство имя="Caption">Журнал операций:</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>ordera</VFP_класс>
              <VFP_свойство имя="Left">295</VFP_свойство>
              <VFP_свойство имя="Top">105</VFP_свойство>
              <VFP_свойство имя="Width">155</VFP_свойство>
              <VFP_свойство имя="Height">23</VFP_свойство>
              <VFP_свойство имя="Name">JournalOp</VFP_свойство>
              <VFP_свойство имя="ControlSource">cJournalOp</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>T3dShape</VFP_класс>
              <VFP_свойство имя="Height">40</VFP_свойство>
              <VFP_свойство имя="Left">10</VFP_свойство>
              <VFP_свойство имя="Top">150</VFP_свойство>
              <VFP_свойство имя="Width">545</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TLabel</VFP_класс>
              <VFP_свойство имя="Caption">«Долгосрочные» показатели</VFP_свойство>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">145</VFP_свойство>
            </элемент>
            <элемент>
              <VFP_класс>TCheckBox</VFP_класс>
              <VFP_свойство имя="Left">20</VFP_свойство>
              <VFP_свойство имя="Top">165</VFP_свойство>
              <VFP_свойство имя="ControlSource">nNoCalcLong</VFP_свойство>
              <VFP_свойство имя="Name">chkNoCalcLong</VFP_свойство>
              <VFP_свойство имя="Caption">Не рассчитывать «долгосрочные» показатели на начало отчетного периода</VFP_свойство>
            </элемент>
          </элемент>
          <элемент>
            <VFP_имя>Page3</VFP_имя>
            <VFP_свойство имя="Caption">Параметры выгрузки</VFP_свойство>
            <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
            <VFP_свойство имя="FontSize">8</VFP_свойство>
            <элемент>
              <VFP_класс>TPageFrame</VFP_класс>
              <VFP_свойство имя="Name">Export</VFP_свойство>
              <VFP_свойство имя="Height">357</VFP_свойство>
              <VFP_свойство имя="Width">470</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">190</VFP_свойство>
                  <VFP_свойство имя="Left">10</VFP_свойство>
                  <VFP_свойство имя="Top">10</VFP_свойство>
                  <VFP_свойство имя="Width">450</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">5</VFP_свойство>
                  <VFP_свойство имя="Caption">Параметры</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Каталог:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">25</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TDirSelect</VFP_класс>
                  <VFP_свойство имя="Name">Catalog</VFP_свойство>
                  <VFP_свойство имя="Left">80</VFP_свойство>
                  <VFP_свойство имя="Top">20</VFP_свойство>
                  <VFP_свойство имя="Width">370</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">ИСТ:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">55</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TTextBox</VFP_класс>
                  <VFP_свойство имя="Left">390</VFP_свойство>
                  <VFP_свойство имя="Top">50</VFP_свойство>
                  <VFP_свойство имя="Width">60</VFP_свойство>
                  <VFP_свойство имя="MaxLength">3</VFP_свойство>
                  <VFP_свойство имя="ControlSource">cIST</VFP_свойство>
                  <VFP_свойство имя="Name">IST</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Исполнитель:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">85</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TDicHist</VFP_класс>
                  <VFP_метод имя="AddUpdate"><![CDATA[LParam oThis, oThisform
= CurOpen("orgbase, person")
Local oPg31
oPg31 = oThisForm.PF.Page3.Export.Page1
If !Empty(oPg31.dicIsp.Value)
  = Seek(oPg31.dicIsp.Value, "orgbase", "RN")
  If orgbase.type # '2'
    errmes("Выбранный контрагент не является физическим лицом.")
    oPg31.dicIsp.Clear()
  Else    
    = Seek(oPg31.dicIsp.Value, "person", "RN")
    oPg31.fldIspName.Value = Alltrim(person.SURName) + " " + Left(Alltrim(person.FIRSTName), 1) + "." + Left(Alltrim(person.SECONDName), 1) + "."
  ENDIF
EndIf
]]></VFP_метод>
                  <VFP_свойство имя="Name">dicIsp</VFP_свойство>
                  <VFP_свойство имя="Left">200</VFP_свойство>
                  <VFP_свойство имя="Top">80</VFP_свойство>
                  <VFP_свойство имя="Width">250</VFP_свойство>
                  <VFP_свойство имя="AreaName" тип="C">OrgBase</VFP_свойство>
                  <VFP_свойство имя="DictName" тип="C">Agnt_bms</VFP_свойство>
                  <VFP_свойство имя="RetField" тип="C">rmnemo_org</VFP_свойство>
                  <VFP_свойство имя="HistoryName" тип="C">H_AgentsFIO730_183N_2023</VFP_свойство>
                  <VFP_свойство имя="Filter">orgbase.type='2'</VFP_свойство>
                  <элемент>
                    <VFP_имя>DicTable</VFP_имя>
                      <дополнительно>
                        <отложенная_инициализация/>
                      </дополнительно>
                  </элемент>                
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">ФИО:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">115</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TTextBox</VFP_класс>
                  <VFP_свойство имя="Left">200</VFP_свойство>
                  <VFP_свойство имя="Top">110</VFP_свойство>
                  <VFP_свойство имя="Width">250</VFP_свойство>
                  <VFP_свойство имя="ControlSource">cIspName</VFP_свойство>
                  <VFP_свойство имя="Name">fldIspName</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Телефон:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">145</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TTextBox</VFP_класс>
                  <VFP_свойство имя="Left">200</VFP_свойство>
                  <VFP_свойство имя="Top">140</VFP_свойство>
                  <VFP_свойство имя="Width">250</VFP_свойство>
                  <VFP_свойство имя="ControlSource">cIspTel</VFP_свойство>
                  <VFP_свойство имя="Name">fldIspTel</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TCheckBox</VFP_класс>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">175</VFP_свойство>
                  <VFP_свойство имя="ControlSource">nEmptyRows</VFP_свойство>
                  <VFP_свойство имя="Name">chkEmptyRows</VFP_свойство>
                  <VFP_свойство имя="Caption">Выгружать строки с нулевыми значениями</VFP_свойство>
                </элемент>
              </элемент>
              <элемент>
                <VFP_имя>Page2</VFP_имя>
                <VFP_свойство имя="Caption">Выгрузка в ГНИ 4</VFP_свойство>
                <VFP_свойство имя="FontName">MS Sans Serif</VFP_свойство>
                <VFP_свойство имя="FontSize">8</VFP_свойство>
                <элемент>
                  <VFP_класс>T3dShape</VFP_класс>
                  <VFP_свойство имя="Height">180</VFP_свойство>
                  <VFP_свойство имя="Left">10</VFP_свойство>
                  <VFP_свойство имя="Top">10</VFP_свойство>
                  <VFP_свойство имя="Width">450</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">Catalog4</VFP_свойство>
                  <VFP_свойство имя="Left">80</VFP_свойство>
                  <VFP_свойство имя="Top">20</VFP_свойство>
                  <VFP_свойство имя="Width">370</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Идентификатор получателя информации:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">55</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TTextBox</VFP_класс>
                  <VFP_свойство имя="Left">390</VFP_свойство>
                  <VFP_свойство имя="Top">50</VFP_свойство>
                  <VFP_свойство имя="Width">60</VFP_свойство>
                  <VFP_свойство имя="MaxLength">4</VFP_свойство>
                  <VFP_свойство имя="ControlSource">cIdReceiver</VFP_свойство>
                  <VFP_свойство имя="Name">Receiver</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Идентификатор конечного получателя информации:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">85</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TTextBox</VFP_класс>
                  <VFP_свойство имя="Left">390</VFP_свойство>
                  <VFP_свойство имя="Top">80</VFP_свойство>
                  <VFP_свойство имя="Width">60</VFP_свойство>
                  <VFP_свойство имя="MaxLength">4</VFP_свойство>
                  <VFP_свойство имя="ControlSource">cIdReceiverMain</VFP_свойство>
                  <VFP_свойство имя="Name">ReceiverMain</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Уполномоченный представитель:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">115</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TDicHist</VFP_класс>
                  <VFP_свойство имя="Name">dicAgent4</VFP_свойство>
                  <VFP_свойство имя="Left">200</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_Agents4FIO730_183N_2023</VFP_свойство>
                  <VFP_свойство имя="Filter">OrgBase.type='2'</VFP_свойство>
                  <VFP_метод имя="AddUpdate"><![CDATA[LParam oThis, oThisForm
= CurOpen("OrgBase")
If !Empty(oThis.Value)
  = Seek(oThis.Value, "OrgBase", "RN")
  If OrgBase.type # '2'
    ErrMes("Выбранный контрагент не является физическим лицом!")
    oThis.Clear()
  EndIf
EndIf
oThis.Parent.AgentDoc.SetNotEmpty(!Empty(oThis.Value))
oThisForm.CheckNotEmpty()
]]></VFP_метод>
                  <элемент>
                    <VFP_имя>DicTable</VFP_имя>
                    <дополнительно>
                      <отложенная_инициализация/>
                    </дополнительно>
                  </элемент>                
                </элемент>
                <элемент>
                  <VFP_класс>TLabel</VFP_класс>
                  <VFP_свойство имя="Caption">Наименование документа, подтверждающего полномочия представителя:</VFP_свойство>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">140</VFP_свойство>
                </элемент>
                <элемент>
                  <VFP_класс>TTextBox</VFP_класс>
                  <VFP_свойство имя="Left">20</VFP_свойство>
                  <VFP_свойство имя="Top">155</VFP_свойство>
                  <VFP_свойство имя="Width">430</VFP_свойство>
                  <VFP_свойство имя="MaxLength">120</VFP_свойство>
                  <VFP_свойство имя="ControlSource">cAgentDoc</VFP_свойство>
                  <VFP_свойство имя="Name">AgentDoc</VFP_свойство>
                </элемент>
              </элемент>
            </элемент>
         </элемент>
       </элемент>
    </описание>
  </форма>
</Модуль>
