procedure Exch2410_ExchangeField_PURPOSEFULGRANT_ID(
                              var aDopDocLine: Variant;
                              aFieldName_PurposegrantID: string;
                              aValue: string);
begin

    try
      if (aFieldName_PurposegrantID <> 'PURPOSEFULGRANT_ID') then
        if NOT XmlAttrExists( aDopDocLine, aFieldName_PurposegrantID) then
          if XmlAttrExists( aDopDocLine, 'PURPOSEFULGRANT_ID') then begin
            aDopDocLine.SetAttribute(
                              aFieldName_PurposegrantID,
                              aDopDocLine.GetAttribute( 'PURPOSEFULGRANT_ID'));
            aDopDocLine.SetAttribute(
                              'PURPOSEFULGRANT_ID',
                              aValue);

          end;
      except
        ExceptionLog( 'Сбой Un_Exch2410.Exch2410_ExchangeField_PURPOSEFULGRANT_ID');
    end;

end;


{ exchange #2410
  В 24 и 5 классы не проставляется код цели из файла по доходаи и
  источникам, проставляется только по расходам.
  это потому что в 2.29 код цели разделен по трем полям:
    PURPOSEFULGRANT_ID - расходы
    PURPOSEFULGRANTD_ID - доходы
    PURPOSEFULGRANTI_ID - источники.
  если заполняется только поле PURPOSEFULGRANT_ID, то прочие поля
  заполняются нулевыми значениями в АЦК-финансы.
  поэтому, тут по типу КБК определяем название поля.
  если тип КБК не распознается - оставляем название поля кода цели
  как указано в параметре aFieldName_PurposegrantID.}
function Exch2410_FieldName_PURPOSEFULGRANT_ID(
                                  aKBKType: string{;
                                  aFieldName_PurposegrantID: string}): string;
begin

    try
      case aKBKType of
        // расходная строка
        '10': Result := 'PURPOSEFULGRANT_ID';
        // источники
        '31','32': Result := 'PURPOSEFULGRANTI_ID';
        // доходы
        '20': Result := 'PURPOSEFULGRANTD_ID';

        else Result := 'PURPOSEFULGRANT_ID';//aFieldName_PurposegrantID;
      end;//case//

      except
        ExceptionLog( 'Сбой Un_Exch2410.Exch2410_FieldName_PURPOSEFULGRANT_ID');
    end;

end;

begin
end.
