From 174909c1784478467bf5f495fc91988d2a5942cb Mon Sep 17 00:00:00 2001 From: OpenXE <> Date: Fri, 16 Jun 2023 12:51:50 +0200 Subject: [PATCH] bugfix mahnwesen status, error on mail --- .../content/geschaeftsbrief_vorlagen_list.tpl | 3 ++- www/pages/mahnwesen.php | 24 ++++++++++++------- .../_gen/geschaeftsbrief_vorlagen.tpl | 1 + 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/www/pages/content/geschaeftsbrief_vorlagen_list.tpl b/www/pages/content/geschaeftsbrief_vorlagen_list.tpl index a52055a1..8ce029b8 100644 --- a/www/pages/content/geschaeftsbrief_vorlagen_list.tpl +++ b/www/pages/content/geschaeftsbrief_vorlagen_list.tpl @@ -15,7 +15,7 @@  Fehlende Artikel  Artikel im Zulauf -  Gersperrte Artikel +  Gesperrte Artikel Artikelgruppen: @@ -121,6 +121,7 @@
  • {|ZahlungDiff|} {|Variablen|}: {AUFTRAG}, {DATUM}, {GESAMT}, {REST}, {ANSCHREIBEN}, {INTERNET}
  • {|Stornierung|} {|Variablen|}: {AUFTRAG}, {DATUM}, {INTERNET}
  • {|ZahlungMiss|} {|Variablen|}: {AUFTRAG}, {DATUM}, {GESAMT}, {REST}, {ANSCHREIBEN}, {INTERNET}
  • +
  • Mahnung Variablen: {BELEGNR}, {DATUM}, {OFFEN}, {MAHNGEBUEHR}, {HEUTE}
  • {|Versand|} {|Variablen|}: {VERSAND}, {VERSANDTYPE}, {VERSANDBEZEICHNUNG}, {TRACKINGNUMMER}, {NAME}, {ANSCHREIBEN}, {BELEGNR}, {IHREBESTELLNUMMER}, {INTERNET}, {AUFTRAGDATUM}, {LIEFERADRESSE}, {LIEFERADRESSELANG}
  • {|VersandMailDokumente|} {|Variablen|}: {NAME}, {ANSCHREIBEN}, {BELEGNR}, {IHREBESTELLNUMMER}, {INTERNET}, {AUFTRAGDATUM}
  • {|Erweiterte Freigabe|} {|Variablen|}: {REQUESTER}, {LINK}, {LINKFREIGABEUEBERSICHT}, {DOCTYPE}, {DOCTYPE_ID}
  • diff --git a/www/pages/mahnwesen.php b/www/pages/mahnwesen.php index ed5230c4..32b7b71a 100644 --- a/www/pages/mahnwesen.php +++ b/www/pages/mahnwesen.php @@ -39,14 +39,14 @@ class Mahnwesen { // columns that are aligned right (numbers etc) // $alignright = array(4,5,6,7,8); - $faellig_datum = $app->erp->FormatDateShort("DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)"); - $faellig_tage = "if(DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)) > 0,DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)),'')"; + $faellig_datum = "DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY)"; + $faellig_tage = "DATEDIFF(CURRENT_DATE,DATE_ADD(r.datum, INTERVAL r.zahlungszieltage DAY))"; $mahn_druck = "if(m.druck,'Ja','')"; $mahn_mail = "if(m.mail,'Ja','')"; $mahn_versendet = "if(r.versendet_mahnwesen,'Ja','')"; - $findcols = array('r.id','r.id','r.belegnr', $app->erp->FormatDateShort('r.datum'), 'r.kundennummer','r.name', 'r.land','p.abkuerzung','r.zahlungsweise','r.soll','r.waehrung','r.zahlungsstatus','r.soll','r.status',$faellig_datum,$faellig_tage,'m.name',$mahn_druck,$mahn_mail,$mahn_versendet,'mahnwesen_datum'); - $searchsql = array('belegnr', 'kunde', 'datum'); + $findcols = array('r.id','r.id','r.belegnr', 'r.datum', 'r.kundennummer','r.name', 'r.land','p.abkuerzung','r.zahlungsweise','r.soll','r.waehrung','r.zahlungsstatus','r.soll','r.status',$faellig_datum,$faellig_tage,'m.name',$mahn_druck,$mahn_mail,$mahn_versendet,'mahnwesen_datum'); + $searchsql = array('r.belegnr', 'r.name', $faellig_datum, 'r.kundennummer'); $defaultorder = 1; $defaultorderdesc = 0; @@ -70,8 +70,8 @@ class Mahnwesen { r.zahlungsstatus as zahlung, if(r.soll-r.ist!=0 AND r.ist > 0,FORMAT(r.ist-r.soll,2{$extended_mysql55}),FORMAT((r.soll-r.ist)*-1,2{$extended_mysql55})) as fehlt, if(r.status = 'storniert' AND r.teilstorno = 1,'TEILSTORNO',UPPER(r.status)) as status, - ".$faellig_datum." as faellig_datum, - ".$faellig_tage." as faellig_tage, + ".$app->erp->FormatDateShort($faellig_datum)." as faellig_datum, + if(".$faellig_tage.">0,".$faellig_tage.",'') as faellig_tage, m.name, ".$mahn_druck.", ".$mahn_mail.", @@ -264,7 +264,7 @@ class Mahnwesen { $this->app->DB->Update("UPDATE rechnung SET zahlungsstatus='offen',bezahlt_am = NULL, mahnwesen_internebemerkung=CONCAT(mahnwesen_internebemerkung,'\r\n','Manuell als bezahlt entfernt am ".date('d.m.Y')."') WHERE id IN (".implode(', ',$auswahl).')'); break; case 'mahnung_reset': - $sql = "UPDATE rechnung SET mahnwesen='', versendet_mahnwesen ='', mahnwesen_datum = '0000-00-00' WHERE id IN (".Implode(', ',$auswahl).')'; + $sql = "UPDATE rechnung SET mahnwesen='', versendet_mahnwesen ='', mahnwesen_datum = '0000-00-00' WHERE id IN (".implode(', ',$auswahl).')'; $this->app->DB->Update($sql); break; case 'mahnen': @@ -315,7 +315,7 @@ class Mahnwesen { $senderName = $this->app->User->GetName()." (".$this->app->erp->GetFirmaAbsender().")"; $senderAddress = $this->app->erp->GetFirmaMail(); // function MailSend($from,$from_name,$to,$to_name,$betreff,$text,$files="",$projekt="",$signature=true,$cc="",$bcc="", $system = false) - $this->app->erp->MailSend( + $result = $this->app->erp->MailSend( $senderAddress, $senderName, $mahnung['rechnung']['email'], @@ -329,6 +329,12 @@ class Mahnwesen { '', true ); + + if ($result = 0) { + $msg .= "
    Fehler beim E-Mail-Versand bei Rechnung ".$mahnung['rechnung']['belegnr'].".
    "; + continue; + } + $this->MahnungCRM('email',$mahnung['rechnung'], $mahnung['betreff'], $mahnung['body'],$fileid,$Brief->filename); $this->app->erp->RechnungProtokoll($rechnung_id,'Mahnung versendet'); $mails++; @@ -336,7 +342,7 @@ class Mahnwesen { unlink($tmpfile); - $sql = "UPDATE rechnung set mahnwesen_datum = CURRENT_DATE, versendet_mahnwesen = 1"; + $sql = "UPDATE rechnung set mahnwesen_datum = CURRENT_DATE, versendet_mahnwesen = 1 WHERE id IN (".implode(', ',$auswahl).')'; $this->app->DB->Update($sql); } diff --git a/www/widgets/templates/_gen/geschaeftsbrief_vorlagen.tpl b/www/widgets/templates/_gen/geschaeftsbrief_vorlagen.tpl index cc2d5cb2..439d7276 100644 --- a/www/widgets/templates/_gen/geschaeftsbrief_vorlagen.tpl +++ b/www/widgets/templates/_gen/geschaeftsbrief_vorlagen.tpl @@ -30,6 +30,7 @@
  • ZahlungDiff Variablen: {AUFTRAG}, {DATUM}, {GESAMT}, {REST}
  • Stornierung Variablen: {AUFTRAG}, {DATUM}
  • ZahlungMiss Variablen: {AUFTRAG}, {DATUM}, {GESAMT}, {REST}
  • +
  • Mahnung Variablen: {BELEGNR}, {DATUM}, {OFFEN}, {MAHNGEBUEHR}, {HEUTE}
  • Versand Variablen: {VERSAND}, {NAME}, {ANSCHREIBEN}, {BELEGNR}, {IHREBESTELLNUMMER}, {INTERNET}, {AUFTRAGDATUM}
  • VersandMailDokumente Variablen: {NAME}, {ANSCHREIBEN}, {BELEGNR}, {IHREBESTELLNUMMER}, {INTERNET}, {AUFTRAGDATUM}
  • Selbstabholer