Direkter Zugriff Felder

Hallo,

ich möchte per C# Script direkt auf Datenbankfelder zugreifen. Kann mir jemand sagen, wo ich dazu in der Dokumentation etwas finde? Bin nicht fündig geworden.

Viele Grüße und ein schönes Wochenende!

Sie finden hier einige Beispiele:

…\cRM11\Scripts\Examples\C#Script\

Die Programmierreferenz (SDK Dokumentation), die als PDF installiert wurde, die ist Ihnen bekannt, richtig? :nerd_face:

Sonst einfach nochmal hier melden. :slight_smile:

Vielen Dank! Die Programmierreferenz ist mir bekannt und sehr hilfreich. Ich habe bislang immer die oCurrentInputForm.SetContentsByName Methode benutzt. Aber den direkten Zugriff auf Felder der Datenbanktabellen unabhängig davon, wo ich mich gerade in Combit befinde, ist mir noch nicht klar.

Der Grundablauf für einen Zugriff auf Datensatzfelder unabhängig von etwaigen gerade dargestellten Datensätzen läuft grundsätzlich wie folgt:

  1. ViewConfig für die gewünschte Zielansicht besorgen
  2. per ViewConfig.CreateRecordSet ein (nicht-visuelles) RecordSet Objekt dafür erzeugen
  3. per RecordSet.SetFilter… Methoden den/die gewünschten Treffer filtern (best-practice für Ergebnisabfrage siehe Kapitel 7.1)
  4. nach dem allerersten MoveFirst (siehe Kapitel 7.1) per RecordSet.CurrentRecord ein Record Objekt besorgen
  5. per Record.GetContentsValueByName und andere Record.GetContents… Methoden auf die Felder zugreifen
  6. ggf. eine Schleife starten, solange RecordSet.MoveNext true liefert, und durch alle weiteren Treffer-Datensätze laufen (Record Objekt muss NICHT neu zugewiesen werden, das Objekt „rutscht“ jeweils automatisch auf den jeweiligen per MoveNext angesteuerten Datensatz), weiter mit Schritt 5.
  7. Alle Objekte in „spiegelbildlicher“ Reihenfolge der Erzeugung freigeben

Der Schreibzugriff auf Felder eines Records erfolgt mit

  1. Record.Lock,
  2. Record.SetContents…,
  3. Record.Save,
  4. Record.Unlock.

Fehlerhandling mindestens bei CreateRecordSet, SetFilter, Lock und Save sind natürlich essentiell wichtig, zum Beispiel könnten aufgrund eingeschränkter Benutzerrechte hier die Aufrufe u.U. (korrekterweise) fehlschlagen und müssen vom Script entsprechend gewürdigt werden.

Dies soweit in aller Kürze. :sweat_smile:

© combit GmbH