Interaktion mit Objekten: Unterschied zwischen den Versionen
Aus sourceDESK Wiki
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 70: | Zeile 70: | ||
== Rechnungen == | == Rechnungen == | ||
− | + | Klasse: ''Invoice'' | |
− | == | + | '''Bestehende Rechnung abrufen / bearbeiten''' |
− | + | <source lang="php"> | |
+ | $inv = new Invoice; | ||
+ | $inv->load(123); | ||
− | == | + | $inv->getInfo(); |
− | . | + | |
+ | $inv->getId(); | ||
+ | $inv->getDate(); | ||
+ | $inv->getDueDate(); | ||
+ | $inv->getCustomNo(); | ||
+ | $inv->getClientData(); | ||
+ | $inv->getStatus(); | ||
+ | $inv->getInvoiceNo(); | ||
+ | $inv->getShortNo(); | ||
+ | $inv->getItems(); | ||
+ | $inv->getAmount(); | ||
+ | $inv->getTaxAmount(); | ||
+ | $inv->getNet(); | ||
+ | |||
+ | $user = User::getInstance($inv->getClient(), "ID"); | ||
+ | |||
+ | $inv->encashmentFile(); | ||
+ | $inv->encashmentStatus(); | ||
+ | |||
+ | $inv->setDate("2019-01-01"); | ||
+ | $inv->setDueDate("2019-01-14"); | ||
+ | $inv->setClient(5); | ||
+ | |||
+ | $inv->addItem(InvoiceItem $item); | ||
+ | |||
+ | $inv->clearClientData(); // Persistente Kundendaten zurücksetzen | ||
+ | $inv->save(); // Änderungen speichern, wichtig! | ||
+ | |||
+ | $inv->delete(); | ||
+ | </source> | ||
+ | |||
+ | '''Rechnung mit Position erstellen''' | ||
+ | <source lang="php"> | ||
+ | $invoice = new Invoice; | ||
+ | $invoice->setDate("2019-01-01"); | ||
+ | $invoice->setDueDate("2019-01-14"); | ||
+ | $invoice->setClient($user->get()['ID']); | ||
+ | $invoice->setStatus(0); | ||
+ | |||
+ | $item = new InvoiceItem; | ||
+ | $item->setDescription("Position 1"); | ||
+ | $item->setAmount(123.45); | ||
+ | $item->setTax(true); | ||
+ | |||
+ | $invoice->addItem($item); | ||
+ | |||
+ | $item = new InvoiceItem; | ||
+ | $item->setDescription("Schadensersatz (unversteuert)"); | ||
+ | $item->setAmount(2000); | ||
+ | $item->setTax(false); | ||
+ | |||
+ | $invoice->addItem($item); | ||
+ | |||
+ | $invoice->send(); | ||
+ | </source> |
Aktuelle Version vom 10. Oktober 2018, 09:08 Uhr
Sie können in sourceDESK mit verschiedenen Objekten interagieren.
Kunden
Klasse: User
Benutzer abrufen
$userByMail = User::getInstance("max@mustermann.de"); // instanceof User oder false, wenn nicht (eindeutig) gefunden $userById = User::getInstance(1, "ID"); // instanceof User oder false, wenn nicht gefunden
Benutzerdaten abrufen
$data = $user->get(); // Array
Benutzerdaten ändern
$user->set(Array( "firstname" => "Max", "lastname" => "Mustermann", )); $pwd = $user->generatePassword(); // Generiert ein zufälliges Passwort und gibt es zurück
Änderungen in Änderungsverlauf aufnehmen
$user->saveChanges("client"); // Oder "admin", jenachdem wem die Änderungen zugeschrieben werden sollen
Log-Eintrag erstellen
$user->log("Beliebige Log-Nachricht");
Lokalisierungen abrufen
$currency = $user->getCurrency(); // instanceof Currency $language = $user->getLanguage(); $nfo = $user->getNumberFormat(); $vat = $user->getVAT();
Rechnungen abrufen
$invoices = $user->getInvoices($status = -1); // Array mit Invoice-Objekten, $status = -1 -> beliebig $recurring = $user->getRecurringInvoices($status = -1); // Array mit RecurringInvoice-Objekten, $status = -1 -> beliebig $open = $user->getOpenInvoices(); // Entspricht $user->getInvoices(0); $limit = $user->getLimit(); // Zahlungslimit (Guthaben + Kreditlinie) abrufen
Login auf einer Seite prüfen/anfordern (statische Methode)
User::status();
Sonstiges
$user->getDomainPrice($tld, $type = "register"); // (Individuellen) Preis für Domain-Endung abrufen $user->addTax($amount); // Steuern auf einen Preis aufschlagen $user->getNS(); // Zu verwendende Nameserver abrufen $user->getfName(); // Formatierten Namen (inkl. Firma wenn vorhanden) abrufen $user->getContacts(); // Kontakte abrufen $user->getField($f); // Inhalt eines benutzerdefinierten Feldes abrufen $user->setField($f, $v); // Inhalt eines benutzerdefinierten Feldes setzen $user->autoScore(); // Automatisches Scoring durchführen $user->getScore(); // Scoring-Wert des Kunden abrufen
Rechnungen
Klasse: Invoice
Bestehende Rechnung abrufen / bearbeiten
$inv = new Invoice; $inv->load(123); $inv->getInfo(); $inv->getId(); $inv->getDate(); $inv->getDueDate(); $inv->getCustomNo(); $inv->getClientData(); $inv->getStatus(); $inv->getInvoiceNo(); $inv->getShortNo(); $inv->getItems(); $inv->getAmount(); $inv->getTaxAmount(); $inv->getNet(); $user = User::getInstance($inv->getClient(), "ID"); $inv->encashmentFile(); $inv->encashmentStatus(); $inv->setDate("2019-01-01"); $inv->setDueDate("2019-01-14"); $inv->setClient(5); $inv->addItem(InvoiceItem $item); $inv->clearClientData(); // Persistente Kundendaten zurücksetzen $inv->save(); // Änderungen speichern, wichtig! $inv->delete();
Rechnung mit Position erstellen
$invoice = new Invoice; $invoice->setDate("2019-01-01"); $invoice->setDueDate("2019-01-14"); $invoice->setClient($user->get()['ID']); $invoice->setStatus(0); $item = new InvoiceItem; $item->setDescription("Position 1"); $item->setAmount(123.45); $item->setTax(true); $invoice->addItem($item); $item = new InvoiceItem; $item->setDescription("Schadensersatz (unversteuert)"); $item->setAmount(2000); $item->setTax(false); $invoice->addItem($item); $invoice->send();