AppendFileExt

Beschreibung:

Fügt einen neuen relationalen Datensatz mit einer Datei hinzu. Die Datei wird in das erste gefundene Dokumentenfeld der relationalen Ansicht geschrieben. Alle weiteren Felder werden ignoriert.

Dokumentenfelder: (eingebettete) Datei, (eingebettete) Grafik oder DMS Dokument.

Parameter:

Parametername

Typ

Beschreibung

oRecord

Objekt

Datensatz-Objekt, zu dem ein relationaler Datensatz angehängt werden soll, z. B. Firmen

oRelation

Objekt

Relations-Objekt, in dem der neue relationale Datensatz mit der angehängten Datei eingefügt wird.

sFile

String

Datei, welche hinzugefügt werden soll (gesamter Pfad + Dateiname).

sDocDescriptionCfg

String

Dateiendung der zu verwendeten Dokumentenkonfiguration oder mit | getrennte Dokumentenkonfigurationsbezeichnung, welche in der Konfiguration der Dokumentenverwaltung angeben wurde, z. B. msg oder msg|E-Mails

Rückgabewert:

Record

Wert

Beschreibung

Record

Gültiges Record-Objekt. Kann mit

If oObject Is Nothing Then

überprüft werden.

NULL

Ungültiges Record-Objekt. Der relationale Datensatz mit der angefügten Datei konnte nicht erstellt werden.

Wichtig: Das zurückgelieferte Record-Objekt muss unbedingt wieder freigeben werden (Set oObject = Nothing setzen), um den Speicher freizugeben!

 

Beispiel VBScript:

' Erstellt einen neuen Aktivitäten-Datensatz und fügt ein Dokument hinzu. Basis ist hierbei der Aktivitäten-Container der Firmen-Ansicht einer combit_Large-Solution

 

Dim oDocMngr : Set oDocMngr = cRM.CurrentProject.DocMngr

Dim oRecord : Set oRecord = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord

Dim oRelation : Set oRelation = cRM.CurrentProject.ActiveViews.ActiveView.Config.Relations.ItemByName("ID.Aktivitäten.CompanyID")

Dim oViewConfig : Set oViewConfig = cRM.CurrentProject.ViewConfigs.ItemByName(oRelation.ForeignViewName)

Dim sFileToAppend : sFileToAppend = "C:\Firmen-Dossier.docx"

Dim sDocDescription : sDocDescription = "docx"

 

Dim oRecordAppended : Set oRecordAppended = oDocMngr.AppendFileExt(oRecord, oRelation, sFileToAppend, sDocDescription)

 

If (Not oRecordAppended Is Nothing) Then

  If (cRM.DialogMessageBox("Die Datei """ & sFileToAppend & """ konnte erfolgreich hinzugefügt werden. Soll dieser Datensatz jetzt angezeigt werden?", "DocMngr.AppendFileExt", vbYesNoCancel) = vbYes) Then

      Call cRM.CurrentProject.OpenNewViewByName(oRelation.ForeignViewName, "SetFilterDirectSQL:SELECT """ & oViewConfig.PrimaryKeyFldName &  """ FROM """ & oViewConfig.DBTableName & """ WHERE """ & oViewConfig.DBTableName & """.""" & oViewConfig.PrimaryKeyFldName & """ = 0x" & oRecordAppended.GetContentsByName(oViewConfig.PrimaryKeyFldName))

  Else

      Call cRM.CurrentProject.ActiveViews.ActiveView.Update()

  End If

Else

  If (oDocMngr.LastError.ErrorCode = 32) Then

      Call cRM.DialogMessageBox("Das Hinzufgen der Datei """ & sFileToAppend & """ konnte nicht erfolgreich durchgeführt werden. Der Schreibzugriff wurde verweigert.", "DocMngr.AppendFileExt", vbOkOnly)

  ElseIf (oDocMngr.LastError.ErrorCode = 33) Then

      Call cRM.DialogMessageBox("Das Hinzufgen der Datei """ & sFileToAppend & """ konnte nicht erfolgreich durchgeführt werden. Das Kopieren der Datei ist fehlgeschlagen.", "DocMngr.AppendFileExt", vbOkOnly)

  End If

End If

 

Set oRecordAppended = Nothing

Set oViewConfig = Nothing

Set oRelation = Nothing

Set oRecord = Nothing

Set oDocMngr = Nothing

Beispiel C#-Script:

// Erstellt einen neuen Aktivitäten-Datensatz und fügt ein Dokument hinzu. Basis ist hierbei der Aktivitäten-Container der Firmen-Ansicht einer combit_Large-Solution

 

DocMngr docMngr = cRM.CurrentProject.DocMngr;

Record record = cRM.CurrentProject.ActiveViews.ActiveView.CurrentRecordSet.CurrentRecord;

Relation relation = cRM.CurrentProject.ActiveViews.ActiveView.Config.Relations.ItemByName("ID.Aktivitäten.CompanyID");

ViewConfig viewConfig = cRM.CurrentProject.ViewConfigs.ItemByName(relation.ForeignViewName);

string fileToAppend = @"C:\Firmen-Dossier.docx";

string docDescription = "docx";

 

Record recordAppended = docMngr.AppendFileExt(record, relation, fileToAppend, docDescription);

 

if (recordAppended != null)

{

    if (cRM.DialogMessageBox("Die Datei \"" + fileToAppend + "\" konnte erfolgreich hinzugefügt werden. Soll dieser Datensatz jetzt angezeigt werden?", "DocMngr.AppendFileExt", 3) == 6)

    {

        cRM.CurrentProject.OpenNewViewByName(relation.ForeignViewName, "SetFilterDirectSQL:SELECT \"" + viewConfig.PrimaryKeyFldName + "\" FROM \"" + viewConfig.DBTableName + "\" WHERE \"" + viewConfig.DBTableName + "\".\"" + viewConfig.PrimaryKeyFldName + "\" = 0x" + recordAppended.GetContentsByName(viewConfig.PrimaryKeyFldName));

    }

    else

    {

        cRM.CurrentProject.ActiveViews.ActiveView.Update();

    }

}

else

{

    if (docMngr.LastError.ErrorCode == 32)

    {

        cRM.DialogMessageBox("Das Hinzufügen der Datei \"" + fileToAppend + "\" konnte nicht erfolgreich durchgeführt werden. Der Schreibzugriff wurde verweigert.", "DocMngr.AppendFile", 0);

    }

    else if (docMngr.LastError.ErrorCode == 33)

    {

        cRM.DialogMessageBox("Das Hinzufügen der Datei \"" + fileToAppend + "\" konnte nicht erfolgreich durchgeführt werden. Das Kopieren der Datei ist fehlgeschlagen.", "DocMngr.AppendFile", 0);

    }

 

}

 

recordAppended.Dispose();

viewConfig.Dispose();

relation.Dispose();

record.Dispose();

docMngr.Dispose();