DialogSelectRecord

Beschreibung:

Ermöglicht die Auswahl eines Datensatzes basierend auf dem aktuellen Filter des RecordSet Objektes. Das Ergebnis ist ein Objekt vom Typ Record.

Wenn kein Datensatz ausgewählt wurde, wird NULL zurückgegeben. Das Objekt ist dann somit ungültig! Es wird ein fully-dynamic RecordSet als Basis benötigt, weitere Informationen finden Sie unter Änderungen und Neuerungen.

Hinweis: DialogSelectRecord speichert die Spalten/Layoutkonfiguration und die vom Anwender zuletzt eingestellte Sortierung der Datensatzübersichtsliste ab (Voreinstellung: in der Registry). Der Name der Sektion der Konfiguration lautet "DialogSelect_"+<Ansichtenname>. Dieser kann jedoch individuell anderweitig vorgegeben werden, indem man beim Funktionsaufruf einen eigenen Namen im Parameter für den Fenstertitel durch TAB (chr$(9)) getrennt mit übergibt.

Sobald DialogSelectRecord für ein per ViewConfig erzeugtes RecordSet (ViewConfig.CreateRecordSet) verwendet wird, kann die Performance optimiert werden, wenn vor dem Methodenaufruf die Sortierung des RecordSet gesetzt wird (ViewConfig.CreateRecordSet("SetSortOrder:n")).

Wichtig: Nach dem Aufruf von DialogSelectRecord für einen per ViewConfig.CreateRecordSet erzeugten RecordSet darf für den betreffenden RecordSet keine Move-Methode aufgerufen werden, da sonst der zurück­gegebene Record u.U. seine Werte verändert!

Parameter:

Parametername

Typ

Beschreibung

WindowTitle

String

Fenstertitel des erzeugten Dialoges.

 

Wird der Titel leer übergeben, wird ein Standardtext angezeigt. Eine oder mehrere weitere Textzeilen unterhalb des Fenstertitels sowie deren Aussehen können bestimmt werden durch das Anhängen einer Umbruchskonstante ("vbLf" in VBScript bzw. "\n" in C#-Script) an den Fenstertitel. Hängen Sie weiteren Text an die Umbruchskonstante an, um diesen als Detailtext in kleinerer Schriftgröße anzuzeigen. Hängen Sie diesem Text eine weitere Umbruchskonstante an, um diesen (sprich: die erste Zeile) als Überschrift und ggf. weitere Zeilen als Detailtext in kleinerer Schriftgröße anzuzeigen. Um die erste Zeile nicht als Überschrift, sondern ebenfalls als Detailtext in kleinerer Schriftgröße anzuzeigen, verwenden Sie stattdessen die alternative Umbruchskonstante ("vbCr" in VBScript bzw. "\r" in C#-Script).

AllowUserDefinedSortOrder

Bool

True: Eine etwaige vom Benutzer in diesem Dialog zuletzt eingestellte Sortierung wird verwendet. Standardmäßig wird die erste Sortierung aktiviert, die in der zum RecordSet gehörenden Ansicht definiert wurde.

False: Es wird die im RecordSet eingestellte Sortierung verwendet. Ist keine eingestellt, so wird die erste Sortierung aktiviert, die in der zum RecordSet gehörenden Ansicht definiert wurde.

nParentHandle

Long

Optional. Handle eines Fensters, das als Parent-Fenster für den Dialog verwendet werden soll. Voreinstellung: das combit CRM Hauptfenster, sofern es nicht unsichtbar ist, ansonsten das in dem Augenblick gerade aktive Vordergrundfenster

Typ:

Record

Beispiel VBScript:

' Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution

 

Dim oRecord : Set oRecord = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet.DialogSelectRecord("Datensatzauswahl", True)

If (Not oRecord Is Nothing) Then

    Call oRecord.PrintLabel("PRV", "%PRJDIR%\Druckvorlagen\Kontakte - Adressetikett.lbl", True, "", False)

    Set oRecord = Nothing

End If

Beispiel C#-Script:

// Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution

 

Record record = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet().DialogSelectRecord("Datensatzauswahl", true);

if (record != null)

{

    record.PrintLabel("PRV", @"%PRJDIR%\Druckvorlagen\Kontakte - Adressetikett.lbl", true, "", false);

    record.Dispose();

}

 

Hinweis: In TypeScript steht eine Überladung dieser Methode mit den zusätzlichen Parametern "sPromptHeadline" und "sPromptDetails" jeweils des Typs "String" zur Verfügung. Statt

recordSet.DialogSelectRecord("sTitle \n sPromptHeadline \n sPromptDetails", true);

kann also alternativ 

recordSet.DialogSelectRecord("sTitle", "sPromptHeadline", "sPromptDetails", true);

verwendet werden. Vergleichen Sie hierzu die Beschreibung des Parameters 'WindowTitle'.