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();