Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

MethodeBeispiel
insert
Codeblock
public class Bestellunganlegen implements InsertRule {
    public void insert(InsertContext context) throws BusinessException { 

        Anfrageposition newPos = new Anfrageposition();
        
        Artikel myArticel = QueryProvider.getById(Artikel.class, 40465351L);
        Lager myLager = QueryProvider.getById(Lager.class, 40276065L);
   
        newPos.setPositionsnr(0);        
        newPos.setArtikelId(myArticel.getId());
        newPos.setAnzahl(2.0d);
        newPos.setLagerId(myLager.getId());
     
        // BusinessObjectProvider.insert(newPos);
		// Ab Nuclos 4.28 bitte dies statt BusinessObjectProvider verwenden:
		// newPos.save();
    }
}

Erläuterung:

Neue BusinessObjekte werden einfach mit new instantiiert und anschließend befüllt. Denken Sie daran, dass viele Instanzen von Businessobjekten in Nuclos Referenzen auf andere Businessobjekte besitzen. In oberen Beispiel das Lager und der Artikel. In diesem Fall ermitteln Sie die Daten, z.B. mit Hilfe des QueryProviders, und weisen sie über die Id des Eintrages zu. Wurde das BusinessObjekt korrekt und vollständig befüllt, kann es mit dem Aufruf der Methode "insert" abgespeichert werden.

insertAlllDie InsertAll-Methode unterscheidet sich von der Verarbeitung der Daten nicht von der insert-Methode. Über übergebene Collection wird sequentiell abgearbeitet und die einzelnen Einträge an die insert-Methode weitergereicht.

...

MethodeBeispiel
update
Codeblock
public class Bestellunganlegen implements InsertRule {
    public void insert(InsertContext context) throws BusinessException { 
       
        Artikel myArticel = QueryProvider.getById(Artikel.class, 40465351L);
          
        myArticel.setEinstandspreis(3.99d);
        
        // BusinessObjectProvider.update(myArticel);
		// Ab Nuclos 4.28 bitte dies Stattstatt BusinessObjectProvider verwenden:
		// myArticel.save();
    }
}

Erläuterung:

Der Artikel wird mit Hilfe des QueryProviders ermitteln und verändert. Im oberen Beispiel wird der Einstandspreis eines Artikels neu geschrieben. Da der Artikel bereits in der Datenbank vorhanden ist, kann mit dem Aufruf der update-Methode der Eintrag aktualisiert werden.

updateAllDie UpdateAll-Methode unterscheidet sich von der Verarbeitung der Daten nicht von der update-Methode. Über übergebene Collection wird sequentiell abgearbeitet und die einzelnen Einträge an die update-Methode weitergereicht.

...

MethodeBeispiel
delete
Codeblock
public class Bestellpositionanlegen implements InsertRule {
    public void insert(InsertContext context) throws BusinessException { 
       
        Artikel myArticel = QueryProvider.getById(Artikel.class, 40465351L);
            
        // BusinessObjectProvider.delete(myArticel);
		// Ab Nuclos 4.28 bitte dies Stattstatt BusinessObjectProvider verwenden:
		// myArticel.delete();
		// oder noch falls die ID bekannt noch einfacher und schneller:
		Artikel.delete(40465351L);
    }
}

Erläuterung:

Ein bestehender Artikel wird aus der Datenbank gelesen, In diesem Fall ist die Id bekannt. Der Artikel kann aber auch mittels Query aus der Datenbank ermittelt werden. Anschließend wird der Eintrag physikalisch aus der Datenbank gelöscht. Anzumerken ist, dass das Löschen ein Standardprozess in Nuclos ist. Sollten noch Verknüpfungen zwischen diesem Artikel und anderen Businessobjekten bestehen, kann der Eintrag nicht gelöscht werden. Es tritt ein Fehler auf, der zum Abbruch der gesamten Regelverarbeitung führt.

deleteAllDie deleteAll-Methode unterscheidet sich von der Verarbeitung der Daten nicht von der delete-Methode. Die übergebene Collection wird sequentiell abgearbeitet und die einzelnen Einträge an die delete-Methode weitergereicht.
deleteLogical
Codeblock
public class Bestellpositionanlegen implements InsertRule {
    public void insert(InsertContext context) throws BusinessException { 
       
        Artikel myArticel = QueryProvider.getById(Artikel.class, 40465351L);
            
        BusinessObjectProvider.deleteLogical(myArticel);
    }
}

Erläuterung:

Ein bestehender Artikel wird aus der Datenbank gelesen, In diesem Fall ist die Id bekannt. Der Artikel kann aber auch mittels Query aus der Datenbank ermittelt werden. Anschließend wird der Eintrag logisch aus der Datenbank gelöscht. Anzumerken ist, dass das Löschen ein Standardprozess in Nuclos ist. Sollten noch Verknüpfungen zwischen diesem Artikel und anderen Businessobjekten bestehen, kann der Eintrag nicht gelöscht werden. Es tritt ein Fehler auf, der zum Abbruch der gesamten Regelverarbeitung führt.
deleteLogicalAllDie deleteLogicalAll-Methode unterscheidet sich von der Verarbeitung der Daten nicht von der deleteLogical-Methode. Die übergebene Collection wird sequentiell abgearbeitet und die einzelnen Einträge an die deleteLogical-Methode weitergereicht.