{~Exch2353_SetPurposeGrantToADD_KLASS_RCP
  Exchange #2353
  раздел "5 Функциональные требования", пп.1-пп.4  }

{ выгрузка класса 11:
    1) Платежного поручения В поле PPST.ADD_KLASS_RCP каждого
       блока PPST выгружать значение из поля "Код субсидии получателя".
    2) Заявки на оплату расходов по формату Заявки на кассовый расход:
       В поле ZRST. ADD_KLASS_RCP каждого блока ZRST выгружать значение из
       поля "Код субсидии получателя".

  если поля нет в XML записи (для пред.версий), то оно не экспортируется.
  если в поле =0 возвращать пустую строку.
  поле находится в шапке документа!}
procedure Exch2353_SetPurposeGrantToADD_KLASS_RCP( var aTo: Variant;
                                                   var aFrom: Variant);
begin
  try



{
    // #2356 - необходим фильтр на версию 2.28.0.52, поскольку изменения
    // пересекаются со старыми версиями. в случае, если версия АЦК финансы
    // будет более ранняя - операцию выгрузки кода не выполняем.
    if CompareVersionAZK_Finance( 'Выгрузка поля "Код субсидии получателя"',
                                  '2.28.0.52',
                                   FALSE)
      then begin
}

        // exchange #2412 - расширенная выгрузка кода цели с учетом типа КБК
        // и доп.кодов
//        if XmlAttrExists( aFrom.parentNode, 'PURPOSEFULGRANT_HEAD_ID') then begin
        if NOT VarIsNull( aFrom.parentNode.GetAttribute( 'PURPOSEFULGRANT_HEAD_ID'))
          then begin
            aTo.setAttribute( 'ADD_KLASS_RCP',
                              GetPurposeFulgrantCodeOld(
                                  aFrom.parentNode.getAttribute(
                                                    'PURPOSEFULGRANT_HEAD_ID'),
                                  TRUE));
            
          end;
//      end;
      
    except
      ExceptionLog( 'Сбой: Un_Exch2353.Exch2353_SetPurposeGrantToADD_KLASS_RCP');
  end;
end;

{~Exch2353_SetGrantInvestmentToADD_KLASS_RCP
  Exchange #2353
  выгрузка класса 195:
    1) Заявки БУ/АУ на выплату средств по формату Заявки на кассовый расход
       В поле ZRST. ADD_KLASS_RCP каждого блока ZRST выгружать значение из
       поля "Код субсидии/инвестиции получателя"
    2) Заявки БУ/АУ на выплату средств по формату Платежного поручения В поле
       PPST.ADD_KLASS_RCP каждого блока PPST выгружать значение из поля
       "Код субсидии/инвестиции получателя"

  если поля нет в XML записи (для пред.версий), то оно не экспортируется.
  если в поле =0 возвращать пустую строку.
  поле находится в шапке документа!}
procedure Exch2353_SetGrantInvestmentToADD_KLASS_RCP( var aTo: Variant;
                                                      var aFrom: Variant);
var
  xCode: String;
begin
  try
    


{
    // #2356 - необходим фильтр на версию 2.28.0.52, поскольку изменения
    // пересекаются со старыми версиями. в случае, если версия АЦК финансы
    // будет более ранняя - операцию выгрузки кода не выполняем.
    if CompareVersionAZK_Finance( 'Выгрузка поля "Код субсидии/инвестиции получателя"',
                                  '2.28.0.52',
                                   FALSE)
      then begin
}

//        if XmlAttrExists( aFrom.parentNode, 'GRANTINVESTMENT_HEAD_ID') then begin
        if NOT VarIsNull( aFrom.parentNode.GetAttribute( 'GRANTINVESTMENT_HEAD_ID'))
          then begin
            xCode := GetGrantInvestmentCodeByID(
                                  aFrom.parentNode.getAttribute(
                                                'GRANTINVESTMENT_HEAD_ID'), TRUE);
            if(StringReplace(xCode, '0', '') = '') then
              xCode := '';
            aTo.setAttribute( 'ADD_KLASS_RCP',
                              xCode);
            
          end;
//      end;
    
    except
      ExceptionLog( 'Сбой: Un_Exch2353.Exch2353_SetGrantInvestmentToADD_KLASS_RCP');
  end;
end;

begin
end.
