{------------------------------------------------------------------------------}
{~CheckKBK_Line_SPRR
  exchange #3075
  проверка кбк в строке раздела SPRR.

  aXmlLineED - строка эд 24/39/40
  aXmlSPRR - строка из вх. файла SPRR
  aShemaLoadDopKbk - подстановка доп.фк

  результат:
    =true - все в норме.
    =false - проблема в строке. эд нельзя создавать.}
function CheckKBK_Line_SPRR( aXmlLineED, aXmlSPRR: Variant;
                             aBudgetId: string;
                             aShemaLoadDopKbk: string;
                             aOrgID: string): boolean;
var
  i: integer;
  xXmlLine: Variant;
  xResultCheckKBK: boolean;
  xKADM: string;
  xKBK: string;
begin

    try
      Result := TRUE;

      xKBK := GetNodeAttributeEx( aXmlSPRR, 'KBK');


      aXmlLineED.SetAttribute( 'KBK', xKBK);
      aXmlLineED.SetAttribute( 'TYPE_KBK',
                               GetNodeAttributeEx( aXmlSPRR, 'TYPE_KBK'));

      Default_F_Line( aXmlLineED);

      xResultCheckKBK := DoCheckKBK(  aXmlLineED,
                                      aBudgetId,
                                      FALSE, // проверка кода цели
                                      FALSE,   // без косгу
                                      aShemaLoadDopKbk);

      if NOT xResultCheckKBK then begin
        DoCheckKBK_DetailErrorLine( i, aXmlLineED, xXmlLine);
        Result := FALSE;
      end;
      except
        ExceptionProc( 'CheckKBK_Line_SPRR');
    end;

end;

begin
end.
