Auftragsverwaltung
Nicht nur Standard Abläufe wie Angebot-Auftrag-Lieferschein-Rechnung können erstellt werden, über frei Konfigurierbare Auftragstypen können viele Prozesse im Unternehmen abgebildet werden.
mehr

image01

Multiprojektverwaltung
mit der Aufgaben weder Nutzer noch Projektgebunden sind. Termine und Abhängigkeiten können über mehrere Projekte hinweg gesetzt werden.
mehr

image01

Dokumentenmanagement
Dateien und Verzeichnisse können an jedem Element verwaltet werden. Alte Dateistände, Datenbankweite Verknüpfungen, Sepzielle Aktionen sind möglich.
mehr

image01

Nachrichtenverwaltung
e-Mail, RSS Feeds,SMS u.ä. können hier verwaltet werden.
mehr

image01
Die Elemente im Promet werden durch Klassen abgebildet. Über diese kann man Zugriff auf alle Felder der entsprechenden Datenbanktabelle erlangen, sie stellen generelle Funktionen z.B. zum Suchen, Filtern u.s.w. zur Verfügung. Wie auch speziellere Funktionen z.b. in einer Adresse zum dekodieren einer Adresse aus einem String.

Beispiel:

Auf Artikel,Stücklisten u.ä. wird z.b. über die Klasse TMasterdata zugegriffen. Mit
myMasterdata := TMasterdata.Create;

erstellen Sie sich eine Instanz der Klasse (die Klasse kann man sehen wie "Hund", Instanz wie "Bello").

Nehmen Wie an, Sie möchten einen Artikel gezielt manipulieren. Sie kennen die Artikelnummer.
myMasterdata.SelectByID('1040');
myMasterdata.Open;

Würde jetzt den Datenbankzugriff vorbereiten, mit .Open; würden dei Daten aus der Datenbank geholt.Das ist getrennt, weil Sie nach dem Selektieren noch weitere Parameter setzen könnten, z.b. ActualLimit beeinflusst wie viele Ergebnisse maximal aus der Datenbank abgerufen werden. Oder in ActualFilter haben Sie danach einen Filter gesetzt, den könnten Sie um weitere Kriterien erweitern.

Nun könenn Sie auf Fehler zugreifen.
myMasterdata.FieldByName('NAME').AsString
würde z.b. den Inhalt des Feldes Name als String (Zeichenkette) zurückgeben.

Möchten Sie Daten schreiben, müssen Sie myMasterdata vorher in den Editiermodus bringen
myMasterdata.Edit;

Nun können Sie z.b. mit
myMasterdata.FieldByName('NAME').AsString := 'Neuer Name';

Den namen ändern.

Mit
myMasterData.Post;

schreiben Sie die Änderungen in die Datenbank.