0

Problem beim senden von Anhängen

Hallo Zusammen, 

ich habe einen Button erstellt der beim bedienen ein Baustellenprotokoll an Projektleiter, Baustellenleitung und Geschäftsführung sendet. Leider kommt es immer wieder vor, dass die Mail zwar gesendet wird, aber der Anhang fehlt. Hier ist mein Skript:

let x:this;

sendEmail({
            from: userEmail(),
            to: "projekt@mail.de",
            cc: "baustelle@mail.de",
            bcc: [userEmail(), "gf@mail.de"],
            subject: x.Mitarbeiter.'Name 1' + " meldet Projektfortschritt zum Auftrag: " +
            text(x.Aufgaben.Kategorie) +
            ": " +
            x.Aufgaben.'Matchcode f(x)' +
            " geschrieben! ",
            html: "",
            text: "Im Anhang das Baustellenprotokoll",
            attachments: first('Dateiverknüpfungen'.Dateien.Datei)
        });

14 Antworten

null
    • Heinrich Frey Maschinenbau GmbH
    • Christian_Rott
    • vor 11 Tagen
    • Gemeldet - anzeigen

    Hallo  , ich denke das du zuerst das Protokoll in einem Bildfeld importieren musst damit du es dann mit sendEmail versenden kannst.

    • mail.9
    • vor 11 Tagen
    • Gemeldet - anzeigen

    Danke für die Rückmeldung. Ja den Teil im Skript hatte ich nicht kopiert, ist aber in einem Schritt vorher passiert.

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 11 Tagen
      • Gemeldet - anzeigen

       und das pdf liegt dann in einem Bildfeld? oder ist es in der Büroklammer abgelegt?

      Kannst du mal das ganze script reinstellen? würde dann evtl helfen

      • mail.9
      • vor 7 Tagen
      • Gemeldet - anzeigen

       Hallo Christian, entschuldige die späte Rückmeldung. Hier ist das Skript für die Erstellung der Datei: let cre := (create Dateien);

      cre.(Kategorie := 105);
                          let cred := (create 'Con-Dateien-Aufgaben');

      let DateiPlanungName := "B-Protokoll-E-" + today() + "-" + p + ".pdf";
                          cred.('E-Mail Anhang' := true);
                          cred.(Dateien := cre);
                          cred.(Aufgaben := x.Aufgaben);
                          cred.(Zeitstempel := now());
                          cre.(Datei := importFile(cre, printAndSaveRecord(myNr, "BPEM"), DateiPlanungName));
                          let dv := (create 'Dateiverknüpfungen');
                          dv.(Dateien := cre);
                          dv.(Baustellenprotokolle := x)

       

      Das Feld Datei ist hier ein klassisches Bild-Feld.

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 7 Tagen
      • Gemeldet - anzeigen

      wenn ich es jetzt richtig verstehe liegt die pdf in einer anderen Tabelle? 

      • mail.9
      • vor 7 Tagen
      • Gemeldet - anzeigen

       Ja genau, die Datei liegt in der Tabelle Dateien. Über die Tabelle Con-Dateien-Aufgaben habe ich eine Verknüpfung zwischen Aufgaben und Dateien.

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 7 Tagen
      • Gemeldet - anzeigen

      Hat das schon vorher mal funktioniert? Also mit der Datei im Anhang?

    • mail.9
    • vor 7 Tagen
    • Gemeldet - anzeigen

    ja es funktioniert täglich so jedes zweite bis dritte mal 

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 7 Tagen
      • Gemeldet - anzeigen

       es könnte sein das die pdf dann noch nicht importiert ist.

      evtl. ein sleep einbauen 

      bei mir liegt die pdf in der Tabelle von wo ich dann auch sende und das funktioniert

      hättest du evtl eine dummy Datei dann kann man es mal testen

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 7 Tagen
      • Gemeldet - anzeigen

      kannst du evtl mal das ganze script reinstellen

      • mail.9
      • gestern
      • Gemeldet - anzeigen

       Hallo Christian, entschuldige, dass ich mich so lange nicht gemeldet habe, war leider verhindert. Hier ist das komplette Skript:

      let x := this;
              let myNr := Nr;
              let myA := x.Aufgaben;
              let pl := x.Aufgaben.Projekt.'Projektleiter';
              let al := if x.Aufgaben.Hauptaufgabe = null then
                      x.Aufgaben.'Verantwortlicher Mitarbeiter'
                  else
                      x.Aufgaben.Hauptaufgabe.'Verantwortlicher Mitarbeiter'
                  end;
              if myA.Kategorie = 11 then
                  let cre := (create Dateien);
                  let dv := (create 'Dateiverknüpfungen');
                  let cred := (create 'Con-Dateien-Aufgaben');
                  let p := x.Aufgaben.Projekt.Projektnummer + "-" + myNr + "-" + cred.Nr;
                  let DateiPlanungName := "B-Protokoll-Dach-" + today() + "-" + p + ".pdf";
                  do as server
                      cre.('Verknüpfung BUHA' := 2);
                      cre.(Kategorie := 105);
                      cred.('E-Mail Anhang' := true);
                      cred.(Dateien := cre);
                      cred.(Aufgaben := x.Aufgaben);
                      cred.(Zeitstempel := now());
                      cre.(Datei := importFile(cre, printAndSaveRecord(myNr, "BPD"), DateiPlanungName));
                      dv.(Dateien := cre);
                      dv.(Baustellenprotokolle := x)
                  end
              else
                  if Aufgaben.Kategorie = 12 then
                      let cre := (create Dateien);
                      let dv := (create 'Dateiverknüpfungen');
                      let cred := (create 'Con-Dateien-Aufgaben');
                      let p := x.Aufgaben.Projekt.Projektnummer + "-" + myNr + "-" + cred.Nr;
                      let DateiPlanungName := "B-Protokoll-DC-" + today() + "-" + p + ".pdf";
                      do as server
                          cre.('Verknüpfung BUHA' := 2);
                          cre.(Kategorie := 105);
                          cred.('E-Mail Anhang' := true);
                          cred.(Dateien := cre);
                          cred.(Aufgaben := x.Aufgaben);
                          cred.(Zeitstempel := now());
                          cre.(Datei := importFile(cre, printAndSaveRecord(myNr, "BPDC"), DateiPlanungName));
                          dv.(Dateien := cre);
                          dv.(Baustellenprotokolle := x)
                      end
                  else
                      if Aufgaben.Kategorie = 42 or Aufgaben.Hauptaufgabe.Kategorie = 42 then
                          let cre := (create Dateien);
                          let dv := (create 'Dateiverknüpfungen');
                          let cred := (create 'Con-Dateien-Aufgaben');
                          let p := x.Aufgaben.Projekt.Projektnummer + "-" + myNr + "-" + cred.Nr;
                          let DateiPlanungName := "B-Protokoll-E-" + today() + "-" + p + ".pdf";
                          do as server
                              cred.('E-Mail Anhang' := true);
                              cre.('Verknüpfung BUHA' := 2);
                              cre.(Kategorie := 105);
                              cred.(Dateien := cre);
                              cred.(Aufgaben := x.Aufgaben);
                              cred.(Zeitstempel := now());
                              cre.(Datei := importFile(cre, printAndSaveRecord(myNr, "BPEM"), DateiPlanungName));
                              dv.(Dateien := cre);
                              dv.(Baustellenprotokolle := x)
                          end
                      end
                  end
              end;
              let data := first(x.'Dateiverknüpfungen'.Dateien.Datei);
              do as transaction
                  sendEmail({
                      from: userEmail(),
                      to: pl.mail,
                      cc: al.mail,
                      bcc: [userEmail(), "gf@mail.de"],
                      subject: x.Mitarbeiter.'Name 1' + " meldet Projektfortschritt zum Auftrag: " +
                      text(x.Aufgaben.Kategorie) +
                      ": " +
                      x.Aufgaben.'Matchcode f(x)' +
                      " geschrieben! ",
                      html: "",
                      text: "Im Anhang das Baustellenprotokoll",
                      attachments: data
                  })
              end;
              'Protokoll gesendet' := true
      
      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 14 Stunden
      • Gemeldet - anzeigen

       Oh ich glaube da muss ich passen vielleicht solltest du das mal in der Ninox Sprechstunde mit den Profis besprechen. Denke aber es wird daran liegen das die PDF Datei dann beim senden noch nicht eingefügt ist. Hast du dich beim Webinar Sprechstunde schon angemeldet? Die ist immer Mittwochs und sehr hilfreich.

      • mail.9
      • vor 13 Stunden
      • Gemeldet - anzeigen

      Danke für den Tipp, werde ich machen. 👍

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 12 Stunden
    • Gemeldet - anzeigen

    Moin  ,

    Hast du mal probiert das "do as transaction" raus zu nehmen?
    Und prüfe mal, ob es bei den nicht funktionierenden Dateien Umlaute im Dateinamen gibt.
    (Da war mal was, zumindest im Zusammenhang mit make)

    VG Ronald

Content aside

  • vor 12 StundenZuletzt aktiv
  • 14Antworten
  • 94Ansichten
  • 3 Folge bereits