TBeVatBusinessController
TBeVatBusinessController
Die Klasse TBeVatBusinessController stellt Funktionen zur Überprüfung der Validität von Umsatzsteuer-Kontexten zur Verfügung.
Funktion  | Beschreibung  | |
|---|---|---|
CbIsValidVatContext:L  | Überprüft ob das übergebene Umsatzsteuerkontext-BO für den übergebenen Länder-ISO-Code und das Datum gültig ist.  | |
Parameter  | Beschreibung  | |
aBO:O  | TBeVatContextBO  | |
aVatISOCode:N  | Länder-ISO-Code  | |
aDate:D  | Datum  | |
CbHasIntersectionForDescription:L  | Überprüft ob für das übergebene Umsatzsteuerkontext-BO Gültigkeitsüberschneidungen mit anderen Umsatzsteuerkontext-BOs der gleichen Bezeichnung vorliegen.  | |
Parameter  | Beschreibung  | |
aBO:O  | TBeVatContextBO  | |
Beispiel
//##############################################################################
//##############################################################################
// Beschreibung: TBeVatContextBO und TBeVatContextBusinessController
//               Mit dem TBeVatContextBO werden Informationen zum
//               Umsatzsteuerkontexte abgerufen.
//               Mit dem TBeVatContectBusiness-Controller
//               werden Einträge auf Gültigkeit unter bestimmten
//               Vorraussetzungen geprüft
//##############################################################################
//##############################################################################
|
  m_oVatBusinessController, m_oBeVatContextBO, m_dDate, m_nIsoCode
|
//******************************************************************************
// Umsatzsteuer-Kontext-Datensatz erstellen mit Hilfe des BeVatContextBOs
//******************************************************************************
m_oBeVatContextBO := CreateObject('TBeVatContextBO'),
startseq
   m_oBeVatContextBO.CbInsert(),
   startseq
      m_oBeVatContextBO.CbVatISOCode  := 'DE',
      m_oBeVatContextBO.CbValidFrom   := Now() - 7,
      m_oBeVatContextBO.CbValidTo     := Now() + 7,
      m_oBeVatContextBO.CbDescription := 'Aktueller Kontext',
      m_oBeVatContextBO.CbVatRate1    := 1.1,
      m_oBeVatContextBO.CbPost(),
      //************************************************************************
      // Umsatzsteuer-Kontext gegen beliebiges Datum auf Gültigkeit prüfen
      //************************************************************************
      m_dDate := InputBox('Datum', 'Datum zur Gültigkeitsprüfung eingeben:', DtoC(Now())),
      if not m_oBeVatContextBO.CbCheckValidDate(CToD(m_dDate)) then
         Meld('Zum Datum ' + m_dDate + ' ist der Umsatzsteuerkontext nicht gültig.'),
      endif,
      //************************************************************************
      // TBeVatBusinessController erstellen
      //************************************************************************
      m_oVatBusinessController := CreateObject("TBeVatBusinessController"),
      startseq
         m_oVatBusinessController.CbDataModule := m_oBeVatContextBO.CbDataModule,
         // ISO-Code prüfen
         m_nIsoCode := InputBox('ISO-Code', 'ISO-Code eingeben:', 'DE'),
         //*********************************************************************
         // Prüft ob der Umsatsteuerkontext gültig ist
         // Dafür muss der Länder-ISO-Code übereinstimmen und das Datum gültig
         // sein
         //*********************************************************************
         if m_oVatBusinessController.CbIsValidVatContext(m_oBeVatContextBO, m_nIsoCode,
                                                         CtoD(m_dDate)) then
            Meld('Der Umsatzsteuer-Kontext ist gültig.'),
         else
            Meld('Der Umsatzsteuer-Kontext ist NICHT gültig!'),
         endif,
         m_oBeVatContextBO.CbInsert(),
         startseq
            m_oBeVatContextBO.CbVatISOCode  := 'DE',
            m_oBeVatContextBO.CbValidFrom   := CtoD(InputBox('Datum', 'Neuer Umsatzsteuerkontext gültig ab:', DtoC(Now()))),
            m_oBeVatContextBO.CbValidTo     := m_oBeVatContextBO.CbValidFrom + 7,
            m_oBeVatContextBO.CbDescription := 'Aktueller Kontext',
            m_oBeVatContextBO.CbMemo        := 'NEU',
            m_oBeVatContextBO.CbVatRate1    := 1.2,
            //******************************************************************
            // Prüft ob Umsatzsteuerkontexte mit der gleichen Bezeichnung
            // existieren und sich im Gültigkeitsbereich überschneiden
            //******************************************************************
            if m_oVatBusinessController.CbHasIntersectionForDescription(m_oBeVatContextBO) then
               m_oBeVatContextBO.CbCancel(),
               Meld('Ein Umsatzsteuerkontext mit gleicher Bezeichnung ist bereits vorhanden und' + CRLF +
                    'überschneidet sich im Gültigkeitsbereich mit dem neuen Umsatzsteuerkontext!'),
            else
               m_oBeVatContextBO.CbPost(),
               Meld('Neuer Umsatzsteuerkontext wurde angelegt.'),
            endif,
         onerror
            m_oBeVatContextBO.CbCancel(),
            meld(GetErrorText()),
         stopseq,
      always
         DestroyObject(m_oVatBusinessController),
      stopseq
   onerror
      m_oBeVatContextBO.CbCancel(),
      meld(GetErrorText()),
   stopseq,
always
   DestroyObject(m_oBeVatContextBO),
stopseq