Beiträge von Baumi

    Hallo,


    ich habe mir selbst einen Abwesenheitsassistenten erstellt, der nach Ausfüllen eines Formulares eine Regel und einen Textbaustein generiert. Ich konnte hier zusätzlich noch 2 Stellvertreter auswählen und musste somit nicht selbst den Textbaustein anpassen.
    Seit dem Update auf Rollout 289 (Rollout 288 hatte ich aufgrund der Probleme mit den Textbausteinen übersprungen) habe ich nun das Problem, das dieser nicht mehr funktioniert. Da ich weder Händler bin noch Developer Support habe und somit von Tobit keine Unterstützung bekomme, hoffe ich, das mir hier jemand helfen kann. Ich bin mir aber auch nicht sicher, ob es nicht auch an Windows 10 liegt, da z.B. folgendes Script auf einem Win2008R2-Server auf dem David installiert ist noch funktioniert.
    Hier einmal ein VBS-Beispiel, welches einfach das Formular aus dem öffentlichen Ordner in den persönlichen Ordner kopiert.
    Dies bricht auf Windows 10 beim Copy-Befehl ab.



    PS: Gibt es mit Developer-Support ein neuere Doku zur API als die alte von 2012 unter club.tobit.com?


    Gruß
    Baumi

    Hallo Thomas,


    man könnte dies über ein Script lösen, das man allen Usern und dann dem Default-User hinterlegt.
    Damit könnte man Regeln und die Ablageordner konfigurieren.
    Hier mal die Beispiele aus der DvAPI32-Doku:


    Regeln:

    Ablageordner:


    Gruß


    Baumi

    Hallo Jens,


    erst mal vielen Dank für die Hilfe. Damit bin ich erst mal weitergekommen.
    Ich habe erst mal versucht E-Mails mit dem MessageItem2 aus meinen Posteingang auszulesen, was auch recht gut funktioniert.
    Leider bekomme ich bei allen 2-dimensionalen Felder keinen Wert zurück. Es sieht aber leider so aus, das unser System nicht mit Mehrdimensionalen Arrays umgehen kann. Daher muss ich mir eine andere Möglichkeit ausdenken, oder dann doch damit leben, das nur die E-Mailadresse angezeigt wird.


    Gruß
    Baumi

    Hallo,


    ich versende per API eine E-Mail. Der Absender existiert nicht als Benutzer.
    Den Absender habe ich als Adresse in einem Adressarchiv abgelegt und lese dort die Daten aus.
    Vor, Nach und Display-Name werden sind in der Adresse ausgefüllt.
    Beim Empfänger kommt als Anzeigename aber immer nur die in der Adresse hinterlegte E-Mailadresse durch.
    Wie schaffe ich es, das auch der Name (Displayname) dem Empfänger übermittelt wird?
    Kann man dies ggf. schon im E-Mail-Adressfeld auf irgendeine Weise mit eintragen?
    Bei E-Mails sieht man ja oft dieses Format: 'Vorname Nachname <vorname.nachname@firma.de>'.
    Dies hat so leider nicht funktioniert, es wurde zwar alles übertragen und angezeigt, aber beim Antworten erkennt David die E-Mailadresse nicht.


    Wenn ich mir die Mail selbst zusende und in die Eigenschaften schaue, ist bei 'Von' die E-Mailadresse zu sehen und bei 'Von (Angezeigter Name)' nichts eingetragen.


    Installiertes Rollout: 248
    Programmiersprache ist X++ (Microsoft Dynamics AX / Axpata), ist aber ähnlich wie VB
    Hier ein Codebeispiel:


    Gruß
    Baumi

    Hallo,


    ich möchte in David einen Button erstellen, der auf eine Webseite verlinkt ist. Der Button soll entweder direkt im Hauptfenster oder in der Favoritenleiste zu sehen sein
    Beim Draufklicken soll eine Webseite geöffnet werden, die aber nicht in einem separatem Fenster aufgehen soll, sondern innerhalb des Infocenters geöffnet werden (so als klickt man auf einen Link im Ordner Web).


    Über ein Startscript habe ich schon den Button und den Link eingefügt, der öffnet sich aber in einem neuen Fenster.

    Code
    Set oBar = oInfoCenter.GetCommandBar("Main/Common")oBar.Insert -1, "Webseite", key, "meinicon.ico", "OnMyWebsite", truesub OnMyWebsite(oInfoCenter, oContext)	oInfoCenter.OpenItem("http://www.google.de")end sub


    Hat jemand eine Idee?


    Danke für die Hilfe
    Steffen

    Hallo,


    wir sind gerade dabei ein Update von fx.2011 auf die aktuelle David-Version zu machen.
    Dabei stellt sich die Frage, wie wir in Zukunft die Clients aktuell halten, ohne das wir dann bei jedem Update immer wieder an die Clients müssen und den Client als Administrator aktualisieren müssen. Oder würde es auch reichen, wenn man auf den Tobit-Ordner (und evtl. andere) höhere Rechte geben würde? Wenn ja, welche?
    Es gibt ja die Möglichkeit den Client per MSI zu installieren. Wenn ein Update kommt, kann man einfach über die Gruppenrichtlinie die Daten erneut bereitstellen und das war es.
    Wie kann ich die MSI ändern, damit ich eine Unterscheidung bekomme, ob nur der normale Client installiert werden soll oder auch die Mobile Version? Die mobile Version brauchen wir bei allen Notebooks, da ich hier die Mails offline benötige.
    Aktuell installieren wir die Version per AutoIt und prüfen einfach, ob unter Programme\Tobit die dvwin32.exe vorhanden ist, wenn nicht wird die Installation per Script durchgeklickt. Wenn ein Akku im Gerät erkannt wird, wird eben noch der Haken bei Mobile gesetzt.
    Es gibt doch sicherlich auch eine elegantere Möglichkeit dies zu verteilen.
    Oder gibt es evtl. für die setup.exe irgendwelche Parameter, mit denen man die Unterscheidung zwischen Mobil und Standard machen kann.


    Danke für die Hilfe


    Gruß
    Baumi

    Hallo,


    ich habe mir per DFML/JavaScript und VBScript einen Abwesenheitsassistenten erstellt.
    Ich lese damit die User und verschiedene Textbausteine aus und im Hintergrund wird über die API ein Textbaustein und eine Regel angelegt.
    Am Ende des Formulares habe ich zwei Buttons: Speichern und Schließen.
    Beim Klick auf Schließen wird das Formular per

    Code
    <DFML name=exit option=nosend option=close>

    geschlossen.
    Beim Klick auf Speichern wird ein JBScript ausgefüht, welches mir den Textbaustein und die Regel anlegt.
    Ist dieses erledigt, erscheint eine msgbox, welche dem User zeigt, das alles gespeichert wurde.
    Danach soll aber auch das komplette Formular wieder geschlossen werden. Wie erreiche ich dies per VBScript?


    Gruß
    Baumi


    Hier ein Ausschnitt aus dem Code:


    Code
    <SCRIPT LANGUAGE="VBScript">
    Sub SAVE_OnClick ... Regel und Textbaustein anlegen ...msgbox("Daten wurden gespeichert")//window.close()  //funktioniert leider nicht, wegen Sicherheitseinstellung des Internet Explorers
    //Hier soll das Formular geschlossen werdenEnd Sub
    </SCRIPT></HEAD>
    <BODY  TEXT="#000000">##WINDOWSIZE=750,750  fixed nomenu noscroll nobuttons####CALENDARSTYLE####CALENDERJS####CALENDERLAYER##
    ... verschiedene Felder ... <FORM METHOD=POST ACTION="" NAME="FORM"><INPUT NAME="SAVE" TYPE="BUTTON" VALUE="Speichern" id="button"><input type="button"  value="Schließen" id="button" name="exit">   
     </FORM></BODY></HTML>
    <DFML name=exit option=nosend option=close></DFML>


    Hallo Jens,


    ja genau so hab ich das gemeint.
    Die Verteilregel der Gruppenmail benötigen wir aber trotzdem. Wir holen die Gruppenmail per Grabbingserver ab und da greift die Regel.
    Ich kann aber jetzt auch nicht mehr genau sagen warum die Einstellung beim User hier nicht greift.
    Das mit dem Textbaustein hatten wir auch versucht, funktioniert zwar aber das @@... würde bei einigen User wieder verschwinden 8) , da sie nicht wissen was das ist uns löschen es und ich hab keine Lust das jedem zu erklären.


    Nach welchem Prinzip verteilt David eigentlich eine Mail, wenn die Adresse bei mehreren hinterlegt ist? Nach Username, BenutzerID, wer zuerst angelegt wurde (Datei david.usr) oder ganz was anderes?


    Wenn jemand eine Lösung für den Gruppenkalender hat, gerne her damit. Wir verschieben die Erinnerungen bisher immer per Hand, aber im Urlaub muss der Kollege dann trotzdem in den Kalender schauen, damit kein Termin verpasst wird. Mit dem Rest könnten wir leben.


    Gruß
    Steffen

    Hallo Uwe,


    Ja (und Nein).
    Wir haben es so gelöst, das beim User die Gruppenemailadresse als default hinterlegt ist und die zweite dann die Benutzeradresse.
    Dann haben wir in den Verteilregeln die Benutzeradresse wieder zum Benutzereingang umgeleitet.
    Zusätzlich für interne Mails muss die Gruppenmail in den Gruppeneingang verteilt werden.
    Dann muss bei jedem User der Gruppe die Gruppenadresse per Verteilregel in den Gruppeneingang verschoben werden (hier würde es auch bei einem User reichen, da David die Gruppenmail immer an einen User verteilt, wird der jedoch gelöscht, bekommt die Gruppenmail der nächste User, daher lieber gleich bei allen anlegen).


    So, jetzt die Nachteile, die bei uns noch nicht funktionieren:
    - Die User dürfen die Verteilregeln bei ihrem Eingang nicht löschen, andere jedoch schon.
    - Wir haben einen Gruppenkalender. Die Erinnerung bekommt dennoch der User der den Termin einträgt und landet nicht im Gruppeneingang.
    - Viel Konfiguration, da kann leicht was schief gehen. Wir haben nur ca 60 User und es zuerst mit der EDV und zwei Usern getestet. Sind aber mehr als 10 User in einer Gruppe gibt es irgendwann sehr viele Regeln.


    Bei Fragen einfach nochmal melden.
    Wir haben auch mehrere Tage damit verbracht dies zu testen uns so zu lösen.
    Schade das Tobit da keinen besseren Lösungsansatz hat. Dies benötigen doch viele Firmen.



    Gruß
    Steffen

    Hallo Jens,


    ja der Displayname ist ausgefüllt.
    Das Problem liegt aber wohl daran, das bei meinem Account mehrere E-Mailadressen hinterlegt sind.
    Wähle ich einen anderen User mit nur einem Account als Versender, wird der Name korrekt angezeigt.
    Es spielt auch keine Rolle welches Adressbuch (globales, allgemeines oder persönliches) man wählt.
    Das lässt sich aber wohl nicht umgehen, ist aber auch kein Problem, da die E-Mails eh nach extern versendet werden.


    Gruß
    Steffen

    Hallo,


    ich würde gerne eine E-Mail aus unserem ERP-System erstellen, jedoch immer einen bestimmten Absender und Namen anzeigen lassen wollen.
    In der Hilfe habe ich gefunden, das dies über MessageOptions.Sender funktionieren könnte. Leider bekomme ich dies nicht hin.
    Kann mir jemand ein Beispiel senden was hier genau anzugeben ist? Am Besten für VB.
    Hier mal mein Code (ähnlich VB, sollte aber trotzdem verständlich sein):


    Es funktioniert alles bis auf die Zeile oMessageOptions.Sender().
    Kann man auch eine Absenderadresse/namen angeben für eine Adresse für die es keinen User gibt (Gruppenemail)?
    Vielen Dank schon mal für die Hilfe



    Edit:
    So, mittlerweile habe ich herausgefunden das ich bei Sender() das Objekt oAddress übergeben muss. Es wird jedoch momentan kein Name angezeigt, sondern immer nur die E-Mailadresse, die in der Adresse hinterlegt ist. Die Namensfelder sind natürlich ausgefüllt.


    Hier ein Stück Code:

    Code
    oArchive = oAcc.GetArchive("Ordnerpfad zu Adressdaten");
    oAddressbook = oArchive.AddressBook();
    oAddress = oAddressbook.Item(2);//Nummer der Adresse, ansonsten muss eben über eine Schleife nach einer passenden Adresse gesucht werden
    oMessageOptions.Sender(oAddress);


    Das Problem habe ich schon im November 2010 gemeldet und als Antwort kam wie immer bei Anfragen bei API:
    "Bitte beachten Sie, dass wir die individuelle Anpassung von Scripten nicht supporten. Wir werden Ihr Anliegen dennoch gerne zur Prüfung aufnehmen. Viele Grüße aus Ahaus"


    Ich hab nämlich das gleiche gemacht wie du und bin genau auf das gleiche Problem gestoßen :)
    Unter fx ging es noch, ab fx 2011 nicht mehr.

    Hallo,


    ist es möglich einen Addressordner mit SQL-Adressen per API anzulegen.
    In der API-Hilfe unter Types\DvArchiveDisplayTypes gibt es dazu leider keine Auswahl.
    Oder weiß jemand wo diese Information gepeichert wird? Wenn die Einstellungen in dem Ordner liegen, den ich anlege, könnte ich mir dann einfach einen Dummyordner anlegen und den Inhalt dann in meinen neuen Ordner kopieren, den ich per CreateArchive anlege.
    Hintergrund ist der, das ich in unserem EPR-System Kundendaten habe, bei denen ich unterschiedliche Gruppen von Newslettern habe. Für jede Gruppe möchte ich in David einen eigenen Ordner automatisch anlegen/löschen lassen, sobald im ERP-System eine neue Gruppe angelegt/gelöscht wird und mir dann die richtigen Adressen per SQL aus der Datenbank ziehen.


    Schonmal vorab vielen Dank

    Hallo, ich habe einen Ordner mit SQL-Adressen, den ich mit Daten für einen Newsletter füllen möchte. Der Zugriff auf den SQL-Server 2008 R2 funktioniert problemlos. Jetzt das Problem:
    In einer Tabelle habe ich ein Datumsfeld, das entweder leer (NULL) oder gefüllt ist.
    Jetzt möchte ich abfragen, ob das Datum größer als das heutige Datum ist oder das Datum nicht geüllt wurde.
    Hier meine Abfrage, wie sie direkt im SQL-Server funktioniert:
    select * from AWSB_newsletter where Newsletter = 1 AND (ExpirationDate >= getdate() OR ExpirationDate = '') order by expirationdate ASC


    Hier das Ergebnis der database.ini auf dem David-Ordner:
    [IDQuery-FROM]
    Value=AWSB_Newsletter


    [DataQuery-FROM]
    Value=AWSB_Newsletter


    [SQLWHERE]
    Value=Newsletter = 1 AND (ExpirationDate >= getdate() OR ExpirationDate = '')


    Es werden alle Datensätze angezeigt, bis auf diejenigen, die kein Datum hinterlegt haben.
    Wie muss das SQL-Kommando in David aussehen, damit es funktioniert.


    Gruß
    Steffen

    Hallo,


    ich möchte eine Signatur/Textbaustein mit Benutzervariablen erstellen.
    Diese sieht momentan wie folgt aus:



    Code
    Freundliche Grüße / Best regards %(Benutzer Zusatz 1) %(Benutzer Name)%(Benutzer Zusatz 2) %(Benutzer Zusatz 3="" ? " " : "%(Benutzer Zusatz 3)") ....





    Da nicht jeder User einen Zusatz 3 hinterlegt hat, sollte dort ein Leerzeichen ausgegeben werden.
    Doch leider erscheint beim Senden der Mail immer noch die Abfrage, das bei Zusatz 3 nichts hinterlegt ist. Diese Meldung möchte ich jedoch vermeiden. Nur wie?
    Ein Leerzeichen in den Benutzerdaten wäre auch eine Möglichkeit, da muss ich aber immer dran denken, wenn ich einen neuen User anlege.


    Gruß
    Steffen

    Hallo Jens,


    leider kam die Abfrage mit der Serverauswahl beim Update nicht mehr, sondern es wurde einfach lokal die Expressedition installiert.
    In der David.ini steht in der SQL-Sektion auch noch unser alter SQL-Server drin.
    Könntest du mir ein Beispiel posten, wie der ConnectionString genau lauten muss. Ich bekomme immer die Fehlermeldung SQL Error 80004005. Die ODBC-Verbindung zu dem Server funktioniert jedoch. Unter welchem Account sollten der ServiceLayer und der SQL-Server laufen?


    Gruß
    Steffen