From 6cc79122b3aeeafd35ab26fcd895d4799b5b0215 Mon Sep 17 00:00:00 2001 From: Stefan Date: Mon, 14 Sep 2026 16:17:53 +0200 Subject: [PATCH] Improve Set-Struktur editor: show parent set inline, clamp long descriptions Removes the per-row indentation (span.ind) in favor of a small "belongs to set" tag shown above each row's title, so membership is visible without tracing indentation depth even while sets are expanded. Description text is now clamped to 2 lines with ellipsis by default and expands to a scrollable ~12-line view on click. Co-Authored-By: Claude Sonnet 5 --- Fuchs/js/intranet/modules/fis.inv_sets.js | 4 ++- Fuchs/js/intranet/modules/fis.inv_shared.scss | 19 ++++++++++++-- Fuchs/wwwroot/web/fis.inv.css | 25 ++++++++++++++++--- Fuchs/wwwroot/web/fis.inv.de.js | 4 ++- Fuchs/wwwroot/web/fis.inv.de.min.js | 2 +- Fuchs/wwwroot/web/fis.inv.min.css | 2 +- Fuchs/wwwroot/web/fis.req.css | 25 ++++++++++++++++--- Fuchs/wwwroot/web/fis.req.de.js | 4 ++- Fuchs/wwwroot/web/fis.req.de.min.js | 2 +- Fuchs/wwwroot/web/fis.req.min.css | 2 +- Fuchs/wwwroot/web/tools.js | 5 ++-- 11 files changed, 74 insertions(+), 20 deletions(-) diff --git a/Fuchs/js/intranet/modules/fis.inv_sets.js b/Fuchs/js/intranet/modules/fis.inv_sets.js index 6dda6b1..2a47b5b 100644 --- a/Fuchs/js/intranet/modules/fis.inv_sets.js +++ b/Fuchs/js/intranet/modules/fis.inv_sets.js @@ -123,7 +123,9 @@ $inv.sets = { } typ.append($$.s($inv.sets.typLbl(co))); $$.tdc('qty', tr).text(co.q || ''); - let ttl = $$.tdc('ttl', tr).append($$.sc('ind').css('width', (lvl * 1.4).toString() + 'rem')).append($$.s($inv.sets.title(co))); + let ttl = $$.tdc('ttl', tr); + if (parent !== '') { ttl.append($$.sc('seti', $inv.sets.title(byId[parent]))); } + ttl.append($$.sc('txt', $inv.sets.title(co)).click(function (ev) { ev.stopPropagation(); $(this).tC('exp'); })); if (isSet) { let n = itms.filter((x) => $inv.sets.parentOf(x, byId) === id).length; ttl.append($$.sc('cnt', ' (' + n + ')')); diff --git a/Fuchs/js/intranet/modules/fis.inv_shared.scss b/Fuchs/js/intranet/modules/fis.inv_shared.scss index c0f1b8b..56b127f 100644 --- a/Fuchs/js/intranet/modules/fis.inv_shared.scss +++ b/Fuchs/js/intranet/modules/fis.inv_shared.scss @@ -588,8 +588,23 @@ span.fold { cursor: pointer; margin-right: 0.35rem; color: #555; display: inline-block; width: 1rem; } } td.ttl { - span.ind { display: inline-block; } - span.seti { margin-right: 0.3rem; color: #888; } + span.seti { + display: block; + margin-bottom: 0.15rem; + color: #888; + font-size: 0.75rem; + &::before { content: '\21B3\0020'; } + } + span.txt { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + white-space: normal; + line-height: 1.3rem; + cursor: pointer; + &.exp { -webkit-line-clamp: unset; display: block; max-height: 15.6rem; overflow-y: auto; } + } span.cnt { color: #999; font-weight: normal; font-size: 0.85rem; } } td.act { width: 7.5rem; white-space: nowrap; text-align: right; diff --git a/Fuchs/wwwroot/web/fis.inv.css b/Fuchs/wwwroot/web/fis.inv.css index 7c31c6c..7012e4b 100644 --- a/Fuchs/wwwroot/web/fis.inv.css +++ b/Fuchs/wwwroot/web/fis.inv.css @@ -650,12 +650,29 @@ table.if td.num { display: inline-block; width: 1rem; } -.modal .setstruct div.sblock table.stbl td.ttl span.ind { - display: inline-block; -} .modal .setstruct div.sblock table.stbl td.ttl span.seti { - margin-right: 0.3rem; + display: block; + margin-bottom: 0.15rem; color: #888; + font-size: 0.75rem; +} +.modal .setstruct div.sblock table.stbl td.ttl span.seti::before { + content: "↳ "; +} +.modal .setstruct div.sblock table.stbl td.ttl span.txt { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + white-space: normal; + line-height: 1.3rem; + cursor: pointer; +} +.modal .setstruct div.sblock table.stbl td.ttl span.txt.exp { + -webkit-line-clamp: unset; + display: block; + max-height: 15.6rem; + overflow-y: auto; } .modal .setstruct div.sblock table.stbl td.ttl span.cnt { color: #999; diff --git a/Fuchs/wwwroot/web/fis.inv.de.js b/Fuchs/wwwroot/web/fis.inv.de.js index 6403123..f2016b2 100644 --- a/Fuchs/wwwroot/web/fis.inv.de.js +++ b/Fuchs/wwwroot/web/fis.inv.de.js @@ -2656,7 +2656,9 @@ $inv.sets = { } typ.append($$.s($inv.sets.typLbl(co))); $$.tdc('qty', tr).text(co.q || ''); - let ttl = $$.tdc('ttl', tr).append($$.sc('ind').css('width', (lvl * 1.4).toString() + 'rem')).append($$.s($inv.sets.title(co))); + let ttl = $$.tdc('ttl', tr); + if (parent !== '') { ttl.append($$.sc('seti', $inv.sets.title(byId[parent]))); } + ttl.append($$.sc('txt', $inv.sets.title(co)).click(function (ev) { ev.stopPropagation(); $(this).tC('exp'); })); if (isSet) { let n = itms.filter((x) => $inv.sets.parentOf(x, byId) === id).length; ttl.append($$.sc('cnt', ' (' + n + ')')); diff --git a/Fuchs/wwwroot/web/fis.inv.de.min.js b/Fuchs/wwwroot/web/fis.inv.de.min.js index 8c6a24c..fa8199d 100644 --- a/Fuchs/wwwroot/web/fis.inv.de.min.js +++ b/Fuchs/wwwroot/web/fis.inv.de.min.js @@ -1 +1 @@ -let $rct={mdl:"Aufträge",or:"offene Aufträge",orr:"offene Aufträge (4 W)",rn:"Auftragsnummer",iov:{all:"Auftragsübersicht (alle)","":"Auftragsübersicht"},wk:"Woche",nd:"Keine Daten gefunden.",h:"Uhr",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",rq1f:"Die Auftragsdaten von MFR konnten nicht oder nicht schnell genug abgerufen werde.\nMöchten Sie mit den bestehenden Daten trotzdem weitermachen?",note1:"Im Bruttobetrag sind {0} Lohnkosten enthalten (netto {1}). Die darin enthaltene Umsatzsteuer beträgt {2}.",note2:"Bitte beachten Sie, nach §14 Abs. 1 Umsatzsteuergesetz ist diese Rechnung ein Zahlungsbeleg oder eine andere beweiskräftige Unterlage für 2 Jahre nach Ablauf des Kalenderjahres der Ausstellung dieser Rechnung aufzubewahren, soweit nicht aufgrund anderer gesetzlicher Regelungen andere ggf.längere Aufbewahrungsfristen gelten.",note3:"Privathaushalten erstattet das Finanzamt bis zu {0} des Arbeitslohns mit der nächsten Steuererklärung.",note4:"Für bereits erbrachte Arbeiten, Dienstleistungen, Materiallieferungen und getätigte Bestellvorgänge zum oben genannten Bauvorhaben, die sich aus dem mit Ihnen geschlossenen Vertrag ergeben, stellen wir Ihnen vertragsgemäß unsere Akontozahlung in Rechnung. Eine Endabrechnung erhalten Sie als Schlussrechnung nach Abschluss des gesamten Bauvorhabens. Das Ausführungsdatum entnehmen Sie bitte dem Schlusstext dieser Rechnung. Wir danken Ihnen herzlich für das entgegengebrachte Vertrauen und bitten Sie um kurzfristigen Ausgleich der Akontorechnung.",note13b:"Gem. §13b Umsatzsteuergesetz unterliegen Sie der Steuerschuldnerschaft des Leistungsempfängers zur Umsatzsteuer aus dieser Rechnung mit einem Steuersatz von 19%.",crI:"Rechnung erstellen",crII:"Abschlagsrechnung erstellen",dII:"Für eine Abschlagsrechnung darf nur ein Auftrag gewählt werden.",dnS:"Für eine Rechnung muss mindestens ein Auftrag gewählt werden.",inv:"Rechnung",invs:"Rechnungen",req:"Auftrag",provP:"Leistungszeitraum",provD:"Leistungsdatum",cP:"Position ändern",iRb:"Zeile darunter einfügen",dR:"Zeile löschen",sV:"USt festlegen",cD:"Löschen?",mR:"Zeile verschieben",ctxM:"Weitere Aktionen",noteToggle:"Notiz ein-/ausblenden",sectionTitleEditTT:"Auftragsbezeichnung ändern",svcPart:"Service-Anteil",vat:"Umsatzsteuer",combP:"Positionen zusammenfassen",toSetP:"Auf Setpreis umstellen (Positionen ohne Preis)",toSetPc:"Der Set-Preis wird auf die Summe seiner Positionen gesetzt und die Positionen selbst verlieren ihren Preis. Das ist nicht rückgängig zu machen (der Betrag kann danach nur noch manuell geändert werden). Fortfahren?",toSetMc:"Jedes Set erhält die Summe seiner Positionen als Set-Preis; die Positionen des Sets werden ohne Preis dargestellt bzw. ausgeblendet. Positionen ausserhalb eines Sets bleiben unverändert einzeln aufgeführt. Das ist nicht rückgängig zu machen (die Set-Preise können danach nur noch manuell geändert werden). Fortfahren?",toSetMn:'Diese Rechnung enthält kein Set. Legen Sie zuerst über "Set-Struktur bearbeiten" ein Set an bzw. ordnen Sie Positionen einem Set zu.',iSum:"Zwischensumme",dtRel:"Freigegeben am: ",dtCr:"Erstellt am: ",rqV:"USt des Auftrags?",cthd:"wirklich aus-/einblenden ?",cst:{style:"currency",currency:"EUR"},sts:{IsWorkDone:"Arbeiten erledigt",Closed:"Auftrag geschlossen",SubcontractorPendingConfirmation:"Warten auf Bestätigung (Unterauftrag)",Scheduled:"Geplant",OfferIsRejected:"Angebot abgelehnt",OfferIsSend:"Offen (Angebot versandt)",CollaborationWaitingConfirmation:"Warten auf Bestätigung (Zusammenarbeit)",Released:"Freigegeben",OfferIsConfirmed:"Bestätigt",InProgress:"In Bearbeitung",ReadyForScheduling:"Zur Planung",Created:"Erstellt",Rejected:"Abgebrochen",Invoiced:"Rechnung gestellt","-":"-"},invHR:["Pos.","Menge","Artikelbezeichnung","VK","Summe"],frm:{invoicetitle:"Titel",invoiceaddress:"Adresse",loc:"Leistungsort / Lieferadresse",invoiceemail:"Email",invoiceemailcc:"Zusatzempfänger (CC)",provisionperiod:"Leistungsdatum / -zeitraum"},frmTT:{invoicetitle:"Rechnungstitel ändern",invoiceaddress:"Rechnungsempfänger-Adresse ändern",loc:"Leistungsort oder Lieferadresse ändern",invoiceemail:"Email-Adresse ändern und zusätzliche Email-Empfänger festlegen",provisionperiod:"Leistungsdatum oder -zeitraum ändern"}},$rcol={req:new fields_definition("Auftrag","Aufträge",[{name:"tags",label:"",type:"string",dfnc:function(e,t){""!==(e||"")&&($(this).aC("tags"),e.split(",").forEach((e=>{""!==e&&$(this).append($$.sc("tag "+e.replace(" ","_").replace("/","_").toLowerCase(),e))})))}},{name:"DateOfCreation",label:"Datum",type:"date",title:function(e){$(this).attr("title",$rct.dtCr+fdt(e.DateOfCreation).ne("-")+" \n"+$rct.dtRel+fdt(e.DateReleased).ne("-"))}},{name:"CustomerName",label:"Kunde (Firma)",type:"string"},{name:"Name",label:"Auftragsname",type:"string"},{name:"ExternalId",label:"Auftragsnummer",type:"string"},{name:"ParentExtenalId",label:"PAuftrag",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string",dfnc:function(e,t){$(this).rwText(e," ").find("span").each((function(){$(this).aC("cla").click({id:$(this).text()},$inv.jdbn)}))}},{name:"State",label:"Status",type:"string"},{name:"WorkDoneAt",label:"Erledigt am",type:"date"},{name:"Description",label:"Beschreibung",type:"html"}]),itm:new fields_definition("Auftragsposition","Auftragspositionen",[{name:"NameOrNumber",label:"Bezeichnung",type:"string"},{name:"Type",label:"Typ",type:"select",required:!0,value:"Text",url:[{value:"Text",label:"Text"},{value:"Equipment",label:"Ausrüstung"},{value:"Material",label:"Material"},{value:"Service",label:"Arbeitsleistung"}],change:function(e){$req.quantChange.call(this,e)}},{name:"quantityhours",label:"Anzahl / Menge",type:"number",precision:"0.01",value:1,change:function(e){$inv.quantChange.call(this,e)}},{name:"UnitString",label:"Einheit",type:"select",url:["LFDM","Stck","Std.","QM","AW","Pauschal"],change:function(e){$inv.quantChange.call(this,e)}},{name:"net",label:"EinzelPreis netto",type:"number",precision:"0.01",value:0,change:function(e){$inv.quantChange.call(this,e)}},{name:"net_val",label:"GesamtPreis netto",type:"number",precision:"0.01",value:0},{name:"vat_val",label:"GesamtPreis USt",type:"number",precision:"0.01",value:0},{name:"svcnet_val",label:"Arbeitslohn netto",type:"number",precision:"0.01",value:0},{name:"svcvat_val",label:"Arbeitslohn USt",type:"number",precision:"0.01",value:0},{name:"net_pos",label:"Netto",type:"string"},{name:"bo_pos",label:"Brutto",type:"string"},{name:"vat",label:"USt",type:"string",value:"19,0%",change:function(e){$inv.quantChange.call(this,e)}},{name:"Note",label:"Details",type:"html",tinymce:!0}])},$ict={mdl:"Rechnungen",iov:{all:"Rechnungen (alle)","":"Rechnungen (nur fertige)","#d":"Rechnungen (nur Entwürfe)","#u":"Rechnungen (nur unbezahlt)","#r":"Rechnungen (nur angemahnt)","#a":"Rechnungen (nur Akonto)","#c":"Rechnungen (nur Storno)","#ru":"Rechnungen (nur angemahnt + unbez.)"},uba:", gesamter Zeitraum)",req:"Auftrag",inv:"Rechnung",rem:"Mahnung",in:"Rechnungsnummer",cc:"Kunde",wk:"Woche",nd:"Keine Daten gefunden.",dl:"Herunterladen",ed:"Bearbeiten",ced:"Bearbeitung fortsetzen",sItm:"Einzelheiten anzeigen",sPay:"Zahlungen anzeigen",cdI:"Entwurf der Rechnung löschen?",rel:"Neu Laden",relm:"Bitte laden Sie Liste manuell neu, um die Änderungen zu sehen.",dsp:"Rechnung anzeigen",storno:"Storno-Rechnung erstellen",credit:"Gutschrift erstellen",remd:"Mahnung erstellen",remdt:"Mahnung erstellen zur Rechnung {0}",remlst:"Mahnungen anzeigen",remdsp:"Mahnung anzeigen",remres:"Mahnung erneut senden",remresc:"Mahnung {0} wirklich erneut senden?",remresr:"Mahnung {0} wurde erfolgreich versandt.",setpyd:"Bezahlt markieren",cpyd:"Rechnung wirklich als bezahlt markieren?",setupd:"Bezahlt-Markierung aufheben",cupd:"Bezahlt-Markierung wirklich aufheben?",ivE:"Die Email-Adresse ist vermutlich nicht gültig.",ivEc:"\nMöchten Sie fortfahren?",pna:"Diese Seite ist in der Vorschau nicht verfügbar",tpe:"Die Anzahl von {0} Seiten wird aktuell nicht unterstützt",eis:"Der Rechnungsentwurf konnte nicht gespeichert werden.",iss:"Zwischenstand speichern.",p13b:"USt -> §13b",setm:"Set-Preisanzeige",setmo:{setprice:"Set mit Preis – Positionen ohne Preis",setonly:"Nur Set mit Preis – Positionen ausgeblendet"},setst:"Set-Struktur bearbeiten",setsHint:'Reihenfolge: Zeile per Drag & Drop an den oberen/unteren Rand einer anderen Zeile ziehen (davor/danach) oder ▲▼ nutzen. Zuordnung: Zeile auf die Mitte eines Sets ziehen (hinein) bzw. auf die Auftragszeile oder "oberste Ebene" (aus dem Set lösen); ◀▶ ändert die Ebene. Sets lassen sich über das Dreieck zu-/aufklappen und auch zugeklappt verschieben – ihre Positionen wandern mit. Änderungen werden sofort übernommen.',setsUp:"Nach oben (innerhalb der Ebene)",setsDown:"Nach unten (innerhalb der Ebene)",setsCollapse:"Set zuklappen",setsExpand:"Set aufklappen",setsHR:["","Pos.","Typ","Menge","Bezeichnung","Reihenfolge / Ebene"],setsRoot:"Hierher ziehen = aus dem Set lösen (oberste Ebene)",setsOut:"Eine Ebene höher (aus dem Set lösen)",setsIn:"Eine Ebene tiefer (dem vorangehenden Set zuordnen)",setsNew:"Neu:",setsInto:"in",setsTop:"oberste Ebene",setsTitle:"Bezeichnung",setsAdd:"Hinzufügen",setsNoTitle:"(ohne Bezeichnung)",settyp:{set:"Set",text:"Text",title:"Text",material:"Material",service:"Arbeitsleistung",equipment:"Ausrüstung",other:"Position",osum:"Zusammenfassung",intinvoiceallocation:"Abschlag",intinvoiceallocationdiff:"Abschlag (offen)"},ctp:"Ansprechpartner festlegen",mfr:"Von MFR neu abrufen",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",iq1:"Rechnungsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",iq2:"Rechnungsdaten werden geladen",sis:"Rechnung als versandt markieren",srs:"Mahnung als versandt markieren",sisc:"Rechnung wirklich als versandt markieren?",srsc:"Mahnung wirklich als versandt markieren?",iSt:{dft:"Entwurf",uns:"nicht versandt",pyd:"bezahlt",cc:"storniert",op:"offen",due:"fällig",ovd:"überfällig",rem:"angemahnt"},rSt:["","Überfällig","2. Mahnung","3. Stufe"],pSt:{a:"Vollst.",p:"Teilz."},ivT:{i:"AbschlagsR.",f:"SchlussR",r:"Rechnung",c:"StornoR."},rovlh:"Übersicht der bisherigen Mahnungen",rovl:["Betreff","Betrag","Betrag gezahlt","fertiggestellt am"],remHR:["Rechnung","vom","Rechnungsbetrag","bereits bezahlt","noch offen"],translatePaymentTerm:e=>(e||"").replace("wd"," Werktagen").replace("d"," Tagen").replace("wk"," Wochen")||"10 Tagen",payi:{account:"Konto",name:"Zahler",text:"Verw.Zweck",InvoiceID:"Rechnung",amount:"Betrag",date:"Datum",manual:"Typ"}},$invcol={datev:new fields_definition("Rechnung","Rechnungen",[{name:"Umsatz (ohne Soll/Haben-Kz)",label:"Umsatz (ohne Soll/Haben-Kz)",type:"string"},{name:"vf",label:"vf",type:"string"},{name:"Soll/Haben-Kennzeichen",label:"Soll/Haben-Kennzeichen",type:"string"},{name:"Konto",label:"Konto",type:"string"},{name:"Gegenkonto",label:"Gegenkonto",type:"string"},{name:"BU-Schlüssel",label:"BU-Schlüssel",type:"string"},{name:"Belegdatum",label:"Belegdatum",type:"string"},{name:"Belegfeld 1",label:"Belegfeld 1",type:"string"},{name:"Belegfeld 2",label:"Belegfeld 2",type:"string"},{name:"Buchungstext",label:"Buchungstext",type:"string"}]),inv:new fields_definition("Rechnung","Rechnungen",[{name:"invstatus",label:"Status",type:"select",url:$ict.iSt},{name:"balance",label:"Umsatz",type:"string",dtype:"currency"},{name:"CustomerName",label:"Kunde",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string"},{name:"InvoiceType",label:"Typ",type:"select",url:$ict.ivT},{name:"request",label:"Auftrag",type:"string",dtype:"num"},{name:"vat",label:"MwSt",type:"string",dtype:"num"},{name:"deb_cred",label:"Soll/Haben",type:"string"},{name:"customer",label:"Konto",type:"string",dtype:"num"},{name:"contra_account",label:"Gegenkonto",type:"string",dtype:"num"},{name:"Belegdatum",label:"Belegdatum",type:"date"},{name:"reminderstatus",label:"MahnStatus",type:"select",url:$ict.rSt},{name:"reminder",label:"# Mahnungen",type:"integer"},{name:"Buchungstext",label:"Buchungstext",type:"string"},{name:"Payment",label:"Zahlung",type:"string"}]),rem:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"amount",label:"Rechnungsbetrag",type:"number",precision:"0.01",value:1},{name:"amount_payed",label:"bereits bezahlt",type:"number",precision:"0.01",value:1}]),rem2:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"DocumentName",label:"Name",type:"string"},{name:"subject",label:"Betreff",type:"string"},{name:"DateSent",label:"Versanddatum",type:"date"},{name:"status",label:"Status",type:"string"},{name:"amount_open",label:"offener Betrag",type:"number",precision:"0.01"},{name:"InvoiceId",label:"RNummer",type:"string"}]),rid:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"type",label:"Typ",type:"select",url:[["f","einfache Zahlungserinnerung"],["m","Mahnung"],["l","letzte Mahnung"]],required:!0},{name:"level",label:"Stufe",type:"select",url:[["1","Stufe 1"],["2","Stufe 2"],["3","Stufe 3"],["4","Stufe 4"],["5","Stufe 5"],["6","Stufe 6"]],required:!0}]),ctp:new fields_definition("Ansprechpartner","Ansprechpartner",[{name:"name",label:"Name",type:"string"},{name:"email",label:"Email",type:"string"}])},gi=(e,t)=>$$.sc("glyphicon glyphicon-"+e).aC(t),$inv={init2:function(e,t){e=e||"inv",t=t||{},$ocms.getScript([],(function(){$inv.init3(e,t)}))},init3:async function(e,t){$fis.cf(!0);let n=$fis.lf(!0);$("#topbar").ocmsmenu([]),$("#activemodule").text($ict.mdl);let i=[(async()=>{await $fis.getAuth("fds_inv")>0&&($inv.prepLst(""),n.aC("fix"))})(),new Promise(((e,t)=>{$fis.prepAuth(["fds_reminder"])}))];await Promise.all(i)},prepLst:function(e){let t=new Date,n=$fis.lf(!0).ldng(1),i=new Date("2021-01-01");$fis.frm_list().IN((function(){}));let a=[];$.each($ict.iov,((e,t)=>{a.push({lbl:t,fnc:()=>{$inv.prepLst(e),n.aC("fix")}})})),$fis.lfm().ocmsmenu([{lbl:"Filter",itm:a}]);$$.i({placeholder:$ict.in}).appendTo($$.dc("mth ivn",n)).enterKey((function(e){let t=$(this),n=t.val()||"";e.stopPropagation(),t.parent().siblings().rC("selected"),n.length>3&&(t.parent().aC("selected"),$inv.renderinv("i:"+n,"s","all"),t.val(""))})),$$.i({placeholder:$ict.cc}).appendTo($$.dc("mth ivc",n)).enterKey((function(e){let t=$(this),n=t.val()||"";e.stopPropagation(),t.parent().siblings().rC("selected"),n.length>=3&&(t.parent().aC("selected"),$inv.renderinv("c:"+n,"s","all"),t.val(""))}));"#"===e.substr(0,1)&&$$.dc("mth extra",n).text($ict.iov[e].replace(")",$ict.uba)).click((function(t){let n=$(this);if(t.stopPropagation(),n.siblings().rC("selected"),!0===n.is(".selected")){n.toggleClass("selected");let t=fdt(new Date,"yy-MM-dd");$inv.renderinv(t,"a",e)}n.aC("selected")})),n.append("
");let r=$$.dc("mthl",n),s=t.getFullYear(),l=t.getMonth()+1;for(let t=i.getFullYear();t<=s;t++){let n=$$.dc("yr").prependTo(r).text($ict.iov[e]+" - "+t.toString()).toggleClass("selected",t===s);n.click({yr:t},(function(e){e.stopPropagation(),n.siblings().rC("selected"),n.aC("selected")}));let a=$$.dc("mfrm",n);for(let n=0;n<(t!==s?12:l);n++){i=new Date(t,n,1);let r=$$.dc("mth").prependTo(a).text($ict.iov[e]+" - "+fdt(i,"MMM yyyy"));if(r.click({yr:t,mt:n},(function(t){if(t.stopPropagation(),r.siblings().rC("selected"),!0===r.is(".selected")){r.toggleClass("selected");let n=fdt(new Date(t.data.yr,t.data.mt,1),"yy-MM-dd");$inv.renderinv(n,"m",e)}r.aC("selected")})),""===e){$$.dc("mthdl",r).append(gi("compressed","ico")).click({yr:t,mt:n},(function(e){e.stopPropagation();let t=fdt(new Date(e.data.yr,e.data.mt,1),"yy-MM-dd");$inv.downloadzip(t,"m")}))}let s=getMonday(i),l=new Date(i);l.setMonth(l.getMonth()+1),l.setDate(0),l=getMonday(l);let d=$$.dc("wfrm",r);for(;s<=l;){let t=$$.dc("wk",d).text(($ict.wk||"W")+" "+fdt(s,"dd.MM.yy"));t.click({rd:new Date(s)},(function(n){n.stopPropagation();let i=fdt(n.data.rd,"yy-MM-dd");$inv.renderinv(i,"w",e),r.siblings().rC("selected").find(".wk").rC("selected"),r.aC("selected").find(".wk").rC("selected"),t.aC("selected")})),$$.dc("wkdl",t).append(gi("compressed","ico")).click({rd:new Date(s)},(function(e){e.stopPropagation();let t=fdt(e.data.rd,"yy-MM-dd");$inv.downloadzip(t,"w")})),s.setDate(s.getDate()+7)}}}n.ldng(0)},rerenderinv:function(){let e=$("#contentframe .invfrm:first");if(e.length>0){let t=e.data("sets")||{};t.mode&&$inv.renderinv(t.tgt,t.mode,t.includes)}},renderinv:function(e,t,n){let i=$fis.frm_list(!0,!0).ldng(1),a=$$.dc("invfrm",i).aC("md"+t).data("sets",$.extend({},{tgt:e,mode:t,includes:n})),r=$fis.lf();$ocms.postXT({url:$ocms.url("inv/invl"),data:{mode:t,tgt:e,includes:n},success:i=>{r.rC("fix").aC("hd"),$$.dc("ovhd",a).text(i.admin.title);let s=$$.tblset({},a),l=$invcol.inv,d=$$.tr(s.hd);$$.th(d);$.each(l.fields||[],((e,t)=>{$$.th(d).text(t.label),"vat"===t.name&&$$.th(d)})),$.each(i.invoices||[],((d,c)=>{let o=$$.tr(s.bdy);o.click((function(){r.rC("fix").aC("hd"),o.toggleClass("selected").siblings().rC("selected").find("td.av").rC("av"),o.find("td.av").rC("av"),!0===o.is(".selected")?$inv.iMn(c):$inv.eM()}));let u=$$.td(o,{class:"raux"});c.hasFile?($$.dc("idl ilbtn",u,{title:$ict.dl+"\n"+c.DocumentName}).append(gi("save-file","ico")).click({id:c.Id},$inv.downloadinv),$$.dc("idl ilbtn",u,{title:$ict.dsp+"\n"+c.DocumentName}).append(gi("eye-open","ico")).click({id:c.Id,typ:"inv"},$inv.jdisp)):!1===c.isFinal&&!0===$fis.isAuth("fds_inv",2)&&$$.dc("idl ilbtn",u,{title:$ict.ed}).append(gi("edit","ico")).click({id:c.Id},$inv.doContInv),$$.dc("iitm ilbtn",u,{title:$ict.sItm}).append(gi("list","ico")).click({id:c.Id},$inv.showitm),$$.dc("iitm ilbtn",u,{title:$ict.sPay}).append(gi("euro","ico")).click({id:c.Id},$inv.showpay),$.each(l.fields||[],((r,s)=>{let l,d,u=$$.td(o).aC(s.dtype);switch("select"===(s.type||"")?u.text((s.url||{})[c[s.name]]||""):u.text(c[s.name]),s.name||""){case"vat":l=$$.sel().appendTo($$.td(o,{class:"vsel"})),d=(i.admin.ust_options||"19,0%;16,0%;0,0%").split(";"),$.each(d,((e,t)=>{$$.opt(t,t).appendTo(l)})),l.click((function(e){e.stopPropagation()})).val(c[s.name]).change().change({frm:a,tgt:e,mode:t,id:c.Id,td:u,includes:n},$inv.setvat),u.toggleClass("hl",c[s.name].substr(0,2)!==d[0].substr(0,2)).click((function(e){e.stopPropagation(),$(this).toggleClass("av")}));break;case"balance":u.aC("sh_"+(c.SollHaben||"").toLowerCase());break;case"invstatus":case"reminderstatus":u.aC(("invstatus"===s.name?"is_":"rs_")+c[s.name])}}))}))},complete:()=>{i.ldng(0)}})},setvat:function(e){let t=$(this),n=e.data||{};$ocms.postXT({url:$ocms.url("inv/setvat"),data:{id:n.id,val:t.val()},success:e=>{n.td.rC("av"),$inv.renderinv(n.tgt,n.mode,n.includes)}})},downloadzip:function(e,t){$(this).empty();window.open($ocms.url("inv/datevzip?mode="+t+"&tgt="+encodeURIComponent(e)),"_blank")},showitm:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&$ocms.postXT({url:$ocms.url("inv/rqi"),data:{id:e.data.id},success:e=>{let t=$$.dc("rfrm");(e.requests||[]).length<1?t.text($ict.nd):$.each(e.requests||[],(function(e,n){let i=$$.dc("srq",t);$$.dc("nme",i).text(n.name);let a=$$.tblset({class:"if"},i);$.each(n.items||[],((e,t)=>{let n=$$.tr({id:"itm"+t.Id}).appendTo(a.bdy);$$.td(n).text(t.NameOrNumber),$$.td(n).text(t.Type),$$.td(n).aC("currency").text(t.net_pos),$$.td(n).aC("currency").text(t.bo_pos),$$.td(n).aC("num").text(t.vat)}))})),$ocms.dlg(t,{width:1e3})}})},showpay:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&$ocms.postXT({url:$ocms.url("inv/pyi"),data:{id:e.data.id},success:e=>{let t=$$.dc("rfrm");if((e.payments||[]).length<1)t.text($ict.nd);else{let n=$$.tblset({class:"if"},t),i=$$.tr(n.hd);$.each(["date","account","name","text","InvoiceID","amount","manual"],((e,t)=>{$$.th(i,$ict.payi[t])})),$.each(e.payments,((e,t)=>{let i=$$.tr({id:"itm"+t.banking_uid}).appendTo(n.bdy);$$.td(i).aC("date").text(t.date),$$.td(i).text(t.account),$$.td(i).text(t.name),$$.td(i).text(t.text),$$.td(i).text(t.InvoiceID),$$.td(i).aC("currency").text(t.amount),$$.td(i).text(t.manual)}))}$ocms.dlg(t,{width:1e3,title:"Übersicht der Zahlungen"})}})},downloadinv:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&window.open($ocms.url("inv/rdoc?id="+e.data.id),"_blank")},doContInv:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&$inv.cntInv({id:e.data.id})}},$$inv={init2:$inv.init2,auth:{}};export default $$inv;$inv.cInv=function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&!1!==$fis.isAuth("fds_inv",2)&&$inv.cInv2({id:e.data.id})},$inv.rMn=e=>{let t=[{lbl:$ict.req,itm:[]}];return!0===bool(e,!1)&&!0===$fis.isAuth("fds_inv",2)&&Array.prototype.push.apply(t[0].itm,[{lbl:$rct.crI,fnc:$inv.ccInv,data:{typ:"r"}},{lbl:$rct.crII,fnc:$inv.ccInv,data:{typ:"i"}}]),t.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(t)},$inv.iMnr=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),a=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?a[1].itm.push({lbl:$ict.ced,fnc:$inv.clCntInv}):!0===$fis.isAuth("fds_inv",1)&&a[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===i&&!0===t&&!0===$fis.isAuth("fds_inv",2)&&(a[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),a[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&(a[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),a[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&!1===booln(e.IsSent,!1)&&a[2].itm.push({lbl:$ict.srs,fnc:()=>$inv.srs(n)}),a.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(a)},$inv.iMn=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),a=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?a[1].itm.push({lbl:$ict.ced,fnc:()=>{$inv.cntInv({id:n})}}):!0===$fis.isAuth("fds_inv",1)&&a[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===$fis.isAuth("fds_inv",2)&&(a[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),a[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!1===booln(e.IsPayed,!1)?(!0===$fis.isAuth("fds_reminder",2)&&a[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),!0===$fis.isAuth("fds_inv",2)&&a[1].itm.push({lbl:$ict.setpyd,fnc:()=>$inv.setPyd(n)})):!0===t&&!0===booln(e.IsPayed,!1)&&"m"===(e.PaymentStatus||"")&&!0===$fis.isAuth("fds_inv",2)&&a[1].itm.push({lbl:$ict.setupd,fnc:()=>$inv.setUpd(n)}),!0===$fis.isAuth("fds_reminder",2)&&a[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)}),!0===t&&!0===$fis.isAuth("fds_inv",2)&&!1===booln(e.IsSent,!1)&&a[1].itm.push({lbl:$ict.sis,fnc:()=>$inv.sis(n)}),!1===i&&a[1].itm.push({lbl:$ict.mfr,fnc:()=>$inv.mfrrel(n)}),$("#topbar").ocmsmenu(a)},$inv.emOpt=()=>"iss,p13b,ctp,setst,setm",$inv.eM=(e,t,n)=>{let i=[];return!0!==booln(e,!1)&&!0!==booln(t,!1)||i.push({glyph:"glyphicon-menu-left",fnc:()=>{$fis.lf(!0),$fis.frm_edit().remove()}}),!0===(n||"").split(",").includes("iss")&&i.push({lbl:$ict.iss,fnc:$inv.ssave}),!0===(n||"").split(",").includes("ctp")&&i.push({lbl:$ict.ctp,fnc:$inv.sctp}),!0===(n||"").split(",").includes("p13b")&&i.push({lbl:$ict.p13b,fnc:$inv.sp13b}),!0===(n||"").split(",").includes("setm")&&i.push({lbl:$ict.setm,fnc:$inv.ssetmode}),!0===(n||"").split(",").includes("setst")&&i.push({lbl:$ict.setst,fnc:()=>$inv.sets.open()}),!0===(n||"").split(",").includes("iss")&&(i.push({lbl:"Änderungshistorie",fnc:()=>$inv.d.history()}),i.push({lbl:"Änderungen verwerfen",fnc:()=>$inv.d.discard()})),!0===booln(e,!1)&&i.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(i)},$inv.d={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.d.tbl().data("dtoken")||""},hashes:function(){let e=$inv.d.tbl().data("bai")||[],t={};return $.each(e,((e,n)=>{t[(n.Id||"").toString()]=JSON.stringify(n)})),t},seed:function(e){let t=$inv.d.layout();t.aC("freeze");let n=$ocms.postXT({url:$ocms.url("inv/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.d.tbl().data("dtoken",e.token).data("dver",e.version).data("dhashes",$inv.d.hashes()).data("dorder",$inv.d.order()),$fis.draft.bind(e.token,{onReady:()=>$inv.d.refresh(),onExpiring:e=>$inv.d.warnExpiry(e),onClosed:e=>$inv.d.closed(e)}),$inv.d.refresh()},error:()=>{t.rC("freeze")},complete:()=>{$inv.d.tbl().removeData("dseeding").removeData("dseedpromise")}});return $inv.d.tbl().data("dseedpromise",n),n},refresh:function(e){let t=$inv.d.token();""!==t&&$ocms.postXT({url:$ocms.url("inv/dstate"),data:{token:t},success:t=>{$inv.d.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.d.closed("expired")},complete:()=>{$inv.d.layout().rC("freeze")}})},applyState:function(e){let t=$inv.d.tbl();if(t.length<1)return;let n=t.data("dver");"number"==typeof n&&"number"==typeof e.version&&e.version$$.dc("dnote").aC(e.style||"InvoiceNotes").text(e.text)))},applyItems:function(e,t){let n=e=>void 0===e?null:e;(t||[]).forEach((t=>{if(!t)return;let i=(t.Id||"").toString();if(""===i)return;let a=e.children("tbody").filter(((e,t)=>(($(t).data()||{}).Id||"").toString()===i)).first();if(a.length<1)return;let r=t.itm||[],s={},l=a.find("tr.title").first(),d=l.length?l:null;r.forEach((e=>{let t=(e.id||"").toString();if(""===t)return;s[t]=!0;let i=a.find("#itm"+t).first(),r=i.length<1;r&&(i=$$.tr(a,{id:"itm"+t,class:"itm"}));let l=i.data()||{},c=r||(l.Type||"")!==(e.typ||"")||l.net!==n(e.v)||l.net_val!==n(e.vt)||l.vat_val!==n(e.vv)||l.svcnet_val!==n(e.vs)||l.svcvat_val!==n(e.vsv)||(l.position||"")!==(null!=e.p?e.p:"")||(l.lvl||0)!==(e.lvl||0)||(l.SetItmId||null)!==(null!=e.SetItmId?e.SetItmId:null);$.extend(l,{Id:t,Type:e.typ,net:n(e.v),net_val:n(e.vt),vat_val:n(e.vv),svcnet_val:n(e.vs),svcvat_val:n(e.vsv),vat:e.vat,position:null!=e.p?e.p:"",SetItmId:null!=e.SetItmId?e.SetItmId:null,lvl:e.lvl||0}),r&&$.extend(l,{htmltext:e.t,quantity:e.q}),i.data(l),d?i.prev()[0]!==d[0]&&i.insertAfter(d):a.children().first()[0]!==i[0]&&a.prepend(i),d=i,c&&$inv.rrw.call(i)})),a.find("tr.itm").each(((e,t)=>{let n=(($(t).data()||{}).Id||"").toString();""===n||s[n]||$(t).remove()}))}))},applySetDisplay:function(e,t){e.find("tr.itm").each(((e,n)=>{let i=$(n),a=((i.data()||{}).Id||"").toString();if(""===a||!Object.prototype.hasOwnProperty.call(t,a))return;let r=t[a]||{};i.tC("sethdr",bool(r.h,!1)),!1===bool(r.p,!0)&&i.find("td.currency").text("")}))},sync:function(e){let t=$inv.d.token();if(""===t){let t=$inv.d.tbl().data("dseedpromise");return t?$.when(t).then((()=>$inv.d.sync(e))):$.when()}return $inv.d.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.d.refresh()},error:e=>{$inv.d.layout().rC("freeze"),e&&410===e.status&&$inv.d.closed("expired")}})},order:function(){return($inv.d.tbl().data("bai")||[]).map((e=>(e.Id||"").toString()))},syncChanged:function(e){let t=e.data("bai")||[],n=e.data("dhashes")||{},i={},a=[],r=[],s=[];$.each(t,((e,t)=>{let r=(t.Id||"").toString(),s=JSON.stringify(t);i[r]=s,n[r]!==s&&a.push(t)})),$.each(n,(e=>{void 0===i[e]&&r.push(e)}));let l=$inv.d.order(),d=e.data("dorder")||[];return e.data("dhashes",i).data("dorder",l),a.forEach((e=>s.push($inv.d.sync({Target:"block.replace",Ref:(e.Id||"").toString(),Value:e})))),r.forEach((e=>s.push($inv.d.sync({Target:"block.remove",Ref:e})))),d.length===l.length&&d.slice().sort().join(",")===l.slice().sort().join(",")&&d.join(",")!==l.join(",")&&s.push($inv.d.sync({Target:"block.order",Value:l})),$.when.apply($,s).promise()},syncField:function(e,t){let n={invoicetitle:"title",invoiceaddress:"address",invoiceemail:"email",invoiceemailcc:"emailcc",loc:"provisionlocation",provisionlocation:"provisionlocation",provisionperiod:"provisionperiod"}[e];n&&$inv.d.sync({Target:n,Value:t})},footer:function(e,t,n){let i=e.children("tfoot").empty();e.nextAll(".fnote").remove();let a=bool(n.p13b,!1),r=(e,t,n)=>$$.tdc("currency",$$.tr(i,{class:n||"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text(e)]),fnum(t,$rct.cst)),s=t=>$$.dc("fnote").insertAfter(e).rwText(t);r("Netto",t.total_net||0),!1===a&&$.each(t.vat||{},((e,t)=>r($rct.vat+" "+e+"%",t,"tvat"))),r("Summe",t.total_gross||0);let l=n.type||"";"i"===l?(s($rct.note2),s($rct.note4)):"c"===l?s($rct.note2):(s(string($rct.note3,[fnum(((t.service_net||0)+(t.service_vat||0))*(n.tax_servicerefund||0),$rct.cst)])).aC("ntax"),s($rct.note2),s(string($rct.note1,[fnum((t.service_net||0)+(t.service_vat||0),$rct.cst),fnum(t.service_net||0,$rct.cst),fnum(t.service_vat||0,$rct.cst)]))),!0===a&&s($rct.note13b)},validation:function(e){let t=$("div.invoice_layout");if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout(),n=($inv.d.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),a=Math.round(.88*vh()),r=n.total;r>10&&$$.dc("note warn",i).text($ict.tpe),$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(a-rpx(6)).toString()+"px"))}));for(let e=(n.img||[]).length+1;e<=r;e++)$$.dc("pdfp ph",i).append($$.dc("note",$ict.pna));$ocms.dlg(i,{size:[a,Math.round(.88*vw())],zindex:50,form:!1,button:$rct.crI,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("req/sconf"),data:{id:e.invid},success:t=>{i.trigger("modal_close"),!0===t.hasFile&&window.open($ocms.url("req/idoc")+"?id="+e.invid,"_blank"),$inv.d.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($ict.eis)}})},cancel:function(e){confirm($ict.cdI)&&($inv.d.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($ict.eis)}}))},save:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$inv.d.tbl().data("invid",e.invid)},error:()=>{alert($ict.eis)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.d.token();""!==e&&$ocms.postXT({url:$ocms.url("inv/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},discard:function(){let e=$inv.d.tbl().data("invid")||"";""!==e?!1!==confirm("Alle Änderungen verwerfen und den zuletzt gespeicherten Stand neu laden?")&&($inv.d.close(),$inv.cntInv({id:e})):alert("Es wurde noch kein Zwischenstand gespeichert, der wiederhergestellt werden könnte.")},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Rechnungsentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.d.token();$inv.d.tbl().removeData("dtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Rechnungsentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Rechnungsentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.d.token();""!==e&&($ocms.postXT({url:$ocms.url("inv/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.d.tbl().removeData("dtoken")}},$inv.rd={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.rd.tbl().data("rdtoken")||""},seed:function(e){let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.rd.tbl().data("rdtoken",e.token).data("rdver",e.version),$fis.draft.bind(e.token,{onReady:()=>$inv.rd.refresh(),onExpiring:e=>$inv.rd.warnExpiry(e),onClosed:e=>$inv.rd.closed(e)}),$inv.rd.refresh()},error:()=>{t.rC("freeze")}})},refresh:function(e){let t=$inv.rd.token();""!==t&&$ocms.postXT({url:$ocms.url("rem/dstate"),data:{token:t},success:t=>{$inv.rd.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.rd.closed("expired")},complete:()=>{$inv.rd.layout().rC("freeze")}})},applyState:function(e){let t=$inv.rd.tbl();if(t.length<1)return;let n=t.data("rdver");"number"==typeof n&&"number"==typeof e.version&&e.version{let t=$$[0]("p").aC("dnote intro").rwText(e);a.length?t.insertBefore(a):t.appendTo(n)})),((e||{}).closing||[]).forEach((e=>$$[0]("p").aC("dnote closing").rwText(e).appendTo(n)))},sync:function(e){let t=$inv.rd.token();""!==t&&($inv.rd.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.rd.refresh()},error:e=>{$inv.rd.layout().rC("freeze"),e&&410===e.status&&$inv.rd.closed("expired")}}))},syncField:function(e,t){if(""===$inv.rd.token())return;let n={subject:"subject",invoiceaddress:"address",invoiceemail:"email",text:"text"}[e];n&&$inv.rd.sync({Target:n,Value:t})},syncAmount:function(e,t){""!==$inv.rd.token()&&($inv.rd.sync({Target:"amount",Value:(null!=e?e:0).toString()}),$inv.rd.sync({Target:"amount_payed",Value:(null!=t?t:0).toString()}))},footer:function(e,t){let n=e.children("tfoot").empty(),i=$$.tr(n,{class:"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text("Offener Betrag")]);$$.tdc("currency",i,fnum(t.amount_open||0,$rct.cst))},validation:function(e){let t=$inv.rd.layout();if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout(),n=($inv.rd.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),a=Math.round(.88*vh());$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(a-rpx(6)).toString()+"px"))})),$ocms.dlg(i,{size:[a,Math.round(.88*vw())],zindex:50,form:!1,button:$ict.remd,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("rem/conf"),data:{id:e.remid},success:()=>{i.trigger("modal_close"),window.open($ocms.url("rem/idoc")+"?id="+e.remid,"_blank"),$inv.rd.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($t.f1)}})},cancel:function(e){confirm($ict.cdI)&&($inv.rd.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($t.f1)}}))},save:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$inv.rd.tbl().data("remid",e.remid)},error:()=>{alert($t.f1)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.rd.token();""!==e&&$ocms.postXT({url:$ocms.url("rem/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Mahnentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.rd.token();$inv.rd.tbl().removeData("rdtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Mahnentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Mahnentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.rd.token();""!==e&&($ocms.postXT({url:$ocms.url("rem/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.rd.tbl().removeData("rdtoken")}},$inv.cInv2=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n&&n.ft.rwText($rct.rq1);let i=()=>{$ocms.postXT({url:$ocms.url("req/get"),timeout:60,data:{id:e.id,mode:"r"},success:t=>{t.admin=t.admin||{};let n=$fis.lf(!0).aC("fix").rC("hd");if($fis.frm_edit().IN(),$inv.eM(!0,!0),(t.requests||[]).length<1)n.aC("fix").text($rct.nd);else{$$.dc("lh",n,$rct.mdl);let i=$$.d(),a=$$.ul({class:"rql"}).data({search:e.id,parent:t.admin.parent}).appendTo(n),r={},s=$rcol.req.lbl();$.each(t.requests||[],(function(e,t){let n=$$.li({class:"cli rli"}).data($.extend({},t)).appendTo(a),l=$$.dc("lihd",n).addClass(t.state);!0===booln(t.open,!1)&&l.append($$.sc("cbox").click((()=>{n.tC("checked"),i.find("li").rC("checked"),!0===n.is(".checked")?$inv.rMn(t.open):$inv.eM(!0)}))),l.append([$$.sc("eid",t.ExternalId),$$.sc("nme",t.Name)]),$$.dc("lidt",n).append([$$.dc("rqs").append([$$.s(s.State+": "),$$.s($rct.sts[t.State||"-"])]),$$.dc("ivn").append([$$.s(s.InvoiceId+": "),$$.s(t.InvoiceId||"- -")]),$$.dc("wda").append([$$.s(s.WorkDoneAt+": "),$$.s(fdt(t.WorkDoneAt,"dd.MM.yyyy"))])]),r[t.Id]=n})),(t.inv||[]).length>0&&($$.dc("lh",n,$rct.invs),i=$$.ul({class:"ivl"}).appendTo(n),$.each(t.inv||[],((e,t)=>{let n=$$.li({class:"cli ili"}).data($.extend({},t)).appendTo(i),r=$$.dc("lihd",n).addClass(t.invstatus);!1===booln(t.isFinal,!0)?r.append($$.sc("cbox").click((()=>{""!==(t.Id||"")&&(n.tC("checked").siblings().rC("checked"),a.find("li").rC("checked"),!0===n.is(".checked")?$inv.iMnr(t):$inv.eM(!0))}))):["","dft"].indexOf(t.invstatus)<0&&r.append($$.sc("dli").click((function(){$inv.disp(t.Id,"inv")}))),r.append($$.sc("nme",t.DocumentName||t.Id)),$$.dc("lidt",n).append([$$.dc("wda").append([$$.s(fdt(t.DateCreated,"dd.MM.yyyy"))]),$$.d().text($ict.iSt[t.invstatus]||t.invstatus)])})))}},complete:()=>{n&&n.c.trigger("modal_close")}})};$ocms.postXT({url:$ocms.url("req/pget"),timeout:90,data:{id:e.id},success:e=>{n&&n.ft.rwText($rct.rq2),i()},error:()=>{confirm($rct.rq1f)?(n&&n.ft.rwText($rct.rq2),i()):n&&n.c.trigger("modal_close")}})},$inv.ccInv=function(e){let t=(e.data||{}).typ||"r",n=$fis.lf(),i=n.children("ul.rql"),a=i.data("parent"),r=[];if(i.find("li.rli.checked").each((function(){r.push($(this).data("Id"))})),r.length<1)return void alert($rct.dnS);if("i"===t&&r.length>1)return void alert($rct.dII);let s=$fis.frm_edit(),l=$$.dc("invoice_layout",s).append($$.dc("btn sprev").click($inv.sprev)),d=$fis.cf().width()>l.width()+n.width()+20;n.tC("fix",d).tC("hd",!d),$inv.eM(!1,!0);let c=$$.dc("rfrm").ldng(1),o=$ocms.dlg(c,{width:1e3});o.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("req/iget"),timeout:60,data:{id:a,mode:"ful",typ:t,sel:r.join(",")},success:e=>{let t=$$.dc("srq",l),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([jine([fdt(i.WorkDoneAt,"dd.MM.yy"),i.ExternalId]," - "+$rct.req+" "),t.ne(i.Name)],": \n");let a=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(a)}}));let a=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(a),n.ft.appendTo(n.tbl);let r,s,d=e.admin||{},c=(e,t,i,a,r)=>{let s=$$.dc("inpfrm",l).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",s).rwText(t);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},r),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm","","loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(l,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",l).append($$.dc("content").text(d.sender)),d.provisionend&&(s=d.provisionstart?$rct.provP:$rct.provD,r=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",r,"provisionperiod",s,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",l).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{o.c.trigger("modal_close")}})},$inv.ccStInv=function(e){let t=e.data||{},n=$fis.lf(),i=t.id,a=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sprev)),r=$fis.cf().width()>a.width()+n.width()+20;n.tC("fix",r).tC("hd",!r),$inv.eM(!1,!0);let s=$$.dc("rfrm").ldng(1),l=$ocms.dlg(s,{width:1e3});l.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),timeout:90,data:{id:t.id},success:e=>{l&&l.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/icget"),timeout:60,data:{id:i},success:e=>{let t=$$.dc("srq",a),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([fdt(i.WorkDoneAt,"dd.MM.yy")+t.ne(i.Name)],": ");let a=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(a)}}));let r=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(r),n.ft.appendTo(n.tbl);let s,l,d=e.admin||{},c=(e,t,i,r,s)=>{let l=$$.dc("inpfrm",a).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},s),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm",d.provisionlocation,"loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(a,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",a).append($$.dc("content").text(d.sender)),d.provisionend&&(l=d.provisionstart?$rct.provP:$rct.provD,s=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",s,"provisionperiod",l,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",a).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv")},complete:()=>{l.c.trigger("modal_close")}})},error:()=>{l&&l.c.trigger("modal_close")}})},$inv.clCntInv=function(e){let t=$fis.lf(!1),n=[];t.find("li.ili.checked").each((function(){n.push($(this).data("Id"))})),1===n.length&&$inv.cntInv({id:n[0]})},$inv.cntInv=function(e){e=e||{};$fis.lf(!1).rC("fix").aC("hd");let t=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit));$inv.eM(!1,!0);let n=$$.dc("rfrm").ldng(1),i=$ocms.dlg(n,{width:1e3});i.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/get"),timeout:60,data:{id:e.id},success:e=>{e.admin=e.admin||{};let n=e.inv||{},i=$$.dc("srq",t),a=$$.tblset({class:"invi"},i);a.bdy.remove(),a.ft=$$[0]("tfoot"),a.tbl.data($.extend({invid:n.Id,new:{},sms:{},itm:{},bai:[]},e));let r=$$.tr(a.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(r,e))),a.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(a.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(a.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),a.ft.appendTo(a.tbl);let l=(e,n,i,r,s)=>{let l=$$.dc("inpfrm",t).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(n);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{a.tbl.data("new")[i]=e}},s),$inv.eHtml)),a.tbl.data("new")[i]=n};l("tfrm",n.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",n.SendToAddress,"invoiceaddress",0,null),l("locfrm",n.ProvisionLocation,"loc",1,null),$inv.emailFrm(t,a,n.SendToEmail,n.SendToEmailCc),$$.dc("sndfrm",t).append($$.dc("content").text(e.admin.sender)),l("admfrm",n.ProvisionPeriod,"provisionperiod",!0===(n.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),a.tbl.data("new").CustomValues=n.CustomValues||"",$$.dc("inpfrm ctpfrm",t).text(jObj(n.CustomValues,"contactName")),a.tbl.children("tbody").each($inv.bdysort),a.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{i.c.trigger("modal_close")}})},$inv.cSt=function(e){e=e||{};let t=$fis.lf(),n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit)),i=$fis.cf().width()>n.width()+t.width()+20;t.tC("fix",i).tC("hd",!i),$inv.eM(!1,!0);let a=$$.dc("rfrm").ldng(1),r=$ocms.dlg(a,{width:1e3});r.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),data:{id:e.id},success:t=>{r&&r.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/storno"),data:{id:e.id,mode:e.mode},success:e=>{e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b"));let t=e.inv||{},i=$$.dc("srq",n),a=$$.tblset({class:"invi"},i);a.bdy.remove(),a.ft=$$[0]("tfoot"),a.tbl.data($.extend({invid:t.Id,new:{},sms:{},itm:{},bai:[]},e));let r=$$.tr(a.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(r,e))),a.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(a.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(a.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),a.ft.appendTo(a.tbl);let l=(e,t,i,r,s)=>{let l=$$.dc("inpfrm",n).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{a.tbl.data("new")[i]=e}},s),$inv.eHtml)),a.tbl.data("new")[i]=t};l("tfrm",t.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",t.SendToAddress,"invoiceaddress",0,null),l("locfrm",t.ProvisionLocation,"loc",1,null),$inv.emailFrm(n,a,t.SendToEmail,t.SendToEmailCc),$$.dc("sndfrm",n).append($$.dc("content").text(e.admin.sender)),l("admfrm",t.ProvisionPeriod,"provisionperiod",!0===(t.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),a.tbl.data("new").CustomValues=t.CustomValues||"",$$.dc("inpfrm ctpfrm",n).text(jObj(t.CustomValues,"contactName")),a.tbl.children("tbody").each($inv.bdysort),a.tbl.trigger("fds.inv")},complete:()=>{r.c.trigger("modal_close")}})},error:()=>{r&&r.c.trigger("modal_close")}})},$inv.adrCountries=[["DE","Deutschland"],["AT","Österreich"],["CH","Schweiz"],["FR","Frankreich"],["NL","Niederlande"],["BE","Belgien"],["LU","Luxemburg"],["IT","Italien"],["ES","Spanien"],["PL","Polen"],["DK","Dänemark"],["CZ","Tschechien"],["GB","Großbritannien"],["US","USA"]],$inv.composeAddress=function(e){let t=[],n=e=>{""!==(e=(""+(e||"")).trim())&&t.push(e)};n((e=e||{}).name),""!==(""+(e.contact||"")).trim()&&n("z.Hd. "+(""+e.contact).trim()),n(e.line2||e.addressLine2),n(e.street),n(((e.postalCode||"")+" "+(e.city||"")).trim());let i=(""+(e.countryCode||"")).toUpperCase();return""!==i&&"DE"!==i&&n(i),t.join("\n")},$inv.adrCurrent=function(e){let t=jObj((e.data("new")||{}).CustomValues,"sendToAddress");if("string"==typeof t&&"{"===t.trim().charAt(0))try{t=JSON.parse(t)}catch(e){t=null}if(t&&"object"==typeof t)return t;let n=(e.data("admin")||{}).invoiceaddressData;if("string"==typeof n&&"{"===n.trim().charAt(0))try{return JSON.parse(n)}catch(e){}else if(n&&"object"==typeof n)return n;return{}},$inv.eAddress=function(e){let t=$inv.d.tbl(),n=$inv.adrCurrent(t),i=[{name:"name",label:"Name / Firma",type:"text",value:n.name||"",required:!0},{name:"contact",label:"z.Hd. (optional)",type:"text",value:n.contact||""},{name:"street",label:"Straße + Nr.",type:"text",value:n.street||""},{name:"line2",label:"Adresszusatz (optional)",type:"text",value:n.line2||n.addressLine2||""},{name:"postalCode",label:"PLZ",type:"text",value:n.postalCode||""},{name:"city",label:"Ort",type:"text",value:n.city||""},{name:"countryCode",label:"Land",type:"select",url:$inv.adrCountries,value:n.countryCode||"DE"},{name:"vatId",label:"USt-IdNr. (nur bei Firmen)",type:"text",value:n.vatId||""},{name:"leitwegId",label:"Leitweg-ID (nur Behörden / B2G)",type:"text",value:n.leitwegId||""}],a=$$.dc("adr-conformity").append([$$.dc("hd").text("Hinweis zur DATEV-/eRechnungs-Konformität"),$$.dc("tx").text("Pflicht: Name, Straße, PLZ, Ort und Land. Die USt-IdNr. nur bei Firmen angeben — für eine Rechnung an eine Privatperson einfach leer lassen. Eine Leitweg-ID nur bei Behörden (B2G) — dann wird die Rechnung automatisch als XRechnung erzeugt.")]);$ocms.dlgform(i,{title:"Rechnungsempfänger",addcontent:a,success:function(t){let n={name:t.name||"",contact:t.contact||"",line2:t.line2||"",street:t.street||"",postalCode:t.postalCode||"",city:t.city||"",countryCode:t.countryCode||"DE",vatId:(""+(t.vatId||"")).trim(),leitwegId:(""+(t.leitwegId||"")).trim()},i=$inv.composeAddress(n);e.data&&e.data.t&&e.data.t.rwText(i),"function"==typeof(e.data||{}).change&&e.data.change(i),$inv.d.sync({Target:"address",Value:n})}})},$inv.provToIso=function(e){let t=(""+(e||"")).match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);return t?t[3]+"-"+("0"+t[2]).slice(-2)+"-"+("0"+t[1]).slice(-2):""},$inv.eProvisionPeriod=function(e){let t=(""+(e.data&&e.data.t?e.data.t.text():"")).trim().match(/\d{1,2}\.\d{1,2}\.\d{4}/g)||[],n=[{name:"von",label:"Leistungsdatum",type:"date",value:$inv.provToIso(t[0]||"")},{name:"bis",label:"Leistungszeitraum – bis (optional)",type:"date",value:$inv.provToIso(t[1]||"")}],i=$$.dc("adr-conformity").append([$$.dc("hd").text("Leistungsdatum / -zeitraum"),$$.dc("tx").text('Für ein einzelnes Datum nur „Leistungsdatum" ausfüllen; für einen Zeitraum zusätzlich das Bis-Datum. Nur strukturierte Datumsauswahl — für die E-Rechnung empfohlen.')]);$ocms.dlgform(n,{title:"Leistungsdatum / -zeitraum",addcontent:i,success:function(t){let n=(""+(t.von||"")).trim(),i=(""+(t.bis||"")).trim(),a=""===n?"":""===i||i===n?n:n+" - "+i;e.data&&e.data.t&&e.data.t.rwText(a),"function"==typeof(e.data||{}).change&&e.data.change(a),$inv.d.sync({Target:"provisionperiod",Value:a})}})},$inv.eEmail=function(e){let t=[{name:"email",label:$rct.frm.invoiceemail,type:"text",value:(e.data.t||$$.s()).text()},{name:"emailcc",label:$rct.frm.invoiceemailcc,type:"text",value:(e.data.ccT||$$.s()).text()}];$ocms.dlgform(t,{title:$rct.frm.invoiceemail,success:function(t){let n=(""+(t.email||"")).trim(),i=(""+(t.emailcc||"")).trim();e.data&&e.data.t&&e.data.t.text(n),e.data&&e.data.ccT&&e.data.ccT.text(i),"function"==typeof(e.data||{}).change&&e.data.change(n),"function"==typeof(e.data||{}).changeCc&&e.data.changeCc(i),$inv.d.syncField("invoiceemail",n),$inv.rd.syncField("invoiceemail",n),$inv.d.syncField("invoiceemailcc",i),$inv.rd.syncField("invoiceemailcc",i)}})},$inv.emailFrm=function(e,t,n,i){let a=$$.dc("inpfrm emailccfrm",e),r=$$.dc("content",a).rwText(i),s=$$.dc("inpfrm emailfrm",e),l=$$.dc("content",s).rwText(n);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT.invoiceemail}).append(gi("pencil")).click({t:l,ccT:r,nme:"invoiceemail",change:e=>{t.tbl.data("new").invoiceemail=e},changeCc:e=>{t.tbl.data("new").invoiceemailcc=e}},$inv.eHtml)),t.tbl.data("new").invoiceemail=n,t.tbl.data("new").invoiceemailcc=i},$inv.eHtml=function(e){if(e.data&&!(e.data instanceof jQuery)&&$inv.d&&"function"==typeof $inv.d.token&&""!==$inv.d.token()){if("invoiceaddress"===e.data.nme)return $inv.eAddress.call(this,e);if("provisionperiod"===e.data.nme)return $inv.eProvisionPeriod.call(this,e)}if(e.data&&!(e.data instanceof jQuery)&&"invoiceemail"===e.data.nme&&e.data.ccT)return $inv.eEmail.call(this,e);let t=$(this),n=e.data instanceof jQuery?e.data:e.data.t,i=["invoiceemail","invoiceemailcc","provisionperiod","invoicetitle"].includes(e.data.nme),a=i?[{name:"txt",label:"Text",type:"text",value:n.text()}]:[{name:"txt",label:"Text",type:"html",value:n.html(),tinymce:!0,attr:{style:"height: 300px"}}],r=e.data.change||null,s={title:t.data("dialog")||"",success:function(t){i?n.text(t.txt||""):n.html(t.txt),"function"==typeof r&&r(t.txt),$inv.d.syncField(e.data.nme,i?t.txt||"":t.txt),$inv.rd.syncField(e.data.nme,i?t.txt||"":t.txt)},tinymce:{valid_elements:"br",hidemenu:!0,hidetoolbar:!0}};if(Array.isArray(e.data.list)){let t=$$.dc("lstfrm");$.each(e.data.list,((n,i)=>{let a=$$.dc("li",t).append(""!==(e.data.lbl||"")?$$.dc("lbl").rwText(i[e.data.lbl]):null);$$.dc("adr",a).rwText(i[e.data.property]).data("val",i[e.data.property]).click((function(){let e=$(this),t=e.closest(".modal-body").find(':input[name="txt"]');t.is(".tinymce")?tinymce.get(t.attr("id")).setContent($$.s().rwText(e.data("val")).html()):"TEXTAREA"===t.prop("tagName")?t.val(e.data("val")).change():t.rwText(e.data("val"))}))})),s.addcontent=t}$ocms.dlgform(a,s)},$inv.setVat=function(e){$(this);let t=e.data,n=prompt($rct.rqV);n&&(n=parseFloat(n.replace("%","")),n>1&&(n*=.01),!1===isNaN(n)&&(t.siblings(".itm").each((function(){$(this).data().vat=fnum(n,{style:"percent"}).replace(" ","")})),$inv.t_fds_inv()))},$inv.inRow=function(e){let t=$(this),n=e.data,i={},a=$rcol.itm.clone(["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"]),r="N"+(65536*(1+Math.random())||0).toString(16).substr(6),s=$$.tr({id:"itm_"+r.toString(),class:"itm"});$ocms.dlgform(a,{title:t.data("dialog")||"",success:function(e){s.data($.extend({Id:r},i,e)),$inv.rrw.call(s),s.insertAfter(n),$inv.t_fds_inv()},typedvalues:!0})},$inv.eRow=function(e){let t=$(this),n=e.data,i=n.data()||{},a=["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"];i.id||""!==(i.Type||"")||a.unshift("Type");let r=$rcol.itm.clone(a).applyValues(i);r.set("Type","hidden","type"),$inv.eRw.call(t,n,i,r)},$inv.eRw=function(e,t,n){let i=$(this);$ocms.dlgform(n,{title:i.data("dialog")||"",success:function(n){let i={};""===(t.Id||"")&&(i.Id="N"+(65536*(1+Math.random())||0).toString(16).substr(6),e.attr("id","itm_"+i.Id.toString())),i.quantity=((n.quantityhours||"").toString()+" "+(n.UnitString||"").toString()).trimEnd(),e.data($.extend({},t,n,i)),console.debug("eRw success %o",e.data()),$inv.rrw.call(e),$inv.t_fds_inv()},typedvalues:!0})},$inv.bdysort=(e,t)=>{$(t).Sortable({dragItem:!1,dragHandleClass:"ico",parentident:"tr",onend:()=>{$inv.t_fds_inv()}})},$inv.rowCtxMenu=function(e){let t=$$[0]("nav").aC("rowctx");return t.ocmsmenu([{glyph:"glyphicon-option-vertical",aclass:"ctxbtn",attr:{title:$rct.ctxM},itm:e}]),t.find("li[title]").each((function(){let e=$(this);e.children("a").attr("title",e.attr("title"))})),t},$inv.rrw=function(){let e=$(this),t=e.data(),n={},i=e.is(".placeholder"),a=e.is(".hidenote"),r=e=>$$.d().append(e).html(),s=[{lbl:$rct.iRb,attr:{title:$rct.iRb},data:e,fnc:$inv.inRow}];!1===i&&(s.unshift({lbl:$rct.cP,attr:{title:$rct.cP},data:e,fnc:$inv.eRow}),s.push({lbl:$rct.dR,attr:{title:$rct.dR},fnc:function(t){confirm($rct.cD)&&(e.remove(),$inv.t_fds_inv())}}),"set"===(t.Type||"").toLowerCase()&&0===(t.net_val||0)&&s.push({lbl:$rct.toSetP,attr:{title:$rct.toSetP},data:e,fnc:$inv.toSetPrice}));let l=$$.dc("axf").append($inv.rowCtxMenu(s));!0===i?n={id:"",typ:"placeholder"}:!0===e.is(".itm.osum")?n={invrqid:t.InvRqId,id:"osum"+e.index(),typ:"osum",p:"",q:null,t:r(t.tbl.tbl),tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:!1}:(n={invrqid:t.InvRqId,id:t.Id||"",typ:t.Type||"other",p:"",q:null,t:"",tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:""!==(t.Note||"")&&!1===a,SetItmId:t.SetItmId||null,lvl:t.lvl||0},$$.dc("ibtn ico move",l,{title:$rct.mR}),n.p=null!=t.position?t.position:t.SortOrder||"",""===n.id?n.t="":["Text","Title"].includes(n.typ)&&0===(t.net_val||0)?n.t=t.htmltext||("#"!==(t.NameOrNumber||"").substr(0,1)?r($$[0]("p").text(t.NameOrNumber)):"")+(t.Note||""):(n.tt=n.det?"":$$.s(t.Note||"").text(),n.q=t.quantity||(0!==(t.quantityhours||0)?fnum(t.quantityhours)+" "+(t.UnitString||""):""),n.t=t.htmltext||(n.det?r($$.s(t.NameOrNumber||""))+r($$.dc("desc").html(t.Note)):r($$.s(t.NameOrNumber||""))),n.v=t.net,n.vt=t.net_val)),""!==(t.Note||"")&&$$.dc("ibtn add",l,{title:$rct.noteToggle}).append(gi("object-align-left")).click((function(t){$inv.rrw.call(e.tC("hidenote"))}));let d=[$$.tdc("aux").append(l),$$.tdc("keep").text(n.p)];if(""===n.id)d.push($$.td(e,{colspan:4}).append(n.t));else{Array.prototype.push.apply(d,n.q?[$$.tdc("keep").text(n.q)]:[]);let e=e=>null==e?"":fnum(e,$rct.cst);Array.prototype.push.apply(d,[$$.tdc("txt",{colspan:n.q?1:2,title:n.tt}).append(n.t),$$.tdc("currency").text(e(n.v)),$$.tdc("currency inetval").text(e(n.vt)).attr("title",$rct.svcPart+": "+e(n.vs))])}e.empty().attr("class",i?"placeholder":"itm").aC(n.Typ).tC("sethdr","set"===(n.typ||"").toString().toLowerCase()).aC((n.lvl||0)>0?"lvl"+Math.min(n.lvl,6):"").tC("hidenote",a).append(d),t.co=n},$inv.toSetPrice=function(e){let t=(e.data.data().Id||"").toString();""!==t&&!1!==confirm($rct.toSetPc)&&$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:"item.setprice",Ref:t})}))},$inv.invSumUpdate=function(){let e=$(this),t=[],n=e.children("tbody"),i=[];n.each(((e,n)=>{let a=$(n),r=a.data()||{},s=[],l=[],d=a.find("tr.itm");a.tC("empty",d.length<1),d.each(((e,t)=>{let n=$(t).data()||{};s.push(n.co);let a=$inv.itemToContract(n),r=(n.SetItmId||"").toString();""!==r&&r!==a.id&&(a.setId=r),l.push(a);let d=!1===["text","title"].includes((n.Type||"other").toLowerCase());n.position=((e,t)=>{if(!e)return"";let n=Math.max(t||0,0);for(;i.length<=n;)i.push(0);return i.length=n+1,i[n]++,i.join(".")})(d,(n.co||{}).lvl||0),$inv.rrw.call(t)})),t.push({Id:r.Id,nme:r.Name,text:r.text,itm:s,items:l})}));let a=e.find("tbody:not(.empty)").length;n.find("tr.isum").tC("hidden",a<2),e.data("bai",t),""===(e.data("dtoken")||"")&&!1===bool(e.data("dseeding"),!1)&&null!=(e.data("admin")||{}).type&&(e.data("dseeding",!0),$inv.d.seed($.extend($inv.invcPayload(e.data()),{invid:e.data("invid")||""})))},$inv.worknotes=function(e){let t="";return e.steps.forEach(((e,n)=>{let i;try{i=JSON.parse(e.Data||{}).fields||[]}catch(e){console.debug(e),i=[]}!0!==Array.isArray(i||"")&&(i="object"==typeof i&&!0===Array.isArray(i.field||"")?i.field:[]),i.forEach(((e,n)=>{"Ausgeführte Arbeiten"===e.name&&(t=e.result||"")}))})),t},$inv.rendersrq=function(){let e=$(this).empty(),t=e.is(".onesum"),n=e.data(),i=$$.tr(e,{id:"srq"+n.Id}).aC("title nosort"),a=($rcol.itm.lbl(),$$.dc("axf").appendTo($$.tdc("aux",i)));$$.dc("ibtn osum",a,{title:$rct.combP}).append(gi("euro")).click((function(t){e.tC("onesum"),$inv.rendersrq.call(e),$inv.t_fds_inv()})),$$.dc("ibtn setvat",a,{title:$rct.sV}).append(gi("gbp")).click(i,$inv.setVat),$$.dc("ibtn insb",a,{title:$rct.iRb}).append(gi("indent-left")).click(i,$inv.inRow);let r,s=$$.sc("text",n.text),l=($$.td(i,{colspan:t?4:5}).append(s),["net_val","vat_val","svcnet_val","svcvat_val","net"]);if($$.dc("ibtn edit",a,{title:$rct.sectionTitleEditTT}).data("dialog",$rcol.req.lbl().Name).append(gi("pencil")).click({t:s,change:e=>{n.text=e,$inv.t_fds_inv()}},$inv.eHtml),t&&($$.tdc("currency isumval",i),r={Id:n.Id.toString()+"_osum",net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0},r.tbl=$$.tblset({class:"stbl"})),$.each(n.items||[],((n,i)=>{let a,s={Id:i.Id,net_val:i.net_val||0,vat_val:i.vat_val||0,svcnet_val:0,svcvat_val:0,net:i.net||0,Note:i.Note||""};if("service"===i.Type.toLowerCase())s.svcnet_val=i.net_val||0,s.svcvat_val=i.vat_val||0;t?(a=$$.tr(r.tbl.bdy,{id:"itm"+i.Id,class:"sitm"}).aC(i.Type),"Text"===i.Type||"Title"===i.Type?$$.td(a,{colspan:2}).html(i.htmltext||i.Note):($$.tdc("keep",a).text(i.quantity||((i.quantityhours||0)>0?fnum(i.quantityhours)+(i.UnitString||"").eine(" ",""):"")),i.htmltext?$$.tdc("txt",a).html(i.htmltext):$$.tdc("txt",a).text(i.NameOrNumber).attr("title",i.Note)),$.each(l,((e,t)=>{r[t]+=s[t]})),a.data(s)):($.extend(s,i),a=$$.tr(e,{id:"itm"+i.Id,class:"itm"}),a.data(s),$inv.rrw.call(a))})),t){let t=$$.tr(e,{id:"itmsq"+n.Id,class:"itm osum"}).data(r);$inv.rrw.call(t)}else{let t=$$.tr(e).aC("isum nosort");$$.tdc("aux",t),$$.td(t,{colspan:4}).text($rct.iSum),$$.tdc("currency isumval",t)}},$inv.t_fds_inv=()=>{let e=$("div.invoice_layout table.invi");if(e.trigger("fds.inv"),""!==(e.data("dtoken")||""))return $inv.d.syncChanged(e);let t=e.data("dseedpromise");return t?$.when(t).then((()=>$inv.d.syncChanged(e))):$.when()},$inv.sedit=()=>{$inv.sprev(!0)},$inv.jdisp=function(e){e.stopPropagation(),e.data.id&&$inv.disp(e.data.id,e.data.typ||"")},$inv.disp=(e,t)=>{let n="";switch(t){case"inv":n="inv/rdoc";break;case"rem":n="rem/rdoc"}""!==n&&$ocms.postXT({url:$ocms.url(n),data:{id:e||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex_min:50,form:!1,exclusive:!1})}})},$inv.jdbn=function(e){$ocms.postXT({url:$ocms.url("inv/rdocn"),data:{name:e.data.id||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex:50,form:!1})}})},$inv.sp13b=()=>{var e=$("div.invoice_layout").find("table.invi"),t=e.data();t.admin.p13b=!0,!1===(t.inv.InvoiceOptions||"").split(",").includes("§13b")&&(t.inv.InvoiceOptions+=",§13b"),e.trigger("fds.inv"),$inv.d.sync({Target:"p13b",Value:t.admin.p13b})},$inv.itemToContract=function(e){let t=((e=e||{}).Type||"").toString().toLowerCase(),n=e=>e??null,i={id:(e.Id||"").toString(),type:t,title:"",desc:"",qty:"",price_net:"",total_net:n(e.net_val),vat:e.vat||""};var a;return e.co&&"osum"===e.co.typ?(i.desc=e.co.t||"",i.total_net=e.net_val||0):["text","title"].includes(t)&&0===(e.net_val||0)?(i.desc=e.htmltext||("#"!==(e.NameOrNumber||"").substr(0,1)?(a=$$[0]("p").text(e.NameOrNumber||""),$$.d().append(a).html()):"")+(e.Note||""),i.total_net=""):(e.htmltext?i.desc=e.htmltext:(i.title=e.NameOrNumber||"",i.desc=e.Note||""),i.qty=e.quantity||(0!==(e.quantityhours||0)?fnum(e.quantityhours)+(e.UnitString?" "+e.UnitString:""):""),i.price_net=n(e.net),i.total_net=n(e.net_val)),i},$inv.hasSets=e=>((e||{}).req||[]).some((e=>{let t=((e||{}).itm||[]).filter((e=>e&&""!==(e.id||""))),n={};t.forEach((e=>{n[(e.id||"").toString()]=e}));return t.some((e=>{let t=(null==e.SetItmId?"":e.SetItmId).toString();return""!==t&&t!==(e.id||"").toString()&&n[t]&&(e=>"set"===(e.typ||"").toString().toLowerCase())(n[t])}))})),$inv.ssetmode=()=>{let e,t=$("div.invoice_layout").find("table.invi").data();if(t.dstate&&!1===$inv.hasSets(t.dstate))return void alert($rct.toSetMn);let n=t=>$$.dc("btn",$ict.setmo[t]).click((()=>{e.c.trigger("modal_close"),$inv.setSetmode(t)})),i=$$.dc("choicefrm").append([n("setprice"),n("setonly")]);e=$ocms.dlg(i,{width:800})},$inv.setSetmode=e=>{if(!1===confirm($rct.toSetMc||$rct.toSetPc))return;let t="setonly"===e?"block.setonly":"block.setprice";$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:t})}))},$inv.sctp=()=>{let e=$invcol.ctp;$ocms.dlgform(e,{title:$ict.ctp,success:function(e){var t=$("div.invoice_layout"),n=t.find("table.invi").data();let i={};void 0!==n.new&&"{"===(n.new.CustomValues||"").substr(0,1)&&(i=JSON.parse(n.inv.CustomValues)),i.contactName=e.name,i.contactEmail=e.email,n.new.CustomValues=JSON.stringify(i),t.find(".ctpfrm").text(ne(e.name,e.email)),$inv.d.sync({Target:"contact",Value:{name:e.name,email:e.email}})},typedvalues:!0})},$inv.invcPayload=function(e){e=e||{};let t=$.extend({},e.new),n=$.extend({},e.admin);return t.title=null!=t.invoicetitle?t.invoicetitle:t.title||"",t.provisionlocation=null!=t.loc?t.loc:t.provisionlocation||"",t.paymentterm=null!=n.paymentterms?n.paymentterms:t.paymentterm||"",n.customerid=null!=n.customerid?n.customerid:n.CustomerId,{admin:n,req:e.bai,new:t}},$inv.ssave=()=>{$inv.d.save()},$inv.sprev=e=>{$inv.d.preview()},$inv.rReload=()=>{try{let e=$("#listframe ul.rql:first").data();$inv.cInv2({id:e.search})}catch(e){}},$inv.quantChange=function(e){},$inv.storno=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Storno ohne Details").click({id:e,mode:"simple"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)})),$$.dc("btn","Storno mit neuer Rechnung").click({id:e},(e=>{n.c.trigger("modal_close"),$inv.ccStInv(e)})),$$.dc("btn","Storno mit best. Rechnung").tC("inactive",!1===bool(t,!1)).click({id:e,mode:"copy"},(e=>{!0===bool(t,!1)&&(n.c.trigger("modal_close"),$inv.cSt(e.data))}))]);n=$ocms.dlg(i,{width:1e3})},$inv.credit=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Gutschrift").click({id:e,mode:"credit"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)}))]);n=$ocms.dlg(i,{width:1e3})},$inv.setPyd=function(e){confirm($ict.cpyd)&&$ocms.postXT({url:$ocms.url("inv/setpyd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.setUpd=function(e){confirm($ict.cupd)&&$ocms.postXT({url:$ocms.url("inv/setupd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.resendRem=function(e){e.stopPropagation(),e.data.id&&confirm(string($ict.remresc,[e.data.name]))&&$ocms.postXT({url:$ocms.url("rem/resend"),timeout:60,data:{id:e.data.id},success:t=>{alert(string($ict.remresr,[e.data.name]))},error:()=>{alert($t.f1)}})},$inv.dspRem=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/getrem"),timeout:60,data:{id:e,drafts:!1},success:e=>{n.ft.empty();let i=$$.tblset({class:"invtbl"},t.empty()),a=$invcol.rem2,r=$$.tr(i.hd);$$.th(r);$.each(a.fields||[],((e,t)=>{$$.th(r).text(t.label)}));let s=!1;$.each(e,((e,t)=>{s=!s;let n=$$.tr(i.bdy).tC("alt",s),r=$$.td(n);n.click((function(){n.tC("selected").siblings().rC("selected")})),!0===bool(t.hasFile,!1)&&($$.dc("idl ilbtn",r,{title:$ict.dl+"\n"+t.DocumentName}).append(gi("save-file","ico")).click({id:t.Id},$inv.downloadrem),$$.dc("idl ilbtn",r,{title:$ict.remdsp+"\n"+t.DocumentName}).append(gi("eye-open","ico")).click({id:t.Id,typ:"rem"},$inv.jdisp),$$.dc("idl ilbtn",r,{title:$ict.remres+"\n"+t.DocumentName}).append(gi("refresh","ico")).click({id:t.Id,typ:"rem",name:t.DocumentName},$inv.resendRem)),$.each(a.fields||[],((e,i)=>{let a=$$.td(n).aC(i.dtype),r=t[i.name];if("function"==typeof i.dfnc)i.dfnc.call(a,r,t);else switch(i.type||""){case"date":a.text(fdt(t[i.name],"dd.MM.yy"));break;case"datetime":a.text(fdt(t[i.name]));break;case"html":a.append($$.dc("ctw").html(r)),a.append($$.dc("ttip").html(r));break;default:a.text(t[i.name])}if("InvoiceId"===(i.name||""))a.aC("keep");switch(typeof i.title){case"function":i.title.call(a,t);break;case"string":a.attr("title",cs.title)}}))}))},error:()=>{t.empty(),n.ft.rwText($t.f1)},complete:()=>{t.ldng(0)}})},$inv.ccRem=function(e,t){$(this);$ocms.postXT({url:$ocms.url("rem/lrem"),timeout:60,data:{id:e},success:n=>{let i=$invcol.rid.clone();i.applyValues(n.ov);let a=$$.dc("ac"),r=$$.tblset({class:"fullgrid fullwidth"},a);if((n.lst||[]).length>0){$$.d({style:"margin: 1.5rem 0 1rem 0;font-size: 110%;text-decoration: underline;"}).prependTo(a).text($ict.rovlh);let e=$$.tr(r.hd);$ict.rovl.forEach(((t,n)=>$$.th(e,t))),$.each(n.lst,((e,t)=>{$$.tr(r.bdy).append([$$.tdc("keep",t.subject),$$.tdc("currency",fnum(t.amount,$rct.cst)),$$.tdc("currency",fnum(t.amount_payed,$rct.cst)),$$.tdc("keep",fdt(t.DateFinalized,"dd.MM.yy"))])}))}else $$.td($$.tr(r.bdy),$ict.nd);$ocms.dlgform(i,{addcontent:a,title:string($ict.remdt,[t||"?"]),success:function(t){$inv.ccRem_s2(e,t)},typedvalues:!0})}})},$inv.rRemRw=function(e){let t=$(this),n=e.rm||{};t.empty().data({invoiceid:n.invoiceid,invoicedate:n.invoicedate,amount:n.amount,amount_payed:n.amount_payed});let i=[{lbl:$rct.cP,attr:{title:$rct.cP},data:t,fnc:$inv.eRowR}],a=$$.dc("axf").append($inv.rowCtxMenu(i));t.append([$$.tdc("aux").append(a),$$.tdc("keep",n.invoiceid),$$.tdc("keep",fdt(n.invoicedate,"dd.MM.yy")),$$.tdc("currency",fnum(n.amount,$rct.cst)),$$.tdc("currency",fnum(n.amount_payed,$rct.cst)),$$.tdc("currency",fnum(n.amount-n.amount_payed,$rct.cst))])},$inv.eRowR=function(e){let t=$(this),n=e.data,i=n.data()||{},a=$invcol.rem.clone().applyValues(i);$ocms.dlgform(a,{title:t.data("dialog")||"",success:function(e){let i=t.closest("table"),a=i.data();$.extend(a.rm,e),i.data(a),$inv.rRemRw.call(n,a),$inv.rd.syncAmount(a.rm.amount,a.rm.amount_payed)},typedvalues:!0})},$inv.ccRem_s2=function(e,t){$fis.lf(!1).rC("fix").aC("hd");let n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.rprev));$inv.eM(!1,!0);$$.dc("rfrm").ldng(1);$ocms.postXT({url:$ocms.url("rem/get"),timeout:60,data:$.extend({id:e},t),success:e=>{let t=e.rm||{},i=$$.dc("srq",n),a=$$.tblset({class:"invi"},i);a.ft=$$[0]("tfoot"),a.tbl.data($.extend({invid:t.invid,new:{}},e));let r=$$.tr(a.hd).aC("shd").append([$$.th().aC("aux")]);$ict.remHR.forEach((e=>$$.th(r,e))),$inv.rRemRw.call($$.tr(a.bdy),a.tbl.data()),a.ft.appendTo(a.tbl);let s={invoiceemail:"Email-Adresse ändern",subject:"Betreff ändern"},l=(e,t,i,r,l)=>{let d=$$.dc("inpfrm",n).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),c=$$.dc("content",d).rwText(t);$$.dc("axf",d).append($$.dc("ibtn edit",{title:s[i]||$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:c,nme:i,change:e=>{a.tbl.data("new")[i]=e}},l),$inv.eHtml)),a.tbl.data("new")[i]=t};l("tfrm",t.subject,"subject",0,null),l("adrfrm",t.invoiceaddress,"invoiceaddress",0,null),l("emailfrm",t.invoiceemail,"invoiceemail",0,null),$$.dc("sndfrm",n).append($$.dc("content").text(t.sender)),a.tbl.children("tbody").each($inv.bdysort),a.tbl.trigger("fds.inv");let d=a.tbl.data("new");d.amount=t.amount,d.amount_payed=t.amount_payed,$inv.rd.seed({rem:{invid:t.invid,type:t.type,invoiceid:t.invoiceid,invoicedate:t.invoicedate},new:d})},complete:()=>{}})},$inv.rprev=()=>{$inv.rd.preview()},$inv.sis=e=>{confirm($ict.sisc)&&$ocms.postXT({url:$ocms.url("inv/sis"),data:{id:e||""},success:e=>{}})},$inv.srs=e=>{confirm($ict.srsc)&&$ocms.postXT({url:$ocms.url("rem/srs"),data:{id:e||""},success:e=>{}})},$inv.mfrrel=e=>{$("#contentframe").ldng(),$ocms.postXT({url:$ocms.url("inv/mfrrel"),data:{id:e||""},success:e=>{$inv.rerenderinv()},complete:()=>{$("#contentframe").ldng(0)}})},$inv.sets={o:null,c:null,drag:null,isOpen:()=>!!$inv.sets.o,open:function(){let e=$inv.d.tbl();if(e.length<1||$inv.sets.isOpen())return;if(""===$inv.d.token()&&!e.data("dstate"))return;let t=$$.dc("setstruct");$inv.sets.c=t,$inv.sets.o=$ocms.dlg(t,{title:$ict.setst,size:[-1,960],exclusive:!1,close:()=>{$inv.sets.o=null,$inv.sets.c=null,$inv.sets.drag=null}});let n=e.data("dstate");n?$inv.sets.render(n):$inv.d.refresh()},title:e=>{let t=$$.d().html(e.t||"").text().replace(/\s+/g," ").trim();return""!==t?t:$ict.setsNoTitle||""},typLbl:e=>{let t=(e.typ||"").toString().toLowerCase();return($ict.settyp||{})[t]||e.typ||""},isSet:e=>"set"===(e.typ||"").toString().toLowerCase(),parentOf:(e,t)=>{let n=(null==e.SetItmId?"":e.SetItmId).toString(),i=(e.id||"").toString();if(""===n||n===i)return"";let a=t[n];return a&&$inv.sets.isSet(a)?n:""},isDescendant:(e,t,n)=>{let i={},a=n[e];for(;a;){let e=$inv.sets.parentOf(a,n);if(""===e||i[e])return!1;if(e===t)return!0;i[e]=!0,a=n[e]}return!1},canDrop:(e,t,n,i)=>!!e&&e.bid===n&&e.id!==t&&!$inv.sets.isDescendant(t,e.id,i),sync:e=>($inv.sets.c&&$inv.sets.c.aC("busy"),$inv.d.sync(e)),render:function(e){let t=$inv.sets.c;if(!t)return;let n=t.closest(".modal-body"),i=n.length?n.scrollTop():0;t.empty().rC("busy"),$$.dc("shint",t).text($ict.setsHint||""),(e.req||[]).forEach((e=>{if(!e)return;let n=(e.Id||"").toString();if(""===n)return;let i=(e.itm||[]).filter((e=>e&&""!==(e.id||""))),a={};i.forEach((e=>{a[(e.id||"").toString()]=e}));let r=$$.dc("sblock",t).data({bid:n});$inv.sets.rootZone($$.dc("sbhd",r).append($$.sc("nme",e.text||e.nme||n)),n,a);let s=$$.tblset({class:"stbl"},r),l=$$.tr(s.hd);($ict.setsHR||[]).forEach((e=>$$.th(l,e))),i.forEach((e=>$inv.sets.row(s.bdy,e,n,i,a))),$inv.sets.rootZone($$.dc("sroot",r).text($ict.setsRoot||""),n,a),$inv.sets.createBar(r,n,i,a)})),n.length&&n.scrollTop(i)},collapsed:{},hiddenByCollapse:function(e,t){let n={},i=e;for(;i;){let e=$inv.sets.parentOf(i,t);if(""===e||n[e])return!1;if($inv.sets.collapsed[e])return!0;n[e]=!0,i=t[e]}return!1},zone:function(e,t,n){let i=e.originalEvent||e,a=t[0].getBoundingClientRect(),r=(i.clientY||0)-a.top,s=a.height||1;return r<.3*s?"before":r>.7*s||!n?"after":"into"},clearDrop:()=>{$(".setstruct .dropok, .setstruct .dropbefore, .setstruct .dropafter").rC("dropok dropbefore dropafter")},row:function(e,t,n,i,a){let r=(t.id||"").toString(),s=parseInt(t.lvl||0,10)||0,l=$inv.sets.isSet(t),d=$inv.sets.parentOf(t,a),c=l&&!!$inv.sets.collapsed[r],o=$$.tr(e,{draggable:"true"}).aC("srow lvl"+s).tC("isset",l).tC("folded",c).data({id:r,bid:n});$inv.sets.hiddenByCollapse(t,a)&&o.aC("hid"),$$.tdc("grip",o).append(gi("move")).attr("title",$rct.mR),$$.tdc("pos",o).text(null!=t.p?t.p:"");let $=$$.tdc("typ",o);l&&$.append($$.sc("fold").attr("title",c?$ict.setsExpand:$ict.setsCollapse).append(gi(c?"triangle-right":"triangle-bottom")).click((e=>{e.stopPropagation(),c?delete $inv.sets.collapsed[r]:$inv.sets.collapsed[r]=!0;let t=$inv.d.tbl().data("dstate");t&&$inv.sets.render(t)}))),$.append($$.s($inv.sets.typLbl(t))),$$.tdc("qty",o).text(t.q||"");let u=$$.tdc("ttl",o).append($$.sc("ind").css("width",(1.4*s).toString()+"rem")).append($$.s($inv.sets.title(t)));if(l){let e=i.filter((e=>$inv.sets.parentOf(e,a)===r)).length;u.append($$.sc("cnt"," ("+e+")"))}let m=i.filter((e=>$inv.sets.parentOf(e,a)===d)),v=m.findIndex((e=>(e.id||"").toString()===r)),p=m.slice(0,v).some((e=>$inv.sets.isSet(e))),f=$$.tdc("act",o),h=(e,t,n,i,a)=>$$.dc("ibtn "+e,f,{title:n}).append(gi(t)).tC("disabled",!i).click((()=>{i&&$inv.sets.sync(a)}));h("up","arrow-up",$ict.setsUp,v>0,{Target:"set.move",Ref:r,Value:-1}),h("down","arrow-down",$ict.setsDown,v>=0&&v0,{Target:"set.level",Ref:r,Value:-1}),h("in","chevron-right",$ict.setsIn,p,{Target:"set.level",Ref:r,Value:1}),o.on("dragstart",(e=>{$inv.sets.drag={id:r,bid:n},o.aC("dragging");try{e.originalEvent.dataTransfer.setData("text/plain",r),e.originalEvent.dataTransfer.effectAllowed="move"}catch(e){}})).on("dragend",(()=>{o.rC("dragging"),$inv.sets.drag=null,$inv.sets.clearDrop()}));return o.on("dragover",(e=>{if(!$inv.sets.canDrop($inv.sets.drag,r,n,a))return;e.preventDefault();let t=$inv.sets.zone(e,o,l);o.rC("dropok dropbefore dropafter").aC("into"===t?"dropok":"before"===t?"dropbefore":"dropafter")})).on("dragleave",(()=>{o.rC("dropok dropbefore dropafter")})).on("drop",(e=>{e.preventDefault(),$inv.sets.clearDrop();let t=$inv.sets.drag;if($inv.sets.drag=null,!$inv.sets.canDrop(t,r,n,a))return;let i=$inv.sets.zone(e,o,l);"into"===i?$inv.sets.sync({Target:"set.assign",Ref:t.id,Value:{parent:r}}):$inv.sets.sync({Target:"set.move",Ref:t.id,Value:{anchor:r,where:i}})})),o},rootZone:function(e,t,n){return e.on("dragover",(i=>{(()=>{let e=$inv.sets.drag;return!!e&&e.bid===t&&!!n[e.id]&&""!==$inv.sets.parentOf(n[e.id],n)})()&&(i.preventDefault(),e.aC("dropok"))})).on("dragleave",(()=>{e.rC("dropok")})).on("drop",(i=>{i.preventDefault(),e.rC("dropok");let a=$inv.sets.drag;$inv.sets.drag=null,a&&a.bid===t&&n[a.id]&&""!==$inv.sets.parentOf(n[a.id],n)&&$inv.sets.sync({Target:"set.assign",Ref:a.id,Value:{parent:""}})})),e},createBar:function(e,t,n,i){let a=$$.dc("screate",e),r=$("").attr({name:"typ"}).append([$$.opt("set",$ict.settyp.set),$$.opt("text",$ict.settyp.text)]),s=$("").attr({name:"parent"}).append($$.opt("",$ict.setsTop));n.forEach((e=>{if(!$inv.sets.isSet(e))return;let t=parseInt(e.lvl||0,10)||0;s.append($$.opt((e.id||"").toString()," ".repeat(3*t)+$inv.sets.title(e)))}));let l=$('').attr({name:"title",placeholder:$ict.setsTitle,maxlength:250}),d=()=>{let e=(l.val()||"").toString().trim();""!==e?($inv.sets.sync({Target:"set.create",Ref:t,Value:{typ:r.val(),title:e,parent:s.val()||""}}),l.val("")):l.focus()};return l.on("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),d())})),a.append([$$.sc("lbl",$ict.setsNew),r,$$.sc("lbl",$ict.setsInto),s,l,$$.bbtn($ict.setsAdd,"sadd").click(d)]),a}}; \ No newline at end of file +let $rct={mdl:"Aufträge",or:"offene Aufträge",orr:"offene Aufträge (4 W)",rn:"Auftragsnummer",iov:{all:"Auftragsübersicht (alle)","":"Auftragsübersicht"},wk:"Woche",nd:"Keine Daten gefunden.",h:"Uhr",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",rq1f:"Die Auftragsdaten von MFR konnten nicht oder nicht schnell genug abgerufen werde.\nMöchten Sie mit den bestehenden Daten trotzdem weitermachen?",note1:"Im Bruttobetrag sind {0} Lohnkosten enthalten (netto {1}). Die darin enthaltene Umsatzsteuer beträgt {2}.",note2:"Bitte beachten Sie, nach §14 Abs. 1 Umsatzsteuergesetz ist diese Rechnung ein Zahlungsbeleg oder eine andere beweiskräftige Unterlage für 2 Jahre nach Ablauf des Kalenderjahres der Ausstellung dieser Rechnung aufzubewahren, soweit nicht aufgrund anderer gesetzlicher Regelungen andere ggf.längere Aufbewahrungsfristen gelten.",note3:"Privathaushalten erstattet das Finanzamt bis zu {0} des Arbeitslohns mit der nächsten Steuererklärung.",note4:"Für bereits erbrachte Arbeiten, Dienstleistungen, Materiallieferungen und getätigte Bestellvorgänge zum oben genannten Bauvorhaben, die sich aus dem mit Ihnen geschlossenen Vertrag ergeben, stellen wir Ihnen vertragsgemäß unsere Akontozahlung in Rechnung. Eine Endabrechnung erhalten Sie als Schlussrechnung nach Abschluss des gesamten Bauvorhabens. Das Ausführungsdatum entnehmen Sie bitte dem Schlusstext dieser Rechnung. Wir danken Ihnen herzlich für das entgegengebrachte Vertrauen und bitten Sie um kurzfristigen Ausgleich der Akontorechnung.",note13b:"Gem. §13b Umsatzsteuergesetz unterliegen Sie der Steuerschuldnerschaft des Leistungsempfängers zur Umsatzsteuer aus dieser Rechnung mit einem Steuersatz von 19%.",crI:"Rechnung erstellen",crII:"Abschlagsrechnung erstellen",dII:"Für eine Abschlagsrechnung darf nur ein Auftrag gewählt werden.",dnS:"Für eine Rechnung muss mindestens ein Auftrag gewählt werden.",inv:"Rechnung",invs:"Rechnungen",req:"Auftrag",provP:"Leistungszeitraum",provD:"Leistungsdatum",cP:"Position ändern",iRb:"Zeile darunter einfügen",dR:"Zeile löschen",sV:"USt festlegen",cD:"Löschen?",mR:"Zeile verschieben",ctxM:"Weitere Aktionen",noteToggle:"Notiz ein-/ausblenden",sectionTitleEditTT:"Auftragsbezeichnung ändern",svcPart:"Service-Anteil",vat:"Umsatzsteuer",combP:"Positionen zusammenfassen",toSetP:"Auf Setpreis umstellen (Positionen ohne Preis)",toSetPc:"Der Set-Preis wird auf die Summe seiner Positionen gesetzt und die Positionen selbst verlieren ihren Preis. Das ist nicht rückgängig zu machen (der Betrag kann danach nur noch manuell geändert werden). Fortfahren?",toSetMc:"Jedes Set erhält die Summe seiner Positionen als Set-Preis; die Positionen des Sets werden ohne Preis dargestellt bzw. ausgeblendet. Positionen ausserhalb eines Sets bleiben unverändert einzeln aufgeführt. Das ist nicht rückgängig zu machen (die Set-Preise können danach nur noch manuell geändert werden). Fortfahren?",toSetMn:'Diese Rechnung enthält kein Set. Legen Sie zuerst über "Set-Struktur bearbeiten" ein Set an bzw. ordnen Sie Positionen einem Set zu.',iSum:"Zwischensumme",dtRel:"Freigegeben am: ",dtCr:"Erstellt am: ",rqV:"USt des Auftrags?",cthd:"wirklich aus-/einblenden ?",cst:{style:"currency",currency:"EUR"},sts:{IsWorkDone:"Arbeiten erledigt",Closed:"Auftrag geschlossen",SubcontractorPendingConfirmation:"Warten auf Bestätigung (Unterauftrag)",Scheduled:"Geplant",OfferIsRejected:"Angebot abgelehnt",OfferIsSend:"Offen (Angebot versandt)",CollaborationWaitingConfirmation:"Warten auf Bestätigung (Zusammenarbeit)",Released:"Freigegeben",OfferIsConfirmed:"Bestätigt",InProgress:"In Bearbeitung",ReadyForScheduling:"Zur Planung",Created:"Erstellt",Rejected:"Abgebrochen",Invoiced:"Rechnung gestellt","-":"-"},invHR:["Pos.","Menge","Artikelbezeichnung","VK","Summe"],frm:{invoicetitle:"Titel",invoiceaddress:"Adresse",loc:"Leistungsort / Lieferadresse",invoiceemail:"Email",invoiceemailcc:"Zusatzempfänger (CC)",provisionperiod:"Leistungsdatum / -zeitraum"},frmTT:{invoicetitle:"Rechnungstitel ändern",invoiceaddress:"Rechnungsempfänger-Adresse ändern",loc:"Leistungsort oder Lieferadresse ändern",invoiceemail:"Email-Adresse ändern und zusätzliche Email-Empfänger festlegen",provisionperiod:"Leistungsdatum oder -zeitraum ändern"}},$rcol={req:new fields_definition("Auftrag","Aufträge",[{name:"tags",label:"",type:"string",dfnc:function(e,t){""!==(e||"")&&($(this).aC("tags"),e.split(",").forEach((e=>{""!==e&&$(this).append($$.sc("tag "+e.replace(" ","_").replace("/","_").toLowerCase(),e))})))}},{name:"DateOfCreation",label:"Datum",type:"date",title:function(e){$(this).attr("title",$rct.dtCr+fdt(e.DateOfCreation).ne("-")+" \n"+$rct.dtRel+fdt(e.DateReleased).ne("-"))}},{name:"CustomerName",label:"Kunde (Firma)",type:"string"},{name:"Name",label:"Auftragsname",type:"string"},{name:"ExternalId",label:"Auftragsnummer",type:"string"},{name:"ParentExtenalId",label:"PAuftrag",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string",dfnc:function(e,t){$(this).rwText(e," ").find("span").each((function(){$(this).aC("cla").click({id:$(this).text()},$inv.jdbn)}))}},{name:"State",label:"Status",type:"string"},{name:"WorkDoneAt",label:"Erledigt am",type:"date"},{name:"Description",label:"Beschreibung",type:"html"}]),itm:new fields_definition("Auftragsposition","Auftragspositionen",[{name:"NameOrNumber",label:"Bezeichnung",type:"string"},{name:"Type",label:"Typ",type:"select",required:!0,value:"Text",url:[{value:"Text",label:"Text"},{value:"Equipment",label:"Ausrüstung"},{value:"Material",label:"Material"},{value:"Service",label:"Arbeitsleistung"}],change:function(e){$req.quantChange.call(this,e)}},{name:"quantityhours",label:"Anzahl / Menge",type:"number",precision:"0.01",value:1,change:function(e){$inv.quantChange.call(this,e)}},{name:"UnitString",label:"Einheit",type:"select",url:["LFDM","Stck","Std.","QM","AW","Pauschal"],change:function(e){$inv.quantChange.call(this,e)}},{name:"net",label:"EinzelPreis netto",type:"number",precision:"0.01",value:0,change:function(e){$inv.quantChange.call(this,e)}},{name:"net_val",label:"GesamtPreis netto",type:"number",precision:"0.01",value:0},{name:"vat_val",label:"GesamtPreis USt",type:"number",precision:"0.01",value:0},{name:"svcnet_val",label:"Arbeitslohn netto",type:"number",precision:"0.01",value:0},{name:"svcvat_val",label:"Arbeitslohn USt",type:"number",precision:"0.01",value:0},{name:"net_pos",label:"Netto",type:"string"},{name:"bo_pos",label:"Brutto",type:"string"},{name:"vat",label:"USt",type:"string",value:"19,0%",change:function(e){$inv.quantChange.call(this,e)}},{name:"Note",label:"Details",type:"html",tinymce:!0}])},$ict={mdl:"Rechnungen",iov:{all:"Rechnungen (alle)","":"Rechnungen (nur fertige)","#d":"Rechnungen (nur Entwürfe)","#u":"Rechnungen (nur unbezahlt)","#r":"Rechnungen (nur angemahnt)","#a":"Rechnungen (nur Akonto)","#c":"Rechnungen (nur Storno)","#ru":"Rechnungen (nur angemahnt + unbez.)"},uba:", gesamter Zeitraum)",req:"Auftrag",inv:"Rechnung",rem:"Mahnung",in:"Rechnungsnummer",cc:"Kunde",wk:"Woche",nd:"Keine Daten gefunden.",dl:"Herunterladen",ed:"Bearbeiten",ced:"Bearbeitung fortsetzen",sItm:"Einzelheiten anzeigen",sPay:"Zahlungen anzeigen",cdI:"Entwurf der Rechnung löschen?",rel:"Neu Laden",relm:"Bitte laden Sie Liste manuell neu, um die Änderungen zu sehen.",dsp:"Rechnung anzeigen",storno:"Storno-Rechnung erstellen",credit:"Gutschrift erstellen",remd:"Mahnung erstellen",remdt:"Mahnung erstellen zur Rechnung {0}",remlst:"Mahnungen anzeigen",remdsp:"Mahnung anzeigen",remres:"Mahnung erneut senden",remresc:"Mahnung {0} wirklich erneut senden?",remresr:"Mahnung {0} wurde erfolgreich versandt.",setpyd:"Bezahlt markieren",cpyd:"Rechnung wirklich als bezahlt markieren?",setupd:"Bezahlt-Markierung aufheben",cupd:"Bezahlt-Markierung wirklich aufheben?",ivE:"Die Email-Adresse ist vermutlich nicht gültig.",ivEc:"\nMöchten Sie fortfahren?",pna:"Diese Seite ist in der Vorschau nicht verfügbar",tpe:"Die Anzahl von {0} Seiten wird aktuell nicht unterstützt",eis:"Der Rechnungsentwurf konnte nicht gespeichert werden.",iss:"Zwischenstand speichern.",p13b:"USt -> §13b",setm:"Set-Preisanzeige",setmo:{setprice:"Set mit Preis – Positionen ohne Preis",setonly:"Nur Set mit Preis – Positionen ausgeblendet"},setst:"Set-Struktur bearbeiten",setsHint:'Reihenfolge: Zeile per Drag & Drop an den oberen/unteren Rand einer anderen Zeile ziehen (davor/danach) oder ▲▼ nutzen. Zuordnung: Zeile auf die Mitte eines Sets ziehen (hinein) bzw. auf die Auftragszeile oder "oberste Ebene" (aus dem Set lösen); ◀▶ ändert die Ebene. Sets lassen sich über das Dreieck zu-/aufklappen und auch zugeklappt verschieben – ihre Positionen wandern mit. Änderungen werden sofort übernommen.',setsUp:"Nach oben (innerhalb der Ebene)",setsDown:"Nach unten (innerhalb der Ebene)",setsCollapse:"Set zuklappen",setsExpand:"Set aufklappen",setsHR:["","Pos.","Typ","Menge","Bezeichnung","Reihenfolge / Ebene"],setsRoot:"Hierher ziehen = aus dem Set lösen (oberste Ebene)",setsOut:"Eine Ebene höher (aus dem Set lösen)",setsIn:"Eine Ebene tiefer (dem vorangehenden Set zuordnen)",setsNew:"Neu:",setsInto:"in",setsTop:"oberste Ebene",setsTitle:"Bezeichnung",setsAdd:"Hinzufügen",setsNoTitle:"(ohne Bezeichnung)",settyp:{set:"Set",text:"Text",title:"Text",material:"Material",service:"Arbeitsleistung",equipment:"Ausrüstung",other:"Position",osum:"Zusammenfassung",intinvoiceallocation:"Abschlag",intinvoiceallocationdiff:"Abschlag (offen)"},ctp:"Ansprechpartner festlegen",mfr:"Von MFR neu abrufen",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",iq1:"Rechnungsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",iq2:"Rechnungsdaten werden geladen",sis:"Rechnung als versandt markieren",srs:"Mahnung als versandt markieren",sisc:"Rechnung wirklich als versandt markieren?",srsc:"Mahnung wirklich als versandt markieren?",iSt:{dft:"Entwurf",uns:"nicht versandt",pyd:"bezahlt",cc:"storniert",op:"offen",due:"fällig",ovd:"überfällig",rem:"angemahnt"},rSt:["","Überfällig","2. Mahnung","3. Stufe"],pSt:{a:"Vollst.",p:"Teilz."},ivT:{i:"AbschlagsR.",f:"SchlussR",r:"Rechnung",c:"StornoR."},rovlh:"Übersicht der bisherigen Mahnungen",rovl:["Betreff","Betrag","Betrag gezahlt","fertiggestellt am"],remHR:["Rechnung","vom","Rechnungsbetrag","bereits bezahlt","noch offen"],translatePaymentTerm:e=>(e||"").replace("wd"," Werktagen").replace("d"," Tagen").replace("wk"," Wochen")||"10 Tagen",payi:{account:"Konto",name:"Zahler",text:"Verw.Zweck",InvoiceID:"Rechnung",amount:"Betrag",date:"Datum",manual:"Typ"}},$invcol={datev:new fields_definition("Rechnung","Rechnungen",[{name:"Umsatz (ohne Soll/Haben-Kz)",label:"Umsatz (ohne Soll/Haben-Kz)",type:"string"},{name:"vf",label:"vf",type:"string"},{name:"Soll/Haben-Kennzeichen",label:"Soll/Haben-Kennzeichen",type:"string"},{name:"Konto",label:"Konto",type:"string"},{name:"Gegenkonto",label:"Gegenkonto",type:"string"},{name:"BU-Schlüssel",label:"BU-Schlüssel",type:"string"},{name:"Belegdatum",label:"Belegdatum",type:"string"},{name:"Belegfeld 1",label:"Belegfeld 1",type:"string"},{name:"Belegfeld 2",label:"Belegfeld 2",type:"string"},{name:"Buchungstext",label:"Buchungstext",type:"string"}]),inv:new fields_definition("Rechnung","Rechnungen",[{name:"invstatus",label:"Status",type:"select",url:$ict.iSt},{name:"balance",label:"Umsatz",type:"string",dtype:"currency"},{name:"CustomerName",label:"Kunde",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string"},{name:"InvoiceType",label:"Typ",type:"select",url:$ict.ivT},{name:"request",label:"Auftrag",type:"string",dtype:"num"},{name:"vat",label:"MwSt",type:"string",dtype:"num"},{name:"deb_cred",label:"Soll/Haben",type:"string"},{name:"customer",label:"Konto",type:"string",dtype:"num"},{name:"contra_account",label:"Gegenkonto",type:"string",dtype:"num"},{name:"Belegdatum",label:"Belegdatum",type:"date"},{name:"reminderstatus",label:"MahnStatus",type:"select",url:$ict.rSt},{name:"reminder",label:"# Mahnungen",type:"integer"},{name:"Buchungstext",label:"Buchungstext",type:"string"},{name:"Payment",label:"Zahlung",type:"string"}]),rem:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"amount",label:"Rechnungsbetrag",type:"number",precision:"0.01",value:1},{name:"amount_payed",label:"bereits bezahlt",type:"number",precision:"0.01",value:1}]),rem2:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"DocumentName",label:"Name",type:"string"},{name:"subject",label:"Betreff",type:"string"},{name:"DateSent",label:"Versanddatum",type:"date"},{name:"status",label:"Status",type:"string"},{name:"amount_open",label:"offener Betrag",type:"number",precision:"0.01"},{name:"InvoiceId",label:"RNummer",type:"string"}]),rid:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"type",label:"Typ",type:"select",url:[["f","einfache Zahlungserinnerung"],["m","Mahnung"],["l","letzte Mahnung"]],required:!0},{name:"level",label:"Stufe",type:"select",url:[["1","Stufe 1"],["2","Stufe 2"],["3","Stufe 3"],["4","Stufe 4"],["5","Stufe 5"],["6","Stufe 6"]],required:!0}]),ctp:new fields_definition("Ansprechpartner","Ansprechpartner",[{name:"name",label:"Name",type:"string"},{name:"email",label:"Email",type:"string"}])},gi=(e,t)=>$$.sc("glyphicon glyphicon-"+e).aC(t),$inv={init2:function(e,t){e=e||"inv",t=t||{},$ocms.getScript([],(function(){$inv.init3(e,t)}))},init3:async function(e,t){$fis.cf(!0);let n=$fis.lf(!0);$("#topbar").ocmsmenu([]),$("#activemodule").text($ict.mdl);let i=[(async()=>{await $fis.getAuth("fds_inv")>0&&($inv.prepLst(""),n.aC("fix"))})(),new Promise(((e,t)=>{$fis.prepAuth(["fds_reminder"])}))];await Promise.all(i)},prepLst:function(e){let t=new Date,n=$fis.lf(!0).ldng(1),i=new Date("2021-01-01");$fis.frm_list().IN((function(){}));let a=[];$.each($ict.iov,((e,t)=>{a.push({lbl:t,fnc:()=>{$inv.prepLst(e),n.aC("fix")}})})),$fis.lfm().ocmsmenu([{lbl:"Filter",itm:a}]);$$.i({placeholder:$ict.in}).appendTo($$.dc("mth ivn",n)).enterKey((function(e){let t=$(this),n=t.val()||"";e.stopPropagation(),t.parent().siblings().rC("selected"),n.length>3&&(t.parent().aC("selected"),$inv.renderinv("i:"+n,"s","all"),t.val(""))})),$$.i({placeholder:$ict.cc}).appendTo($$.dc("mth ivc",n)).enterKey((function(e){let t=$(this),n=t.val()||"";e.stopPropagation(),t.parent().siblings().rC("selected"),n.length>=3&&(t.parent().aC("selected"),$inv.renderinv("c:"+n,"s","all"),t.val(""))}));"#"===e.substr(0,1)&&$$.dc("mth extra",n).text($ict.iov[e].replace(")",$ict.uba)).click((function(t){let n=$(this);if(t.stopPropagation(),n.siblings().rC("selected"),!0===n.is(".selected")){n.toggleClass("selected");let t=fdt(new Date,"yy-MM-dd");$inv.renderinv(t,"a",e)}n.aC("selected")})),n.append("
");let r=$$.dc("mthl",n),s=t.getFullYear(),l=t.getMonth()+1;for(let t=i.getFullYear();t<=s;t++){let n=$$.dc("yr").prependTo(r).text($ict.iov[e]+" - "+t.toString()).toggleClass("selected",t===s);n.click({yr:t},(function(e){e.stopPropagation(),n.siblings().rC("selected"),n.aC("selected")}));let a=$$.dc("mfrm",n);for(let n=0;n<(t!==s?12:l);n++){i=new Date(t,n,1);let r=$$.dc("mth").prependTo(a).text($ict.iov[e]+" - "+fdt(i,"MMM yyyy"));if(r.click({yr:t,mt:n},(function(t){if(t.stopPropagation(),r.siblings().rC("selected"),!0===r.is(".selected")){r.toggleClass("selected");let n=fdt(new Date(t.data.yr,t.data.mt,1),"yy-MM-dd");$inv.renderinv(n,"m",e)}r.aC("selected")})),""===e){$$.dc("mthdl",r).append(gi("compressed","ico")).click({yr:t,mt:n},(function(e){e.stopPropagation();let t=fdt(new Date(e.data.yr,e.data.mt,1),"yy-MM-dd");$inv.downloadzip(t,"m")}))}let s=getMonday(i),l=new Date(i);l.setMonth(l.getMonth()+1),l.setDate(0),l=getMonday(l);let d=$$.dc("wfrm",r);for(;s<=l;){let t=$$.dc("wk",d).text(($ict.wk||"W")+" "+fdt(s,"dd.MM.yy"));t.click({rd:new Date(s)},(function(n){n.stopPropagation();let i=fdt(n.data.rd,"yy-MM-dd");$inv.renderinv(i,"w",e),r.siblings().rC("selected").find(".wk").rC("selected"),r.aC("selected").find(".wk").rC("selected"),t.aC("selected")})),$$.dc("wkdl",t).append(gi("compressed","ico")).click({rd:new Date(s)},(function(e){e.stopPropagation();let t=fdt(e.data.rd,"yy-MM-dd");$inv.downloadzip(t,"w")})),s.setDate(s.getDate()+7)}}}n.ldng(0)},rerenderinv:function(){let e=$("#contentframe .invfrm:first");if(e.length>0){let t=e.data("sets")||{};t.mode&&$inv.renderinv(t.tgt,t.mode,t.includes)}},renderinv:function(e,t,n){let i=$fis.frm_list(!0,!0).ldng(1),a=$$.dc("invfrm",i).aC("md"+t).data("sets",$.extend({},{tgt:e,mode:t,includes:n})),r=$fis.lf();$ocms.postXT({url:$ocms.url("inv/invl"),data:{mode:t,tgt:e,includes:n},success:i=>{r.rC("fix").aC("hd"),$$.dc("ovhd",a).text(i.admin.title);let s=$$.tblset({},a),l=$invcol.inv,d=$$.tr(s.hd);$$.th(d);$.each(l.fields||[],((e,t)=>{$$.th(d).text(t.label),"vat"===t.name&&$$.th(d)})),$.each(i.invoices||[],((d,c)=>{let o=$$.tr(s.bdy);o.click((function(){r.rC("fix").aC("hd"),o.toggleClass("selected").siblings().rC("selected").find("td.av").rC("av"),o.find("td.av").rC("av"),!0===o.is(".selected")?$inv.iMn(c):$inv.eM()}));let u=$$.td(o,{class:"raux"});c.hasFile?($$.dc("idl ilbtn",u,{title:$ict.dl+"\n"+c.DocumentName}).append(gi("save-file","ico")).click({id:c.Id},$inv.downloadinv),$$.dc("idl ilbtn",u,{title:$ict.dsp+"\n"+c.DocumentName}).append(gi("eye-open","ico")).click({id:c.Id,typ:"inv"},$inv.jdisp)):!1===c.isFinal&&!0===$fis.isAuth("fds_inv",2)&&$$.dc("idl ilbtn",u,{title:$ict.ed}).append(gi("edit","ico")).click({id:c.Id},$inv.doContInv),$$.dc("iitm ilbtn",u,{title:$ict.sItm}).append(gi("list","ico")).click({id:c.Id},$inv.showitm),$$.dc("iitm ilbtn",u,{title:$ict.sPay}).append(gi("euro","ico")).click({id:c.Id},$inv.showpay),$.each(l.fields||[],((r,s)=>{let l,d,u=$$.td(o).aC(s.dtype);switch("select"===(s.type||"")?u.text((s.url||{})[c[s.name]]||""):u.text(c[s.name]),s.name||""){case"vat":l=$$.sel().appendTo($$.td(o,{class:"vsel"})),d=(i.admin.ust_options||"19,0%;16,0%;0,0%").split(";"),$.each(d,((e,t)=>{$$.opt(t,t).appendTo(l)})),l.click((function(e){e.stopPropagation()})).val(c[s.name]).change().change({frm:a,tgt:e,mode:t,id:c.Id,td:u,includes:n},$inv.setvat),u.toggleClass("hl",c[s.name].substr(0,2)!==d[0].substr(0,2)).click((function(e){e.stopPropagation(),$(this).toggleClass("av")}));break;case"balance":u.aC("sh_"+(c.SollHaben||"").toLowerCase());break;case"invstatus":case"reminderstatus":u.aC(("invstatus"===s.name?"is_":"rs_")+c[s.name])}}))}))},complete:()=>{i.ldng(0)}})},setvat:function(e){let t=$(this),n=e.data||{};$ocms.postXT({url:$ocms.url("inv/setvat"),data:{id:n.id,val:t.val()},success:e=>{n.td.rC("av"),$inv.renderinv(n.tgt,n.mode,n.includes)}})},downloadzip:function(e,t){$(this).empty();window.open($ocms.url("inv/datevzip?mode="+t+"&tgt="+encodeURIComponent(e)),"_blank")},showitm:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&$ocms.postXT({url:$ocms.url("inv/rqi"),data:{id:e.data.id},success:e=>{let t=$$.dc("rfrm");(e.requests||[]).length<1?t.text($ict.nd):$.each(e.requests||[],(function(e,n){let i=$$.dc("srq",t);$$.dc("nme",i).text(n.name);let a=$$.tblset({class:"if"},i);$.each(n.items||[],((e,t)=>{let n=$$.tr({id:"itm"+t.Id}).appendTo(a.bdy);$$.td(n).text(t.NameOrNumber),$$.td(n).text(t.Type),$$.td(n).aC("currency").text(t.net_pos),$$.td(n).aC("currency").text(t.bo_pos),$$.td(n).aC("num").text(t.vat)}))})),$ocms.dlg(t,{width:1e3})}})},showpay:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&$ocms.postXT({url:$ocms.url("inv/pyi"),data:{id:e.data.id},success:e=>{let t=$$.dc("rfrm");if((e.payments||[]).length<1)t.text($ict.nd);else{let n=$$.tblset({class:"if"},t),i=$$.tr(n.hd);$.each(["date","account","name","text","InvoiceID","amount","manual"],((e,t)=>{$$.th(i,$ict.payi[t])})),$.each(e.payments,((e,t)=>{let i=$$.tr({id:"itm"+t.banking_uid}).appendTo(n.bdy);$$.td(i).aC("date").text(t.date),$$.td(i).text(t.account),$$.td(i).text(t.name),$$.td(i).text(t.text),$$.td(i).text(t.InvoiceID),$$.td(i).aC("currency").text(t.amount),$$.td(i).text(t.manual)}))}$ocms.dlg(t,{width:1e3,title:"Übersicht der Zahlungen"})}})},downloadinv:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&window.open($ocms.url("inv/rdoc?id="+e.data.id),"_blank")},doContInv:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&$inv.cntInv({id:e.data.id})}},$$inv={init2:$inv.init2,auth:{}};export default $$inv;$inv.cInv=function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&!1!==$fis.isAuth("fds_inv",2)&&$inv.cInv2({id:e.data.id})},$inv.rMn=e=>{let t=[{lbl:$ict.req,itm:[]}];return!0===bool(e,!1)&&!0===$fis.isAuth("fds_inv",2)&&Array.prototype.push.apply(t[0].itm,[{lbl:$rct.crI,fnc:$inv.ccInv,data:{typ:"r"}},{lbl:$rct.crII,fnc:$inv.ccInv,data:{typ:"i"}}]),t.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(t)},$inv.iMnr=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),a=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?a[1].itm.push({lbl:$ict.ced,fnc:$inv.clCntInv}):!0===$fis.isAuth("fds_inv",1)&&a[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===i&&!0===t&&!0===$fis.isAuth("fds_inv",2)&&(a[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),a[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&(a[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),a[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&!1===booln(e.IsSent,!1)&&a[2].itm.push({lbl:$ict.srs,fnc:()=>$inv.srs(n)}),a.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(a)},$inv.iMn=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),a=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?a[1].itm.push({lbl:$ict.ced,fnc:()=>{$inv.cntInv({id:n})}}):!0===$fis.isAuth("fds_inv",1)&&a[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===$fis.isAuth("fds_inv",2)&&(a[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),a[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!1===booln(e.IsPayed,!1)?(!0===$fis.isAuth("fds_reminder",2)&&a[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),!0===$fis.isAuth("fds_inv",2)&&a[1].itm.push({lbl:$ict.setpyd,fnc:()=>$inv.setPyd(n)})):!0===t&&!0===booln(e.IsPayed,!1)&&"m"===(e.PaymentStatus||"")&&!0===$fis.isAuth("fds_inv",2)&&a[1].itm.push({lbl:$ict.setupd,fnc:()=>$inv.setUpd(n)}),!0===$fis.isAuth("fds_reminder",2)&&a[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)}),!0===t&&!0===$fis.isAuth("fds_inv",2)&&!1===booln(e.IsSent,!1)&&a[1].itm.push({lbl:$ict.sis,fnc:()=>$inv.sis(n)}),!1===i&&a[1].itm.push({lbl:$ict.mfr,fnc:()=>$inv.mfrrel(n)}),$("#topbar").ocmsmenu(a)},$inv.emOpt=()=>"iss,p13b,ctp,setst,setm",$inv.eM=(e,t,n)=>{let i=[];return!0!==booln(e,!1)&&!0!==booln(t,!1)||i.push({glyph:"glyphicon-menu-left",fnc:()=>{$fis.lf(!0),$fis.frm_edit().remove()}}),!0===(n||"").split(",").includes("iss")&&i.push({lbl:$ict.iss,fnc:$inv.ssave}),!0===(n||"").split(",").includes("ctp")&&i.push({lbl:$ict.ctp,fnc:$inv.sctp}),!0===(n||"").split(",").includes("p13b")&&i.push({lbl:$ict.p13b,fnc:$inv.sp13b}),!0===(n||"").split(",").includes("setm")&&i.push({lbl:$ict.setm,fnc:$inv.ssetmode}),!0===(n||"").split(",").includes("setst")&&i.push({lbl:$ict.setst,fnc:()=>$inv.sets.open()}),!0===(n||"").split(",").includes("iss")&&(i.push({lbl:"Änderungshistorie",fnc:()=>$inv.d.history()}),i.push({lbl:"Änderungen verwerfen",fnc:()=>$inv.d.discard()})),!0===booln(e,!1)&&i.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(i)},$inv.d={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.d.tbl().data("dtoken")||""},hashes:function(){let e=$inv.d.tbl().data("bai")||[],t={};return $.each(e,((e,n)=>{t[(n.Id||"").toString()]=JSON.stringify(n)})),t},seed:function(e){let t=$inv.d.layout();t.aC("freeze");let n=$ocms.postXT({url:$ocms.url("inv/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.d.tbl().data("dtoken",e.token).data("dver",e.version).data("dhashes",$inv.d.hashes()).data("dorder",$inv.d.order()),$fis.draft.bind(e.token,{onReady:()=>$inv.d.refresh(),onExpiring:e=>$inv.d.warnExpiry(e),onClosed:e=>$inv.d.closed(e)}),$inv.d.refresh()},error:()=>{t.rC("freeze")},complete:()=>{$inv.d.tbl().removeData("dseeding").removeData("dseedpromise")}});return $inv.d.tbl().data("dseedpromise",n),n},refresh:function(e){let t=$inv.d.token();""!==t&&$ocms.postXT({url:$ocms.url("inv/dstate"),data:{token:t},success:t=>{$inv.d.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.d.closed("expired")},complete:()=>{$inv.d.layout().rC("freeze")}})},applyState:function(e){let t=$inv.d.tbl();if(t.length<1)return;let n=t.data("dver");"number"==typeof n&&"number"==typeof e.version&&e.version$$.dc("dnote").aC(e.style||"InvoiceNotes").text(e.text)))},applyItems:function(e,t){let n=e=>void 0===e?null:e;(t||[]).forEach((t=>{if(!t)return;let i=(t.Id||"").toString();if(""===i)return;let a=e.children("tbody").filter(((e,t)=>(($(t).data()||{}).Id||"").toString()===i)).first();if(a.length<1)return;let r=t.itm||[],s={},l=a.find("tr.title").first(),d=l.length?l:null;r.forEach((e=>{let t=(e.id||"").toString();if(""===t)return;s[t]=!0;let i=a.find("#itm"+t).first(),r=i.length<1;r&&(i=$$.tr(a,{id:"itm"+t,class:"itm"}));let l=i.data()||{},c=r||(l.Type||"")!==(e.typ||"")||l.net!==n(e.v)||l.net_val!==n(e.vt)||l.vat_val!==n(e.vv)||l.svcnet_val!==n(e.vs)||l.svcvat_val!==n(e.vsv)||(l.position||"")!==(null!=e.p?e.p:"")||(l.lvl||0)!==(e.lvl||0)||(l.SetItmId||null)!==(null!=e.SetItmId?e.SetItmId:null);$.extend(l,{Id:t,Type:e.typ,net:n(e.v),net_val:n(e.vt),vat_val:n(e.vv),svcnet_val:n(e.vs),svcvat_val:n(e.vsv),vat:e.vat,position:null!=e.p?e.p:"",SetItmId:null!=e.SetItmId?e.SetItmId:null,lvl:e.lvl||0}),r&&$.extend(l,{htmltext:e.t,quantity:e.q}),i.data(l),d?i.prev()[0]!==d[0]&&i.insertAfter(d):a.children().first()[0]!==i[0]&&a.prepend(i),d=i,c&&$inv.rrw.call(i)})),a.find("tr.itm").each(((e,t)=>{let n=(($(t).data()||{}).Id||"").toString();""===n||s[n]||$(t).remove()}))}))},applySetDisplay:function(e,t){e.find("tr.itm").each(((e,n)=>{let i=$(n),a=((i.data()||{}).Id||"").toString();if(""===a||!Object.prototype.hasOwnProperty.call(t,a))return;let r=t[a]||{};i.tC("sethdr",bool(r.h,!1)),!1===bool(r.p,!0)&&i.find("td.currency").text("")}))},sync:function(e){let t=$inv.d.token();if(""===t){let t=$inv.d.tbl().data("dseedpromise");return t?$.when(t).then((()=>$inv.d.sync(e))):$.when()}return $inv.d.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.d.refresh()},error:e=>{$inv.d.layout().rC("freeze"),e&&410===e.status&&$inv.d.closed("expired")}})},order:function(){return($inv.d.tbl().data("bai")||[]).map((e=>(e.Id||"").toString()))},syncChanged:function(e){let t=e.data("bai")||[],n=e.data("dhashes")||{},i={},a=[],r=[],s=[];$.each(t,((e,t)=>{let r=(t.Id||"").toString(),s=JSON.stringify(t);i[r]=s,n[r]!==s&&a.push(t)})),$.each(n,(e=>{void 0===i[e]&&r.push(e)}));let l=$inv.d.order(),d=e.data("dorder")||[];return e.data("dhashes",i).data("dorder",l),a.forEach((e=>s.push($inv.d.sync({Target:"block.replace",Ref:(e.Id||"").toString(),Value:e})))),r.forEach((e=>s.push($inv.d.sync({Target:"block.remove",Ref:e})))),d.length===l.length&&d.slice().sort().join(",")===l.slice().sort().join(",")&&d.join(",")!==l.join(",")&&s.push($inv.d.sync({Target:"block.order",Value:l})),$.when.apply($,s).promise()},syncField:function(e,t){let n={invoicetitle:"title",invoiceaddress:"address",invoiceemail:"email",invoiceemailcc:"emailcc",loc:"provisionlocation",provisionlocation:"provisionlocation",provisionperiod:"provisionperiod"}[e];n&&$inv.d.sync({Target:n,Value:t})},footer:function(e,t,n){let i=e.children("tfoot").empty();e.nextAll(".fnote").remove();let a=bool(n.p13b,!1),r=(e,t,n)=>$$.tdc("currency",$$.tr(i,{class:n||"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text(e)]),fnum(t,$rct.cst)),s=t=>$$.dc("fnote").insertAfter(e).rwText(t);r("Netto",t.total_net||0),!1===a&&$.each(t.vat||{},((e,t)=>r($rct.vat+" "+e+"%",t,"tvat"))),r("Summe",t.total_gross||0);let l=n.type||"";"i"===l?(s($rct.note2),s($rct.note4)):"c"===l?s($rct.note2):(s(string($rct.note3,[fnum(((t.service_net||0)+(t.service_vat||0))*(n.tax_servicerefund||0),$rct.cst)])).aC("ntax"),s($rct.note2),s(string($rct.note1,[fnum((t.service_net||0)+(t.service_vat||0),$rct.cst),fnum(t.service_net||0,$rct.cst),fnum(t.service_vat||0,$rct.cst)]))),!0===a&&s($rct.note13b)},validation:function(e){let t=$("div.invoice_layout");if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout(),n=($inv.d.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),a=Math.round(.88*vh()),r=n.total;r>10&&$$.dc("note warn",i).text($ict.tpe),$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(a-rpx(6)).toString()+"px"))}));for(let e=(n.img||[]).length+1;e<=r;e++)$$.dc("pdfp ph",i).append($$.dc("note",$ict.pna));$ocms.dlg(i,{size:[a,Math.round(.88*vw())],zindex:50,form:!1,button:$rct.crI,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("req/sconf"),data:{id:e.invid},success:t=>{i.trigger("modal_close"),!0===t.hasFile&&window.open($ocms.url("req/idoc")+"?id="+e.invid,"_blank"),$inv.d.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($ict.eis)}})},cancel:function(e){confirm($ict.cdI)&&($inv.d.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($ict.eis)}}))},save:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$inv.d.tbl().data("invid",e.invid)},error:()=>{alert($ict.eis)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.d.token();""!==e&&$ocms.postXT({url:$ocms.url("inv/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},discard:function(){let e=$inv.d.tbl().data("invid")||"";""!==e?!1!==confirm("Alle Änderungen verwerfen und den zuletzt gespeicherten Stand neu laden?")&&($inv.d.close(),$inv.cntInv({id:e})):alert("Es wurde noch kein Zwischenstand gespeichert, der wiederhergestellt werden könnte.")},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Rechnungsentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.d.token();$inv.d.tbl().removeData("dtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Rechnungsentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Rechnungsentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.d.token();""!==e&&($ocms.postXT({url:$ocms.url("inv/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.d.tbl().removeData("dtoken")}},$inv.rd={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.rd.tbl().data("rdtoken")||""},seed:function(e){let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.rd.tbl().data("rdtoken",e.token).data("rdver",e.version),$fis.draft.bind(e.token,{onReady:()=>$inv.rd.refresh(),onExpiring:e=>$inv.rd.warnExpiry(e),onClosed:e=>$inv.rd.closed(e)}),$inv.rd.refresh()},error:()=>{t.rC("freeze")}})},refresh:function(e){let t=$inv.rd.token();""!==t&&$ocms.postXT({url:$ocms.url("rem/dstate"),data:{token:t},success:t=>{$inv.rd.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.rd.closed("expired")},complete:()=>{$inv.rd.layout().rC("freeze")}})},applyState:function(e){let t=$inv.rd.tbl();if(t.length<1)return;let n=t.data("rdver");"number"==typeof n&&"number"==typeof e.version&&e.version{let t=$$[0]("p").aC("dnote intro").rwText(e);a.length?t.insertBefore(a):t.appendTo(n)})),((e||{}).closing||[]).forEach((e=>$$[0]("p").aC("dnote closing").rwText(e).appendTo(n)))},sync:function(e){let t=$inv.rd.token();""!==t&&($inv.rd.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.rd.refresh()},error:e=>{$inv.rd.layout().rC("freeze"),e&&410===e.status&&$inv.rd.closed("expired")}}))},syncField:function(e,t){if(""===$inv.rd.token())return;let n={subject:"subject",invoiceaddress:"address",invoiceemail:"email",text:"text"}[e];n&&$inv.rd.sync({Target:n,Value:t})},syncAmount:function(e,t){""!==$inv.rd.token()&&($inv.rd.sync({Target:"amount",Value:(null!=e?e:0).toString()}),$inv.rd.sync({Target:"amount_payed",Value:(null!=t?t:0).toString()}))},footer:function(e,t){let n=e.children("tfoot").empty(),i=$$.tr(n,{class:"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text("Offener Betrag")]);$$.tdc("currency",i,fnum(t.amount_open||0,$rct.cst))},validation:function(e){let t=$inv.rd.layout();if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout(),n=($inv.rd.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),a=Math.round(.88*vh());$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(a-rpx(6)).toString()+"px"))})),$ocms.dlg(i,{size:[a,Math.round(.88*vw())],zindex:50,form:!1,button:$ict.remd,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("rem/conf"),data:{id:e.remid},success:()=>{i.trigger("modal_close"),window.open($ocms.url("rem/idoc")+"?id="+e.remid,"_blank"),$inv.rd.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($t.f1)}})},cancel:function(e){confirm($ict.cdI)&&($inv.rd.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($t.f1)}}))},save:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$inv.rd.tbl().data("remid",e.remid)},error:()=>{alert($t.f1)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.rd.token();""!==e&&$ocms.postXT({url:$ocms.url("rem/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Mahnentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.rd.token();$inv.rd.tbl().removeData("rdtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Mahnentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Mahnentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.rd.token();""!==e&&($ocms.postXT({url:$ocms.url("rem/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.rd.tbl().removeData("rdtoken")}},$inv.cInv2=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n&&n.ft.rwText($rct.rq1);let i=()=>{$ocms.postXT({url:$ocms.url("req/get"),timeout:60,data:{id:e.id,mode:"r"},success:t=>{t.admin=t.admin||{};let n=$fis.lf(!0).aC("fix").rC("hd");if($fis.frm_edit().IN(),$inv.eM(!0,!0),(t.requests||[]).length<1)n.aC("fix").text($rct.nd);else{$$.dc("lh",n,$rct.mdl);let i=$$.d(),a=$$.ul({class:"rql"}).data({search:e.id,parent:t.admin.parent}).appendTo(n),r={},s=$rcol.req.lbl();$.each(t.requests||[],(function(e,t){let n=$$.li({class:"cli rli"}).data($.extend({},t)).appendTo(a),l=$$.dc("lihd",n).addClass(t.state);!0===booln(t.open,!1)&&l.append($$.sc("cbox").click((()=>{n.tC("checked"),i.find("li").rC("checked"),!0===n.is(".checked")?$inv.rMn(t.open):$inv.eM(!0)}))),l.append([$$.sc("eid",t.ExternalId),$$.sc("nme",t.Name)]),$$.dc("lidt",n).append([$$.dc("rqs").append([$$.s(s.State+": "),$$.s($rct.sts[t.State||"-"])]),$$.dc("ivn").append([$$.s(s.InvoiceId+": "),$$.s(t.InvoiceId||"- -")]),$$.dc("wda").append([$$.s(s.WorkDoneAt+": "),$$.s(fdt(t.WorkDoneAt,"dd.MM.yyyy"))])]),r[t.Id]=n})),(t.inv||[]).length>0&&($$.dc("lh",n,$rct.invs),i=$$.ul({class:"ivl"}).appendTo(n),$.each(t.inv||[],((e,t)=>{let n=$$.li({class:"cli ili"}).data($.extend({},t)).appendTo(i),r=$$.dc("lihd",n).addClass(t.invstatus);!1===booln(t.isFinal,!0)?r.append($$.sc("cbox").click((()=>{""!==(t.Id||"")&&(n.tC("checked").siblings().rC("checked"),a.find("li").rC("checked"),!0===n.is(".checked")?$inv.iMnr(t):$inv.eM(!0))}))):["","dft"].indexOf(t.invstatus)<0&&r.append($$.sc("dli").click((function(){$inv.disp(t.Id,"inv")}))),r.append($$.sc("nme",t.DocumentName||t.Id)),$$.dc("lidt",n).append([$$.dc("wda").append([$$.s(fdt(t.DateCreated,"dd.MM.yyyy"))]),$$.d().text($ict.iSt[t.invstatus]||t.invstatus)])})))}},complete:()=>{n&&n.c.trigger("modal_close")}})};$ocms.postXT({url:$ocms.url("req/pget"),timeout:90,data:{id:e.id},success:e=>{n&&n.ft.rwText($rct.rq2),i()},error:()=>{confirm($rct.rq1f)?(n&&n.ft.rwText($rct.rq2),i()):n&&n.c.trigger("modal_close")}})},$inv.ccInv=function(e){let t=(e.data||{}).typ||"r",n=$fis.lf(),i=n.children("ul.rql"),a=i.data("parent"),r=[];if(i.find("li.rli.checked").each((function(){r.push($(this).data("Id"))})),r.length<1)return void alert($rct.dnS);if("i"===t&&r.length>1)return void alert($rct.dII);let s=$fis.frm_edit(),l=$$.dc("invoice_layout",s).append($$.dc("btn sprev").click($inv.sprev)),d=$fis.cf().width()>l.width()+n.width()+20;n.tC("fix",d).tC("hd",!d),$inv.eM(!1,!0);let c=$$.dc("rfrm").ldng(1),o=$ocms.dlg(c,{width:1e3});o.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("req/iget"),timeout:60,data:{id:a,mode:"ful",typ:t,sel:r.join(",")},success:e=>{let t=$$.dc("srq",l),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([jine([fdt(i.WorkDoneAt,"dd.MM.yy"),i.ExternalId]," - "+$rct.req+" "),t.ne(i.Name)],": \n");let a=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(a)}}));let a=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(a),n.ft.appendTo(n.tbl);let r,s,d=e.admin||{},c=(e,t,i,a,r)=>{let s=$$.dc("inpfrm",l).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",s).rwText(t);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},r),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm","","loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(l,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",l).append($$.dc("content").text(d.sender)),d.provisionend&&(s=d.provisionstart?$rct.provP:$rct.provD,r=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",r,"provisionperiod",s,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",l).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{o.c.trigger("modal_close")}})},$inv.ccStInv=function(e){let t=e.data||{},n=$fis.lf(),i=t.id,a=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sprev)),r=$fis.cf().width()>a.width()+n.width()+20;n.tC("fix",r).tC("hd",!r),$inv.eM(!1,!0);let s=$$.dc("rfrm").ldng(1),l=$ocms.dlg(s,{width:1e3});l.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),timeout:90,data:{id:t.id},success:e=>{l&&l.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/icget"),timeout:60,data:{id:i},success:e=>{let t=$$.dc("srq",a),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([fdt(i.WorkDoneAt,"dd.MM.yy")+t.ne(i.Name)],": ");let a=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(a)}}));let r=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(r),n.ft.appendTo(n.tbl);let s,l,d=e.admin||{},c=(e,t,i,r,s)=>{let l=$$.dc("inpfrm",a).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},s),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm",d.provisionlocation,"loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(a,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",a).append($$.dc("content").text(d.sender)),d.provisionend&&(l=d.provisionstart?$rct.provP:$rct.provD,s=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",s,"provisionperiod",l,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",a).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv")},complete:()=>{l.c.trigger("modal_close")}})},error:()=>{l&&l.c.trigger("modal_close")}})},$inv.clCntInv=function(e){let t=$fis.lf(!1),n=[];t.find("li.ili.checked").each((function(){n.push($(this).data("Id"))})),1===n.length&&$inv.cntInv({id:n[0]})},$inv.cntInv=function(e){e=e||{};$fis.lf(!1).rC("fix").aC("hd");let t=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit));$inv.eM(!1,!0);let n=$$.dc("rfrm").ldng(1),i=$ocms.dlg(n,{width:1e3});i.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/get"),timeout:60,data:{id:e.id},success:e=>{e.admin=e.admin||{};let n=e.inv||{},i=$$.dc("srq",t),a=$$.tblset({class:"invi"},i);a.bdy.remove(),a.ft=$$[0]("tfoot"),a.tbl.data($.extend({invid:n.Id,new:{},sms:{},itm:{},bai:[]},e));let r=$$.tr(a.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(r,e))),a.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(a.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(a.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),a.ft.appendTo(a.tbl);let l=(e,n,i,r,s)=>{let l=$$.dc("inpfrm",t).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(n);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{a.tbl.data("new")[i]=e}},s),$inv.eHtml)),a.tbl.data("new")[i]=n};l("tfrm",n.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",n.SendToAddress,"invoiceaddress",0,null),l("locfrm",n.ProvisionLocation,"loc",1,null),$inv.emailFrm(t,a,n.SendToEmail,n.SendToEmailCc),$$.dc("sndfrm",t).append($$.dc("content").text(e.admin.sender)),l("admfrm",n.ProvisionPeriod,"provisionperiod",!0===(n.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),a.tbl.data("new").CustomValues=n.CustomValues||"",$$.dc("inpfrm ctpfrm",t).text(jObj(n.CustomValues,"contactName")),a.tbl.children("tbody").each($inv.bdysort),a.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{i.c.trigger("modal_close")}})},$inv.cSt=function(e){e=e||{};let t=$fis.lf(),n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit)),i=$fis.cf().width()>n.width()+t.width()+20;t.tC("fix",i).tC("hd",!i),$inv.eM(!1,!0);let a=$$.dc("rfrm").ldng(1),r=$ocms.dlg(a,{width:1e3});r.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),data:{id:e.id},success:t=>{r&&r.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/storno"),data:{id:e.id,mode:e.mode},success:e=>{e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b"));let t=e.inv||{},i=$$.dc("srq",n),a=$$.tblset({class:"invi"},i);a.bdy.remove(),a.ft=$$[0]("tfoot"),a.tbl.data($.extend({invid:t.Id,new:{},sms:{},itm:{},bai:[]},e));let r=$$.tr(a.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(r,e))),a.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(a.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(a.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),a.ft.appendTo(a.tbl);let l=(e,t,i,r,s)=>{let l=$$.dc("inpfrm",n).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{a.tbl.data("new")[i]=e}},s),$inv.eHtml)),a.tbl.data("new")[i]=t};l("tfrm",t.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",t.SendToAddress,"invoiceaddress",0,null),l("locfrm",t.ProvisionLocation,"loc",1,null),$inv.emailFrm(n,a,t.SendToEmail,t.SendToEmailCc),$$.dc("sndfrm",n).append($$.dc("content").text(e.admin.sender)),l("admfrm",t.ProvisionPeriod,"provisionperiod",!0===(t.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),a.tbl.data("new").CustomValues=t.CustomValues||"",$$.dc("inpfrm ctpfrm",n).text(jObj(t.CustomValues,"contactName")),a.tbl.children("tbody").each($inv.bdysort),a.tbl.trigger("fds.inv")},complete:()=>{r.c.trigger("modal_close")}})},error:()=>{r&&r.c.trigger("modal_close")}})},$inv.adrCountries=[["DE","Deutschland"],["AT","Österreich"],["CH","Schweiz"],["FR","Frankreich"],["NL","Niederlande"],["BE","Belgien"],["LU","Luxemburg"],["IT","Italien"],["ES","Spanien"],["PL","Polen"],["DK","Dänemark"],["CZ","Tschechien"],["GB","Großbritannien"],["US","USA"]],$inv.composeAddress=function(e){let t=[],n=e=>{""!==(e=(""+(e||"")).trim())&&t.push(e)};n((e=e||{}).name),""!==(""+(e.contact||"")).trim()&&n("z.Hd. "+(""+e.contact).trim()),n(e.line2||e.addressLine2),n(e.street),n(((e.postalCode||"")+" "+(e.city||"")).trim());let i=(""+(e.countryCode||"")).toUpperCase();return""!==i&&"DE"!==i&&n(i),t.join("\n")},$inv.adrCurrent=function(e){let t=jObj((e.data("new")||{}).CustomValues,"sendToAddress");if("string"==typeof t&&"{"===t.trim().charAt(0))try{t=JSON.parse(t)}catch(e){t=null}if(t&&"object"==typeof t)return t;let n=(e.data("admin")||{}).invoiceaddressData;if("string"==typeof n&&"{"===n.trim().charAt(0))try{return JSON.parse(n)}catch(e){}else if(n&&"object"==typeof n)return n;return{}},$inv.eAddress=function(e){let t=$inv.d.tbl(),n=$inv.adrCurrent(t),i=[{name:"name",label:"Name / Firma",type:"text",value:n.name||"",required:!0},{name:"contact",label:"z.Hd. (optional)",type:"text",value:n.contact||""},{name:"street",label:"Straße + Nr.",type:"text",value:n.street||""},{name:"line2",label:"Adresszusatz (optional)",type:"text",value:n.line2||n.addressLine2||""},{name:"postalCode",label:"PLZ",type:"text",value:n.postalCode||""},{name:"city",label:"Ort",type:"text",value:n.city||""},{name:"countryCode",label:"Land",type:"select",url:$inv.adrCountries,value:n.countryCode||"DE"},{name:"vatId",label:"USt-IdNr. (nur bei Firmen)",type:"text",value:n.vatId||""},{name:"leitwegId",label:"Leitweg-ID (nur Behörden / B2G)",type:"text",value:n.leitwegId||""}],a=$$.dc("adr-conformity").append([$$.dc("hd").text("Hinweis zur DATEV-/eRechnungs-Konformität"),$$.dc("tx").text("Pflicht: Name, Straße, PLZ, Ort und Land. Die USt-IdNr. nur bei Firmen angeben — für eine Rechnung an eine Privatperson einfach leer lassen. Eine Leitweg-ID nur bei Behörden (B2G) — dann wird die Rechnung automatisch als XRechnung erzeugt.")]);$ocms.dlgform(i,{title:"Rechnungsempfänger",addcontent:a,success:function(t){let n={name:t.name||"",contact:t.contact||"",line2:t.line2||"",street:t.street||"",postalCode:t.postalCode||"",city:t.city||"",countryCode:t.countryCode||"DE",vatId:(""+(t.vatId||"")).trim(),leitwegId:(""+(t.leitwegId||"")).trim()},i=$inv.composeAddress(n);e.data&&e.data.t&&e.data.t.rwText(i),"function"==typeof(e.data||{}).change&&e.data.change(i),$inv.d.sync({Target:"address",Value:n})}})},$inv.provToIso=function(e){let t=(""+(e||"")).match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);return t?t[3]+"-"+("0"+t[2]).slice(-2)+"-"+("0"+t[1]).slice(-2):""},$inv.eProvisionPeriod=function(e){let t=(""+(e.data&&e.data.t?e.data.t.text():"")).trim().match(/\d{1,2}\.\d{1,2}\.\d{4}/g)||[],n=[{name:"von",label:"Leistungsdatum",type:"date",value:$inv.provToIso(t[0]||"")},{name:"bis",label:"Leistungszeitraum – bis (optional)",type:"date",value:$inv.provToIso(t[1]||"")}],i=$$.dc("adr-conformity").append([$$.dc("hd").text("Leistungsdatum / -zeitraum"),$$.dc("tx").text('Für ein einzelnes Datum nur „Leistungsdatum" ausfüllen; für einen Zeitraum zusätzlich das Bis-Datum. Nur strukturierte Datumsauswahl — für die E-Rechnung empfohlen.')]);$ocms.dlgform(n,{title:"Leistungsdatum / -zeitraum",addcontent:i,success:function(t){let n=(""+(t.von||"")).trim(),i=(""+(t.bis||"")).trim(),a=""===n?"":""===i||i===n?n:n+" - "+i;e.data&&e.data.t&&e.data.t.rwText(a),"function"==typeof(e.data||{}).change&&e.data.change(a),$inv.d.sync({Target:"provisionperiod",Value:a})}})},$inv.eEmail=function(e){let t=[{name:"email",label:$rct.frm.invoiceemail,type:"text",value:(e.data.t||$$.s()).text()},{name:"emailcc",label:$rct.frm.invoiceemailcc,type:"text",value:(e.data.ccT||$$.s()).text()}];$ocms.dlgform(t,{title:$rct.frm.invoiceemail,success:function(t){let n=(""+(t.email||"")).trim(),i=(""+(t.emailcc||"")).trim();e.data&&e.data.t&&e.data.t.text(n),e.data&&e.data.ccT&&e.data.ccT.text(i),"function"==typeof(e.data||{}).change&&e.data.change(n),"function"==typeof(e.data||{}).changeCc&&e.data.changeCc(i),$inv.d.syncField("invoiceemail",n),$inv.rd.syncField("invoiceemail",n),$inv.d.syncField("invoiceemailcc",i),$inv.rd.syncField("invoiceemailcc",i)}})},$inv.emailFrm=function(e,t,n,i){let a=$$.dc("inpfrm emailccfrm",e),r=$$.dc("content",a).rwText(i),s=$$.dc("inpfrm emailfrm",e),l=$$.dc("content",s).rwText(n);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT.invoiceemail}).append(gi("pencil")).click({t:l,ccT:r,nme:"invoiceemail",change:e=>{t.tbl.data("new").invoiceemail=e},changeCc:e=>{t.tbl.data("new").invoiceemailcc=e}},$inv.eHtml)),t.tbl.data("new").invoiceemail=n,t.tbl.data("new").invoiceemailcc=i},$inv.eHtml=function(e){if(e.data&&!(e.data instanceof jQuery)&&$inv.d&&"function"==typeof $inv.d.token&&""!==$inv.d.token()){if("invoiceaddress"===e.data.nme)return $inv.eAddress.call(this,e);if("provisionperiod"===e.data.nme)return $inv.eProvisionPeriod.call(this,e)}if(e.data&&!(e.data instanceof jQuery)&&"invoiceemail"===e.data.nme&&e.data.ccT)return $inv.eEmail.call(this,e);let t=$(this),n=e.data instanceof jQuery?e.data:e.data.t,i=["invoiceemail","invoiceemailcc","provisionperiod","invoicetitle"].includes(e.data.nme),a=i?[{name:"txt",label:"Text",type:"text",value:n.text()}]:[{name:"txt",label:"Text",type:"html",value:n.html(),tinymce:!0,attr:{style:"height: 300px"}}],r=e.data.change||null,s={title:t.data("dialog")||"",success:function(t){i?n.text(t.txt||""):n.html(t.txt),"function"==typeof r&&r(t.txt),$inv.d.syncField(e.data.nme,i?t.txt||"":t.txt),$inv.rd.syncField(e.data.nme,i?t.txt||"":t.txt)},tinymce:{valid_elements:"br",hidemenu:!0,hidetoolbar:!0}};if(Array.isArray(e.data.list)){let t=$$.dc("lstfrm");$.each(e.data.list,((n,i)=>{let a=$$.dc("li",t).append(""!==(e.data.lbl||"")?$$.dc("lbl").rwText(i[e.data.lbl]):null);$$.dc("adr",a).rwText(i[e.data.property]).data("val",i[e.data.property]).click((function(){let e=$(this),t=e.closest(".modal-body").find(':input[name="txt"]');t.is(".tinymce")?tinymce.get(t.attr("id")).setContent($$.s().rwText(e.data("val")).html()):"TEXTAREA"===t.prop("tagName")?t.val(e.data("val")).change():t.rwText(e.data("val"))}))})),s.addcontent=t}$ocms.dlgform(a,s)},$inv.setVat=function(e){$(this);let t=e.data,n=prompt($rct.rqV);n&&(n=parseFloat(n.replace("%","")),n>1&&(n*=.01),!1===isNaN(n)&&(t.siblings(".itm").each((function(){$(this).data().vat=fnum(n,{style:"percent"}).replace(" ","")})),$inv.t_fds_inv()))},$inv.inRow=function(e){let t=$(this),n=e.data,i={},a=$rcol.itm.clone(["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"]),r="N"+(65536*(1+Math.random())||0).toString(16).substr(6),s=$$.tr({id:"itm_"+r.toString(),class:"itm"});$ocms.dlgform(a,{title:t.data("dialog")||"",success:function(e){s.data($.extend({Id:r},i,e)),$inv.rrw.call(s),s.insertAfter(n),$inv.t_fds_inv()},typedvalues:!0})},$inv.eRow=function(e){let t=$(this),n=e.data,i=n.data()||{},a=["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"];i.id||""!==(i.Type||"")||a.unshift("Type");let r=$rcol.itm.clone(a).applyValues(i);r.set("Type","hidden","type"),$inv.eRw.call(t,n,i,r)},$inv.eRw=function(e,t,n){let i=$(this);$ocms.dlgform(n,{title:i.data("dialog")||"",success:function(n){let i={};""===(t.Id||"")&&(i.Id="N"+(65536*(1+Math.random())||0).toString(16).substr(6),e.attr("id","itm_"+i.Id.toString())),i.quantity=((n.quantityhours||"").toString()+" "+(n.UnitString||"").toString()).trimEnd(),e.data($.extend({},t,n,i)),console.debug("eRw success %o",e.data()),$inv.rrw.call(e),$inv.t_fds_inv()},typedvalues:!0})},$inv.bdysort=(e,t)=>{$(t).Sortable({dragItem:!1,dragHandleClass:"ico",parentident:"tr",onend:()=>{$inv.t_fds_inv()}})},$inv.rowCtxMenu=function(e){let t=$$[0]("nav").aC("rowctx");return t.ocmsmenu([{glyph:"glyphicon-option-vertical",aclass:"ctxbtn",attr:{title:$rct.ctxM},itm:e}]),t.find("li[title]").each((function(){let e=$(this);e.children("a").attr("title",e.attr("title"))})),t},$inv.rrw=function(){let e=$(this),t=e.data(),n={},i=e.is(".placeholder"),a=e.is(".hidenote"),r=e=>$$.d().append(e).html(),s=[{lbl:$rct.iRb,attr:{title:$rct.iRb},data:e,fnc:$inv.inRow}];!1===i&&(s.unshift({lbl:$rct.cP,attr:{title:$rct.cP},data:e,fnc:$inv.eRow}),s.push({lbl:$rct.dR,attr:{title:$rct.dR},fnc:function(t){confirm($rct.cD)&&(e.remove(),$inv.t_fds_inv())}}),"set"===(t.Type||"").toLowerCase()&&0===(t.net_val||0)&&s.push({lbl:$rct.toSetP,attr:{title:$rct.toSetP},data:e,fnc:$inv.toSetPrice}));let l=$$.dc("axf").append($inv.rowCtxMenu(s));!0===i?n={id:"",typ:"placeholder"}:!0===e.is(".itm.osum")?n={invrqid:t.InvRqId,id:"osum"+e.index(),typ:"osum",p:"",q:null,t:r(t.tbl.tbl),tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:!1}:(n={invrqid:t.InvRqId,id:t.Id||"",typ:t.Type||"other",p:"",q:null,t:"",tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:""!==(t.Note||"")&&!1===a,SetItmId:t.SetItmId||null,lvl:t.lvl||0},$$.dc("ibtn ico move",l,{title:$rct.mR}),n.p=null!=t.position?t.position:t.SortOrder||"",""===n.id?n.t="":["Text","Title"].includes(n.typ)&&0===(t.net_val||0)?n.t=t.htmltext||("#"!==(t.NameOrNumber||"").substr(0,1)?r($$[0]("p").text(t.NameOrNumber)):"")+(t.Note||""):(n.tt=n.det?"":$$.s(t.Note||"").text(),n.q=t.quantity||(0!==(t.quantityhours||0)?fnum(t.quantityhours)+" "+(t.UnitString||""):""),n.t=t.htmltext||(n.det?r($$.s(t.NameOrNumber||""))+r($$.dc("desc").html(t.Note)):r($$.s(t.NameOrNumber||""))),n.v=t.net,n.vt=t.net_val)),""!==(t.Note||"")&&$$.dc("ibtn add",l,{title:$rct.noteToggle}).append(gi("object-align-left")).click((function(t){$inv.rrw.call(e.tC("hidenote"))}));let d=[$$.tdc("aux").append(l),$$.tdc("keep").text(n.p)];if(""===n.id)d.push($$.td(e,{colspan:4}).append(n.t));else{Array.prototype.push.apply(d,n.q?[$$.tdc("keep").text(n.q)]:[]);let e=e=>null==e?"":fnum(e,$rct.cst);Array.prototype.push.apply(d,[$$.tdc("txt",{colspan:n.q?1:2,title:n.tt}).append(n.t),$$.tdc("currency").text(e(n.v)),$$.tdc("currency inetval").text(e(n.vt)).attr("title",$rct.svcPart+": "+e(n.vs))])}e.empty().attr("class",i?"placeholder":"itm").aC(n.Typ).tC("sethdr","set"===(n.typ||"").toString().toLowerCase()).aC((n.lvl||0)>0?"lvl"+Math.min(n.lvl,6):"").tC("hidenote",a).append(d),t.co=n},$inv.toSetPrice=function(e){let t=(e.data.data().Id||"").toString();""!==t&&!1!==confirm($rct.toSetPc)&&$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:"item.setprice",Ref:t})}))},$inv.invSumUpdate=function(){let e=$(this),t=[],n=e.children("tbody"),i=[];n.each(((e,n)=>{let a=$(n),r=a.data()||{},s=[],l=[],d=a.find("tr.itm");a.tC("empty",d.length<1),d.each(((e,t)=>{let n=$(t).data()||{};s.push(n.co);let a=$inv.itemToContract(n),r=(n.SetItmId||"").toString();""!==r&&r!==a.id&&(a.setId=r),l.push(a);let d=!1===["text","title"].includes((n.Type||"other").toLowerCase());n.position=((e,t)=>{if(!e)return"";let n=Math.max(t||0,0);for(;i.length<=n;)i.push(0);return i.length=n+1,i[n]++,i.join(".")})(d,(n.co||{}).lvl||0),$inv.rrw.call(t)})),t.push({Id:r.Id,nme:r.Name,text:r.text,itm:s,items:l})}));let a=e.find("tbody:not(.empty)").length;n.find("tr.isum").tC("hidden",a<2),e.data("bai",t),""===(e.data("dtoken")||"")&&!1===bool(e.data("dseeding"),!1)&&null!=(e.data("admin")||{}).type&&(e.data("dseeding",!0),$inv.d.seed($.extend($inv.invcPayload(e.data()),{invid:e.data("invid")||""})))},$inv.worknotes=function(e){let t="";return e.steps.forEach(((e,n)=>{let i;try{i=JSON.parse(e.Data||{}).fields||[]}catch(e){console.debug(e),i=[]}!0!==Array.isArray(i||"")&&(i="object"==typeof i&&!0===Array.isArray(i.field||"")?i.field:[]),i.forEach(((e,n)=>{"Ausgeführte Arbeiten"===e.name&&(t=e.result||"")}))})),t},$inv.rendersrq=function(){let e=$(this).empty(),t=e.is(".onesum"),n=e.data(),i=$$.tr(e,{id:"srq"+n.Id}).aC("title nosort"),a=($rcol.itm.lbl(),$$.dc("axf").appendTo($$.tdc("aux",i)));$$.dc("ibtn osum",a,{title:$rct.combP}).append(gi("euro")).click((function(t){e.tC("onesum"),$inv.rendersrq.call(e),$inv.t_fds_inv()})),$$.dc("ibtn setvat",a,{title:$rct.sV}).append(gi("gbp")).click(i,$inv.setVat),$$.dc("ibtn insb",a,{title:$rct.iRb}).append(gi("indent-left")).click(i,$inv.inRow);let r,s=$$.sc("text",n.text),l=($$.td(i,{colspan:t?4:5}).append(s),["net_val","vat_val","svcnet_val","svcvat_val","net"]);if($$.dc("ibtn edit",a,{title:$rct.sectionTitleEditTT}).data("dialog",$rcol.req.lbl().Name).append(gi("pencil")).click({t:s,change:e=>{n.text=e,$inv.t_fds_inv()}},$inv.eHtml),t&&($$.tdc("currency isumval",i),r={Id:n.Id.toString()+"_osum",net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0},r.tbl=$$.tblset({class:"stbl"})),$.each(n.items||[],((n,i)=>{let a,s={Id:i.Id,net_val:i.net_val||0,vat_val:i.vat_val||0,svcnet_val:0,svcvat_val:0,net:i.net||0,Note:i.Note||""};if("service"===i.Type.toLowerCase())s.svcnet_val=i.net_val||0,s.svcvat_val=i.vat_val||0;t?(a=$$.tr(r.tbl.bdy,{id:"itm"+i.Id,class:"sitm"}).aC(i.Type),"Text"===i.Type||"Title"===i.Type?$$.td(a,{colspan:2}).html(i.htmltext||i.Note):($$.tdc("keep",a).text(i.quantity||((i.quantityhours||0)>0?fnum(i.quantityhours)+(i.UnitString||"").eine(" ",""):"")),i.htmltext?$$.tdc("txt",a).html(i.htmltext):$$.tdc("txt",a).text(i.NameOrNumber).attr("title",i.Note)),$.each(l,((e,t)=>{r[t]+=s[t]})),a.data(s)):($.extend(s,i),a=$$.tr(e,{id:"itm"+i.Id,class:"itm"}),a.data(s),$inv.rrw.call(a))})),t){let t=$$.tr(e,{id:"itmsq"+n.Id,class:"itm osum"}).data(r);$inv.rrw.call(t)}else{let t=$$.tr(e).aC("isum nosort");$$.tdc("aux",t),$$.td(t,{colspan:4}).text($rct.iSum),$$.tdc("currency isumval",t)}},$inv.t_fds_inv=()=>{let e=$("div.invoice_layout table.invi");if(e.trigger("fds.inv"),""!==(e.data("dtoken")||""))return $inv.d.syncChanged(e);let t=e.data("dseedpromise");return t?$.when(t).then((()=>$inv.d.syncChanged(e))):$.when()},$inv.sedit=()=>{$inv.sprev(!0)},$inv.jdisp=function(e){e.stopPropagation(),e.data.id&&$inv.disp(e.data.id,e.data.typ||"")},$inv.disp=(e,t)=>{let n="";switch(t){case"inv":n="inv/rdoc";break;case"rem":n="rem/rdoc"}""!==n&&$ocms.postXT({url:$ocms.url(n),data:{id:e||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex_min:50,form:!1,exclusive:!1})}})},$inv.jdbn=function(e){$ocms.postXT({url:$ocms.url("inv/rdocn"),data:{name:e.data.id||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex:50,form:!1})}})},$inv.sp13b=()=>{var e=$("div.invoice_layout").find("table.invi"),t=e.data();t.admin.p13b=!0,!1===(t.inv.InvoiceOptions||"").split(",").includes("§13b")&&(t.inv.InvoiceOptions+=",§13b"),e.trigger("fds.inv"),$inv.d.sync({Target:"p13b",Value:t.admin.p13b})},$inv.itemToContract=function(e){let t=((e=e||{}).Type||"").toString().toLowerCase(),n=e=>e??null,i={id:(e.Id||"").toString(),type:t,title:"",desc:"",qty:"",price_net:"",total_net:n(e.net_val),vat:e.vat||""};var a;return e.co&&"osum"===e.co.typ?(i.desc=e.co.t||"",i.total_net=e.net_val||0):["text","title"].includes(t)&&0===(e.net_val||0)?(i.desc=e.htmltext||("#"!==(e.NameOrNumber||"").substr(0,1)?(a=$$[0]("p").text(e.NameOrNumber||""),$$.d().append(a).html()):"")+(e.Note||""),i.total_net=""):(e.htmltext?i.desc=e.htmltext:(i.title=e.NameOrNumber||"",i.desc=e.Note||""),i.qty=e.quantity||(0!==(e.quantityhours||0)?fnum(e.quantityhours)+(e.UnitString?" "+e.UnitString:""):""),i.price_net=n(e.net),i.total_net=n(e.net_val)),i},$inv.hasSets=e=>((e||{}).req||[]).some((e=>{let t=((e||{}).itm||[]).filter((e=>e&&""!==(e.id||""))),n={};t.forEach((e=>{n[(e.id||"").toString()]=e}));return t.some((e=>{let t=(null==e.SetItmId?"":e.SetItmId).toString();return""!==t&&t!==(e.id||"").toString()&&n[t]&&(e=>"set"===(e.typ||"").toString().toLowerCase())(n[t])}))})),$inv.ssetmode=()=>{let e,t=$("div.invoice_layout").find("table.invi").data();if(t.dstate&&!1===$inv.hasSets(t.dstate))return void alert($rct.toSetMn);let n=t=>$$.dc("btn",$ict.setmo[t]).click((()=>{e.c.trigger("modal_close"),$inv.setSetmode(t)})),i=$$.dc("choicefrm").append([n("setprice"),n("setonly")]);e=$ocms.dlg(i,{width:800})},$inv.setSetmode=e=>{if(!1===confirm($rct.toSetMc||$rct.toSetPc))return;let t="setonly"===e?"block.setonly":"block.setprice";$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:t})}))},$inv.sctp=()=>{let e=$invcol.ctp;$ocms.dlgform(e,{title:$ict.ctp,success:function(e){var t=$("div.invoice_layout"),n=t.find("table.invi").data();let i={};void 0!==n.new&&"{"===(n.new.CustomValues||"").substr(0,1)&&(i=JSON.parse(n.inv.CustomValues)),i.contactName=e.name,i.contactEmail=e.email,n.new.CustomValues=JSON.stringify(i),t.find(".ctpfrm").text(ne(e.name,e.email)),$inv.d.sync({Target:"contact",Value:{name:e.name,email:e.email}})},typedvalues:!0})},$inv.invcPayload=function(e){e=e||{};let t=$.extend({},e.new),n=$.extend({},e.admin);return t.title=null!=t.invoicetitle?t.invoicetitle:t.title||"",t.provisionlocation=null!=t.loc?t.loc:t.provisionlocation||"",t.paymentterm=null!=n.paymentterms?n.paymentterms:t.paymentterm||"",n.customerid=null!=n.customerid?n.customerid:n.CustomerId,{admin:n,req:e.bai,new:t}},$inv.ssave=()=>{$inv.d.save()},$inv.sprev=e=>{$inv.d.preview()},$inv.rReload=()=>{try{let e=$("#listframe ul.rql:first").data();$inv.cInv2({id:e.search})}catch(e){}},$inv.quantChange=function(e){},$inv.storno=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Storno ohne Details").click({id:e,mode:"simple"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)})),$$.dc("btn","Storno mit neuer Rechnung").click({id:e},(e=>{n.c.trigger("modal_close"),$inv.ccStInv(e)})),$$.dc("btn","Storno mit best. Rechnung").tC("inactive",!1===bool(t,!1)).click({id:e,mode:"copy"},(e=>{!0===bool(t,!1)&&(n.c.trigger("modal_close"),$inv.cSt(e.data))}))]);n=$ocms.dlg(i,{width:1e3})},$inv.credit=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Gutschrift").click({id:e,mode:"credit"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)}))]);n=$ocms.dlg(i,{width:1e3})},$inv.setPyd=function(e){confirm($ict.cpyd)&&$ocms.postXT({url:$ocms.url("inv/setpyd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.setUpd=function(e){confirm($ict.cupd)&&$ocms.postXT({url:$ocms.url("inv/setupd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.resendRem=function(e){e.stopPropagation(),e.data.id&&confirm(string($ict.remresc,[e.data.name]))&&$ocms.postXT({url:$ocms.url("rem/resend"),timeout:60,data:{id:e.data.id},success:t=>{alert(string($ict.remresr,[e.data.name]))},error:()=>{alert($t.f1)}})},$inv.dspRem=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/getrem"),timeout:60,data:{id:e,drafts:!1},success:e=>{n.ft.empty();let i=$$.tblset({class:"invtbl"},t.empty()),a=$invcol.rem2,r=$$.tr(i.hd);$$.th(r);$.each(a.fields||[],((e,t)=>{$$.th(r).text(t.label)}));let s=!1;$.each(e,((e,t)=>{s=!s;let n=$$.tr(i.bdy).tC("alt",s),r=$$.td(n);n.click((function(){n.tC("selected").siblings().rC("selected")})),!0===bool(t.hasFile,!1)&&($$.dc("idl ilbtn",r,{title:$ict.dl+"\n"+t.DocumentName}).append(gi("save-file","ico")).click({id:t.Id},$inv.downloadrem),$$.dc("idl ilbtn",r,{title:$ict.remdsp+"\n"+t.DocumentName}).append(gi("eye-open","ico")).click({id:t.Id,typ:"rem"},$inv.jdisp),$$.dc("idl ilbtn",r,{title:$ict.remres+"\n"+t.DocumentName}).append(gi("refresh","ico")).click({id:t.Id,typ:"rem",name:t.DocumentName},$inv.resendRem)),$.each(a.fields||[],((e,i)=>{let a=$$.td(n).aC(i.dtype),r=t[i.name];if("function"==typeof i.dfnc)i.dfnc.call(a,r,t);else switch(i.type||""){case"date":a.text(fdt(t[i.name],"dd.MM.yy"));break;case"datetime":a.text(fdt(t[i.name]));break;case"html":a.append($$.dc("ctw").html(r)),a.append($$.dc("ttip").html(r));break;default:a.text(t[i.name])}if("InvoiceId"===(i.name||""))a.aC("keep");switch(typeof i.title){case"function":i.title.call(a,t);break;case"string":a.attr("title",cs.title)}}))}))},error:()=>{t.empty(),n.ft.rwText($t.f1)},complete:()=>{t.ldng(0)}})},$inv.ccRem=function(e,t){$(this);$ocms.postXT({url:$ocms.url("rem/lrem"),timeout:60,data:{id:e},success:n=>{let i=$invcol.rid.clone();i.applyValues(n.ov);let a=$$.dc("ac"),r=$$.tblset({class:"fullgrid fullwidth"},a);if((n.lst||[]).length>0){$$.d({style:"margin: 1.5rem 0 1rem 0;font-size: 110%;text-decoration: underline;"}).prependTo(a).text($ict.rovlh);let e=$$.tr(r.hd);$ict.rovl.forEach(((t,n)=>$$.th(e,t))),$.each(n.lst,((e,t)=>{$$.tr(r.bdy).append([$$.tdc("keep",t.subject),$$.tdc("currency",fnum(t.amount,$rct.cst)),$$.tdc("currency",fnum(t.amount_payed,$rct.cst)),$$.tdc("keep",fdt(t.DateFinalized,"dd.MM.yy"))])}))}else $$.td($$.tr(r.bdy),$ict.nd);$ocms.dlgform(i,{addcontent:a,title:string($ict.remdt,[t||"?"]),success:function(t){$inv.ccRem_s2(e,t)},typedvalues:!0})}})},$inv.rRemRw=function(e){let t=$(this),n=e.rm||{};t.empty().data({invoiceid:n.invoiceid,invoicedate:n.invoicedate,amount:n.amount,amount_payed:n.amount_payed});let i=[{lbl:$rct.cP,attr:{title:$rct.cP},data:t,fnc:$inv.eRowR}],a=$$.dc("axf").append($inv.rowCtxMenu(i));t.append([$$.tdc("aux").append(a),$$.tdc("keep",n.invoiceid),$$.tdc("keep",fdt(n.invoicedate,"dd.MM.yy")),$$.tdc("currency",fnum(n.amount,$rct.cst)),$$.tdc("currency",fnum(n.amount_payed,$rct.cst)),$$.tdc("currency",fnum(n.amount-n.amount_payed,$rct.cst))])},$inv.eRowR=function(e){let t=$(this),n=e.data,i=n.data()||{},a=$invcol.rem.clone().applyValues(i);$ocms.dlgform(a,{title:t.data("dialog")||"",success:function(e){let i=t.closest("table"),a=i.data();$.extend(a.rm,e),i.data(a),$inv.rRemRw.call(n,a),$inv.rd.syncAmount(a.rm.amount,a.rm.amount_payed)},typedvalues:!0})},$inv.ccRem_s2=function(e,t){$fis.lf(!1).rC("fix").aC("hd");let n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.rprev));$inv.eM(!1,!0);$$.dc("rfrm").ldng(1);$ocms.postXT({url:$ocms.url("rem/get"),timeout:60,data:$.extend({id:e},t),success:e=>{let t=e.rm||{},i=$$.dc("srq",n),a=$$.tblset({class:"invi"},i);a.ft=$$[0]("tfoot"),a.tbl.data($.extend({invid:t.invid,new:{}},e));let r=$$.tr(a.hd).aC("shd").append([$$.th().aC("aux")]);$ict.remHR.forEach((e=>$$.th(r,e))),$inv.rRemRw.call($$.tr(a.bdy),a.tbl.data()),a.ft.appendTo(a.tbl);let s={invoiceemail:"Email-Adresse ändern",subject:"Betreff ändern"},l=(e,t,i,r,l)=>{let d=$$.dc("inpfrm",n).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),c=$$.dc("content",d).rwText(t);$$.dc("axf",d).append($$.dc("ibtn edit",{title:s[i]||$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:c,nme:i,change:e=>{a.tbl.data("new")[i]=e}},l),$inv.eHtml)),a.tbl.data("new")[i]=t};l("tfrm",t.subject,"subject",0,null),l("adrfrm",t.invoiceaddress,"invoiceaddress",0,null),l("emailfrm",t.invoiceemail,"invoiceemail",0,null),$$.dc("sndfrm",n).append($$.dc("content").text(t.sender)),a.tbl.children("tbody").each($inv.bdysort),a.tbl.trigger("fds.inv");let d=a.tbl.data("new");d.amount=t.amount,d.amount_payed=t.amount_payed,$inv.rd.seed({rem:{invid:t.invid,type:t.type,invoiceid:t.invoiceid,invoicedate:t.invoicedate},new:d})},complete:()=>{}})},$inv.rprev=()=>{$inv.rd.preview()},$inv.sis=e=>{confirm($ict.sisc)&&$ocms.postXT({url:$ocms.url("inv/sis"),data:{id:e||""},success:e=>{}})},$inv.srs=e=>{confirm($ict.srsc)&&$ocms.postXT({url:$ocms.url("rem/srs"),data:{id:e||""},success:e=>{}})},$inv.mfrrel=e=>{$("#contentframe").ldng(),$ocms.postXT({url:$ocms.url("inv/mfrrel"),data:{id:e||""},success:e=>{$inv.rerenderinv()},complete:()=>{$("#contentframe").ldng(0)}})},$inv.sets={o:null,c:null,drag:null,isOpen:()=>!!$inv.sets.o,open:function(){let e=$inv.d.tbl();if(e.length<1||$inv.sets.isOpen())return;if(""===$inv.d.token()&&!e.data("dstate"))return;let t=$$.dc("setstruct");$inv.sets.c=t,$inv.sets.o=$ocms.dlg(t,{title:$ict.setst,size:[-1,960],exclusive:!1,close:()=>{$inv.sets.o=null,$inv.sets.c=null,$inv.sets.drag=null}});let n=e.data("dstate");n?$inv.sets.render(n):$inv.d.refresh()},title:e=>{let t=$$.d().html(e.t||"").text().replace(/\s+/g," ").trim();return""!==t?t:$ict.setsNoTitle||""},typLbl:e=>{let t=(e.typ||"").toString().toLowerCase();return($ict.settyp||{})[t]||e.typ||""},isSet:e=>"set"===(e.typ||"").toString().toLowerCase(),parentOf:(e,t)=>{let n=(null==e.SetItmId?"":e.SetItmId).toString(),i=(e.id||"").toString();if(""===n||n===i)return"";let a=t[n];return a&&$inv.sets.isSet(a)?n:""},isDescendant:(e,t,n)=>{let i={},a=n[e];for(;a;){let e=$inv.sets.parentOf(a,n);if(""===e||i[e])return!1;if(e===t)return!0;i[e]=!0,a=n[e]}return!1},canDrop:(e,t,n,i)=>!!e&&e.bid===n&&e.id!==t&&!$inv.sets.isDescendant(t,e.id,i),sync:e=>($inv.sets.c&&$inv.sets.c.aC("busy"),$inv.d.sync(e)),render:function(e){let t=$inv.sets.c;if(!t)return;let n=t.closest(".modal-body"),i=n.length?n.scrollTop():0;t.empty().rC("busy"),$$.dc("shint",t).text($ict.setsHint||""),(e.req||[]).forEach((e=>{if(!e)return;let n=(e.Id||"").toString();if(""===n)return;let i=(e.itm||[]).filter((e=>e&&""!==(e.id||""))),a={};i.forEach((e=>{a[(e.id||"").toString()]=e}));let r=$$.dc("sblock",t).data({bid:n});$inv.sets.rootZone($$.dc("sbhd",r).append($$.sc("nme",e.text||e.nme||n)),n,a);let s=$$.tblset({class:"stbl"},r),l=$$.tr(s.hd);($ict.setsHR||[]).forEach((e=>$$.th(l,e))),i.forEach((e=>$inv.sets.row(s.bdy,e,n,i,a))),$inv.sets.rootZone($$.dc("sroot",r).text($ict.setsRoot||""),n,a),$inv.sets.createBar(r,n,i,a)})),n.length&&n.scrollTop(i)},collapsed:{},hiddenByCollapse:function(e,t){let n={},i=e;for(;i;){let e=$inv.sets.parentOf(i,t);if(""===e||n[e])return!1;if($inv.sets.collapsed[e])return!0;n[e]=!0,i=t[e]}return!1},zone:function(e,t,n){let i=e.originalEvent||e,a=t[0].getBoundingClientRect(),r=(i.clientY||0)-a.top,s=a.height||1;return r<.3*s?"before":r>.7*s||!n?"after":"into"},clearDrop:()=>{$(".setstruct .dropok, .setstruct .dropbefore, .setstruct .dropafter").rC("dropok dropbefore dropafter")},row:function(e,t,n,i,a){let r=(t.id||"").toString(),s=parseInt(t.lvl||0,10)||0,l=$inv.sets.isSet(t),d=$inv.sets.parentOf(t,a),c=l&&!!$inv.sets.collapsed[r],o=$$.tr(e,{draggable:"true"}).aC("srow lvl"+s).tC("isset",l).tC("folded",c).data({id:r,bid:n});$inv.sets.hiddenByCollapse(t,a)&&o.aC("hid"),$$.tdc("grip",o).append(gi("move")).attr("title",$rct.mR),$$.tdc("pos",o).text(null!=t.p?t.p:"");let u=$$.tdc("typ",o);l&&u.append($$.sc("fold").attr("title",c?$ict.setsExpand:$ict.setsCollapse).append(gi(c?"triangle-right":"triangle-bottom")).click((e=>{e.stopPropagation(),c?delete $inv.sets.collapsed[r]:$inv.sets.collapsed[r]=!0;let t=$inv.d.tbl().data("dstate");t&&$inv.sets.render(t)}))),u.append($$.s($inv.sets.typLbl(t))),$$.tdc("qty",o).text(t.q||"");let m=$$.tdc("ttl",o);if(""!==d&&m.append($$.sc("seti",$inv.sets.title(a[d]))),m.append($$.sc("txt",$inv.sets.title(t)).click((function(e){e.stopPropagation(),$(this).tC("exp")}))),l){let e=i.filter((e=>$inv.sets.parentOf(e,a)===r)).length;m.append($$.sc("cnt"," ("+e+")"))}let v=i.filter((e=>$inv.sets.parentOf(e,a)===d)),p=v.findIndex((e=>(e.id||"").toString()===r)),f=v.slice(0,p).some((e=>$inv.sets.isSet(e))),h=$$.tdc("act",o),g=(e,t,n,i,a)=>$$.dc("ibtn "+e,h,{title:n}).append(gi(t)).tC("disabled",!i).click((()=>{i&&$inv.sets.sync(a)}));g("up","arrow-up",$ict.setsUp,p>0,{Target:"set.move",Ref:r,Value:-1}),g("down","arrow-down",$ict.setsDown,p>=0&&p0,{Target:"set.level",Ref:r,Value:-1}),g("in","chevron-right",$ict.setsIn,f,{Target:"set.level",Ref:r,Value:1}),o.on("dragstart",(e=>{$inv.sets.drag={id:r,bid:n},o.aC("dragging");try{e.originalEvent.dataTransfer.setData("text/plain",r),e.originalEvent.dataTransfer.effectAllowed="move"}catch(e){}})).on("dragend",(()=>{o.rC("dragging"),$inv.sets.drag=null,$inv.sets.clearDrop()}));return o.on("dragover",(e=>{if(!$inv.sets.canDrop($inv.sets.drag,r,n,a))return;e.preventDefault();let t=$inv.sets.zone(e,o,l);o.rC("dropok dropbefore dropafter").aC("into"===t?"dropok":"before"===t?"dropbefore":"dropafter")})).on("dragleave",(()=>{o.rC("dropok dropbefore dropafter")})).on("drop",(e=>{e.preventDefault(),$inv.sets.clearDrop();let t=$inv.sets.drag;if($inv.sets.drag=null,!$inv.sets.canDrop(t,r,n,a))return;let i=$inv.sets.zone(e,o,l);"into"===i?$inv.sets.sync({Target:"set.assign",Ref:t.id,Value:{parent:r}}):$inv.sets.sync({Target:"set.move",Ref:t.id,Value:{anchor:r,where:i}})})),o},rootZone:function(e,t,n){return e.on("dragover",(i=>{(()=>{let e=$inv.sets.drag;return!!e&&e.bid===t&&!!n[e.id]&&""!==$inv.sets.parentOf(n[e.id],n)})()&&(i.preventDefault(),e.aC("dropok"))})).on("dragleave",(()=>{e.rC("dropok")})).on("drop",(i=>{i.preventDefault(),e.rC("dropok");let a=$inv.sets.drag;$inv.sets.drag=null,a&&a.bid===t&&n[a.id]&&""!==$inv.sets.parentOf(n[a.id],n)&&$inv.sets.sync({Target:"set.assign",Ref:a.id,Value:{parent:""}})})),e},createBar:function(e,t,n,i){let a=$$.dc("screate",e),r=$("").attr({name:"typ"}).append([$$.opt("set",$ict.settyp.set),$$.opt("text",$ict.settyp.text)]),s=$("").attr({name:"parent"}).append($$.opt("",$ict.setsTop));n.forEach((e=>{if(!$inv.sets.isSet(e))return;let t=parseInt(e.lvl||0,10)||0;s.append($$.opt((e.id||"").toString()," ".repeat(3*t)+$inv.sets.title(e)))}));let l=$('').attr({name:"title",placeholder:$ict.setsTitle,maxlength:250}),d=()=>{let e=(l.val()||"").toString().trim();""!==e?($inv.sets.sync({Target:"set.create",Ref:t,Value:{typ:r.val(),title:e,parent:s.val()||""}}),l.val("")):l.focus()};return l.on("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),d())})),a.append([$$.sc("lbl",$ict.setsNew),r,$$.sc("lbl",$ict.setsInto),s,l,$$.bbtn($ict.setsAdd,"sadd").click(d)]),a}}; \ No newline at end of file diff --git a/Fuchs/wwwroot/web/fis.inv.min.css b/Fuchs/wwwroot/web/fis.inv.min.css index 177e770..23a7e74 100644 --- a/Fuchs/wwwroot/web/fis.inv.min.css +++ b/Fuchs/wwwroot/web/fis.inv.min.css @@ -1 +1 @@ -@charset "UTF-8";.invfrm>table td.sh_s,table.invtbl td.sh_s{color:#bf4b06}.invfrm>table td.is_cc,table.invtbl td.is_cc{background-color:#777!important;color:#fff!important}.invfrm>table td.is_pyd,table.invtbl td.is_pyd{color:#60cc08}.invfrm>table td.is_due,table.invtbl td.is_due{background-color:#f2f23f!important}.invfrm>table td.is_ovd,table.invtbl td.is_ovd{background-color:#de4e09!important}.invfrm>table td.is_rem,table.invtbl td.is_rem{background-color:#ce1900!important}.invfrm>table td.av,table.invtbl td.av{border:2px solid red}.invfrm>table td.av+td.vsel select,table.invtbl td.av+td.vsel select{display:block}.rfrm{min-width:200px;min-height:200px}table.if{border-collapse:collapse;margin:1rem 0;background:#fff}table.if tr:nth-child(2n+1) td{background-color:#f9f9f9}table.if tr.title td{background-color:#56a532;color:#fff}table.if tr.title td .eid{font-weight:700;margin:0 1rem 0 .5rem;font-size:140%}table.if tr.title td .nme{font-size:110%}table.if tr.shd td{font-style:italic;color:#bbb;background-color:#fff!important;font-size:90%}table.if td,table.if th{padding:.2rem .35rem;border:1px solid #ddd}table.if td.currency{text-align:right;white-space:nowrap}table.if td.num{white-space:nowrap}.pdfpreview .pdfp.ph>.note{background:#fff;display:inline-block;padding:3rem;margin:.2rem 0}@keyframes fis_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.edit_frm .invoice_layout{margin:2rem 2rem 2rem auto;width:50rem;border:1px solid #eee;padding:25.5rem 3rem 3rem;box-shadow:4px 4px 9px rgba(50,50,50,.3);position:relative}.edit_frm .invoice_layout .axf{font-size:1rem;display:none;position:absolute;right:100%;height:100%;min-height:1.5rem;min-width:2rem;background:#f0ffe2;border:1px solid #ccc;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;top:0;width:auto;max-height:1.5rem;overflow:visible;padding:.1rem}.edit_frm .invoice_layout .axf>.ibtn{cursor:pointer;height:100%;width:1.5rem;display:inline-block;position:relative}.edit_frm .invoice_layout .axf nav.rowctx{position:relative;display:inline-block;width:1.5rem;height:100%;min-height:0;max-height:none;background:0 0;z-index:auto;vertical-align:top}.edit_frm .invoice_layout .axf nav.rowctx>ul{height:100%}.edit_frm .invoice_layout .axf nav.rowctx>ul>li{height:100%;float:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn{padding:0;width:1.5rem;height:100%;text-align:center;line-height:1.3rem}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn>.caret{display:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li.dropdown>ul.dropdown-menu{top:100%;left:auto;right:0;font-size:.85rem;white-space:nowrap}.edit_frm .invoice_layout .sndfrm{position:absolute;font-size:.7rem;color:#727272;top:4.7rem;left:3rem;width:auto;height:auto;user-select:none}.edit_frm .invoice_layout .emailfrm{position:absolute;font-size:.7rem;top:.5rem;left:.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .emailfrm .content{color:#000}.edit_frm .invoice_layout .emailfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block}.edit_frm .invoice_layout .emailfrm:hover div.axf{display:block}.edit_frm .invoice_layout .emailccfrm{position:absolute;font-size:.7rem;top:2.2rem;left:.5rem;width:auto;height:auto}.edit_frm .invoice_layout .emailccfrm .content{color:#000}.edit_frm .invoice_layout .admfrm{position:absolute;right:3rem;top:9rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .admfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .admfrm .content{color:#000}.edit_frm .invoice_layout .admfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .admfrm:hover div.axf{display:block}.edit_frm .invoice_layout .ctpfrm{position:absolute;right:3rem;top:14rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .ctpfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .ctpfrm .content{color:#000}.edit_frm .invoice_layout .ctpfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .ctpfrm:hover div.axf{display:block}.edit_frm .invoice_layout .adrfrm{position:absolute;left:3rem;top:6rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .adrfrm:hover div.axf{display:block}.edit_frm .invoice_layout .locfrm{position:absolute;left:3rem;top:18.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .locfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .locfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .locfrm:hover div.axf{display:block}.edit_frm .invoice_layout .tfrm,.edit_frm .invoice_layout>div.title{position:absolute;left:3rem;top:15rem;font-size:2rem;cursor:pointer}.edit_frm .invoice_layout .tfrm:hover div.axf,.edit_frm .invoice_layout>div.title:hover div.axf{display:block}.edit_frm .invoice_layout div.fnote{margin:1rem 0}.edit_frm .invoice_layout p+table.invi,.edit_frm .invoice_layout table.invi+p{margin-top:2.5rem}.edit_frm .invoice_layout table.invi{border-collapse:separate;border-spacing:0;border-color:#fff;width:100%;max-width:100%}.edit_frm .invoice_layout table.invi>tbody>tr.hidden{display:none}.edit_frm .invoice_layout table.invi>tbody>tr:nth-child(2n+1) td{background-color:#fbfbfb;border-color:#fbfbfb}.edit_frm .invoice_layout table.invi>tbody>tr.title>td{background:#fff;border-color:#fff;border-top:1.5px solid #000}.edit_frm .invoice_layout table.invi>tbody>tr.sethdr td.txt{font-weight:700}.edit_frm .invoice_layout table.invi>tbody>tr.lvl1 td.txt{padding-left:calc(.4rem + 1.4rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl2 td.txt{padding-left:calc(.4rem + 2.8rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl3 td.txt{padding-left:calc(.4rem + 4.2rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl4 td.txt{padding-left:calc(.4rem + 5.6rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl5 td.txt{padding-left:calc(.4rem + 7rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl6 td.txt{padding-left:calc(.4rem + 8.4rem)}.edit_frm .invoice_layout table.invi td.currency,.edit_frm .invoice_layout table.invi td.num,.edit_frm .invoice_layout table.invi th.currency,.edit_frm .invoice_layout table.invi th.num{text-align:right;white-space:nowrap}.edit_frm .invoice_layout table.invi td.keep,.edit_frm .invoice_layout table.invi th.keep{white-space:nowrap}.edit_frm .invoice_layout table.invi table.stbl td,.edit_frm .invoice_layout table.invi table.stbl th{padding:.3rem .5rem}.edit_frm .invoice_layout table.invi table.stbl td:first-child,.edit_frm .invoice_layout table.invi table.stbl th:first-child{padding-left:0}.edit_frm .invoice_layout table.invi table.stbl td:last-child,.edit_frm .invoice_layout table.invi table.stbl th:last-child{padding-right:0}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>td,.edit_frm .invoice_layout table.invi>tr>th{border-width:1px;padding:.3rem .5rem;border-left:none!important;border-right:none!important}.edit_frm .invoice_layout table.invi>tbody>tr>td.aux,.edit_frm .invoice_layout table.invi>tbody>tr>th.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>td.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>th.aux,.edit_frm .invoice_layout table.invi>thead>tr>td.aux,.edit_frm .invoice_layout table.invi>thead>tr>th.aux,.edit_frm .invoice_layout table.invi>tr>td.aux,.edit_frm .invoice_layout table.invi>tr>th.aux{width:0;max-width:0;min-width:0;position:relative;padding:0}.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>th{text-align:left;font-weight:300;background-color:#fff;border-color:#fff;font-size:.8rem;font-style:italic;border-top-style:none;border-bottom-style:none}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>tr>td{vertical-align:top;font-weight:400;background-color:#f8f8f8;border-color:#f8f8f8;border-top-style:solid;border-bottom-style:solid;user-select:none}.edit_frm .invoice_layout table.invi>tbody>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tfoot>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>thead>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout table.invi>tbody>tr.isum>td,.edit_frm .invoice_layout table.invi>tfoot>tr.isum>td,.edit_frm .invoice_layout table.invi>thead>tr.isum>td,.edit_frm .invoice_layout table.invi>tr.isum>td{border-top:1px solid #000;background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.sep>td,.edit_frm .invoice_layout table.invi>tfoot>tr.sep>td,.edit_frm .invoice_layout table.invi>thead>tr.sep>td,.edit_frm .invoice_layout table.invi>tr.sep>td{background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.tsum td,.edit_frm .invoice_layout table.invi>tfoot>tr.tsum td,.edit_frm .invoice_layout table.invi>thead>tr.tsum td,.edit_frm .invoice_layout table.invi>tr.tsum td{font-weight:600;border-top:1px solid #000;border-bottom:1px solid #000}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move{background:url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAzMiAzMiIgaWQ9IkxheWVyXzQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDMxIDgsMTggMjQsMTggICAgICIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI0RERERERCIvPjxwb2x5Z29uIGZpbGw9Im5vbmUiIHBvaW50cz0iMTYsMSA4LDE0IDI0LDE0ICAgICAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNEREREREQiLz48L2c+PC9zdmc+) center center/contain no-repeat border-box}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move:hover{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIGlkPSJMYXllcl80IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGc+PHBvbHlnb24gZmlsbD0ibm9uZSIgcG9pbnRzPSIxNiwzMSA4LDE4IDI0LDE4ICAgICAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDEgOCwxNCAyNCwxNCAgICAgIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9nPjwvc3ZnPg==)}.edit_frm .invoice_layout table.invi .sortable>tr.sortactive>td.ico{cursor:move}.edit_frm .invoice_layout .btn{background:url("") center center/contain no-repeat content-box #fff;position:absolute;top:.2rem;right:.2rem;height:3rem;width:3rem;padding:.1rem;z-index:11}.edit_frm .invoice_layout .btn.sprev{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAaz0lEQVR4nO2caVAbd97neSbObPJs7VE7z4vU82Krdp+t2qmt3apnNhObIzanwfjKZBJPJpXJU45rbGcSH4mvCZM4g08yPjC2s/gCJjG2sfEB2BhkA+ISoPtAal3dUnerW/fRkgAnYbLz3RfQHQHCHHby7Ivpqk9JdLcE+vh//H6//1/OyPjb8bfj/6sDwI8IgnjBarX+T4fD8dKpU6fyPv744w379+//zYEDB0pVKlUWSZI/M5vN/8Rx3PP/2n/vEx2NjY3PbNmy5dny8vIls9HY2PjMnj17/u1HH330X48dO/bazp07q3ft2jV05MgR75kzZ5I1NTXfNDQ0/OXmzZvf1tfXj1+4cOHRsWPHIp988ol9+/btt0+cOLH74MGDL77//vs/aWxsfKa8vPxHjY2Nz8yH8vLyH80HAH83F4sStGHDhv+QkZHxv5977rmCFPJElixZkveTn/zkX4qKii7v2LGDOnfu3JhMJvvr8PAwSJIETdNgWRYcx8HL8+A4DgzDgKIo2O12qFQq3Lhx4y+HDx8Ov/HGG50//elPy5577rmC559/PnvJkiXzISuVZ599NvPZZ59dloalc/DSCy+88D8UCsW/W5CgjRs3/seXXnrps9raWu+1a9f4a9eu8Q0NDXx9fT1/5MgRfvPmzd7y8vJke3v7XwmCAMuy8PI8PCwLN02DpChYHU6YrHYYrXZYbA44nE5QLhcYhgHn8YDnOFAUBbVajbq6um/ef//9wIcffshdunTJc+3aNe7q1avctWvXZtDQ0OARuX79uuf69eue1HOp5+fixo0bnhMnTpgbGhoKF9yCiouLz/M8j5GREYyOjsLn8+HGjRs4c+YMWlpaYLPZwHMcPCwLu5OE0mhBm9KAqz1q1HWqcKlThfMdKpx7qMLFDhVqOlX4Uq5C84AOfToTjIQVbrcbnMcDhmGgVCpRV1eH6upq6PV66feOjIzMyujo6JyMjY3NyqNHj6BUKhPt7e3rFyxo5cqV5zweD5LJJBwOB86fP4+LFy/CaDRKXcZIWNGmNOBytwb/54ESle1KnBRpG5ok9fkQKtuVOC1ToqZLjdsKHYYMZjicTng8LCiKQltbGyorK9HR0YFYLIZEIoF4PI5EIjHjeTKZTEvqtbkEDwwMLE5QUVFRtcfjgU6nw6lTp3Dz5k2QJAmWZWGx2fFQbcSfuzU481CN0w/VOJvCmVlId8/5Tg2aBvRQmyygXC6wLIuBgQFUVVWhsbERwWBQEpMqZzZB85EjXlu0oLfeeuvfFxcXV3d2duLYsWNoa2sDTdOg3W6ojGY09OlQ3alBdZcWF7t1qOnRozaFuh496npTmHZdpKZHjwvyifeq69aiQ22EzWYHwzDQ6/U4c+YM6uvrEQ6H5916Unlc6xkZGcHY2NjiBS1duvTc4cOHIZPJpBmoTzeMy706nOvSobbXgKsDw7g2aEHDkAWNSgJ31Fbc1dpwX2+HzODAA6MDMoMD7QYHWnV2NGtsuK22olFJoGHIgoZBC64NmnFZYcLFbj0uyXVoVRpgJqxgGAYGgwEnTpxAU1OTJGexYsTzqa1n0YLefvvt/1JaWtpz69Yt0DQNJ0miS2vCF716XOox4OqgGXc0NjRr7WjVO9BpptBvdWPQTkNpp6F0MLMyaKfRb3Wj2+KCzOhEi86BJq0dt9RWfNlvQk2PHk2DBhgtBGiaxtDQED777DPcv38fLpcLFEU9FpfLNYNAIDBFzhMJArBk06ZNn50/f/5bp9MJl8s10XL6DKjrM+KW2op2E4WHwy7022joKA+MLk7C4OKgpzhoSA+UDhYDdgb9Nhr9NhoDdgZDDgZqJwsd5YHexUHpZNFhdkFmonDf6MTVQTPqeg1oVRphnpT08OFD7N+/H83NzdBoNFCr1fNGo9GApum0s9+iBNXU1OTs37/fZzabpTHn+oAJX/SbcEdjg5yg0WdnoHfxIFgfrJ4JCNYHE+2FhuIw6PCgz8agZ5Ju6wTiz702Bv12FirSAy3FQWFn0W2l0WNj0GF24YaSwNWBYXRohmGz20GSJGpra1FdXQ2/349IJJKWaDSalng8/nQE0TT93AcffHD53r17oGkaJosVzcph1CuGcUdjQ5+dhYriQHj8IL1BUN4gSG8AVo8fetoLJcVh0PmEkBy6CDduqgg0Dpmh0JtBkiRUKhUOHDiApqYmGI1G6PX6eWEwGMCybNrYacGC6uvr1xw6dEiw2WxwOp2Q68xoGDLjhpKYaDWMDw5vEGwgDDYQhtsfAsEFoKd90Lq9TxWZiUSjisA9tRkmswUkSaKhoQFHjhyByWSCw+GYN36/f4qYRY1BPp/v73fu3NnU3t4OmqahNxNoURNoVBF4MEzByAZA+sLgQ1Hw4SjoQAQEF4SJDXwvaNw+tOqduKu1oV9vhsPhgF6vx8GDByGXyxEMBuH3++ckEAggFovNGmXPW9DVq1f/+Y9//KPXarXC4XCgW29Bi9aGFp0dGrcXpD8CX0RAICrAE4rB5g2D4EPfK312Fvf1Dsh0VhjNFjgcDtTU1KCiogKDg4MYGhqaF263e0rLWZSgo0eP7rh06dK3brcbJgsBmd6Ge3oHHppdsPsi8EXjCAsJeKMCqEAUDn8Uzu8ZAxtAu9EJmcGBIeOEoLa2Nhw4cEDqOj6f77H4/f4pLWj6YK1QKOYW5PP5/v63v/3t9a6uLrhcLqhNFjw0OdFqcGKI5OEJC4jGkwgKCdAhAa5g7AeBDEQhJ2jIzRT6jDYQhBVGowGHDh1Ca2srSJJ87NjjdDrhdDqlMShdADkvQfX19f9tx44drMFggMPhwMCwDXILBdkwBYIPIRRPIpZMgo/GwYSfgEgc7CRMWIArFAM1KcIVjIEOC99dj0y8RkXx6LG40D3shMlsAUEQOHv2LM6cOTOvGcxgMMDj8cwQJOZtfX19idbW1scLOnbs2PKKioqE3W6HxWpFn9mJbsKNDsINdygGITmKUDwJLppYPLEEmEgcTn8URjYAJcWj3+FBn51Fr51Bv4PFIMlBz/jh8EfBROLgY0mYPEHICRf6rS5ohwnYbDbcvHkTp0+fRiAQmDX2iUajiMViUkVgerohXuvt7Z2XoNc+//zzMRdFwWQhoCAo9Fpp9NpZ8NE4hJFR+IQReIXkgvAJSfiEEXDRBOy+CIYoHnIrjU6LGw8n6Zgk9We5lcYQycPChWDhQ+i10hiy01CZrbDbbWhtbUVZWRkUCgW0Wi00Go2EVqudAcMwU1pOLBaTAst5CTp+/PiOCxcujLvdbhjNBFR2N/psNAZJDt5YApHECPzxhRGIj8AbS8Lpj0Lt8qLHxkyMJ9b50UXQ6LbS6LOz6LczUDsZqC12WK1WyGQyfPTRRzCbzXC73VPyLrfbLTE9F0skEpKccDiMSCSCnp6euQVVVVVV1NbWwu1ywWAmoHVOpAJ9DhYGxg9XMAY+lkAgPoJgYpL4NFLO+4QkqEAUWtqHfodHSi967ezCsLHosTFQOFhoSQ80hBMEYYFcLkdZWRmsViu8Xu8UxNkr9VwkEpkhZ6GCTtfV1YEiSRgsVugpDwacHigcEww4OWjcPli4INyhGPhoAt6Y2IWS8MaS4KMJuEMxWL0h6Bk/Bp0c+h3fvceTMOicSGy1VhLDw8OQy+XYs2cPZDIZVCoVlEollEolVCqVhHhOqVTC5XJNkRMKhRAKhRAOhyGXy+cWdPLkyfJLly79lSRJGC1WmFweqCgOQ+R3DE4+KikeapcXOtoHA+uHgfFDR/ugcXuhpPgp9z4pqsn3U1McTG4OehsJo9EImUyGffv2gSRJhEIhBINB6UMHg8Ep+P1+BIPBGXLE18xL0Geffba1srLyG5J0wmQhMOzyQOf2Qu16PKpJ5rpvMejcPti5ANQuL/RuLyw0D4PNCZPJhLa2NuzZswdqtRoWiwUWy8T0Lz4XMZvNMJlMcLvdM+SIgrq6uuYW9Kc//ekX+/fvHyMIAsMWAmYXCxPjg47+18PJB0H7Q9DSPpgYHwiGh9Fqh8lkQmtrKz755BNotVqYzWaJ4eFhidSM3+VySYJEOYFAAMFgcH6Cjh49mvXee+/F9Xo9LAQBC0WD8PhgYPww/sAYGD8ILoBAOArKF4KB8cPK+mBlvDBaCCiVStTX16OyslKqDYmDrighEAhIAzXP8/D7/TPkiIlsZ2fn3IIUCsV/3rhxo62npwdWqxUWBwkH54fZE8TwD4yFC4IPRRCJxmDjQxj2BEFyfhBuDwxGI/r7+nD48GFUVVVNqS6Kg/PQ0BAGBwcxODiIgYEBDAwMwG63S4JEOQsSBODHb731Vm19fT3sdhvMVhtIzgcbHwLBh2H9ASD4EKx8GEwgglgsBl84Cisfho0PwsX7QZBuqFQq9PX14dNPP4VcLgfHcWBZFgzDwO12g6IokCQpIeZiHo9nhhwxke3o6JhbUEZGRsapU6c2lZWVfW02m2G2EHAyHpC+EBz+yA8GG4wiGoshGouBDkZg90fg8gVB8X6YbXb09/fj9u3bKC8vRygUkoI/QRAQjUal0mtqd0vXclIz/XkLam9v/+8bN26ku7q6YLFYYHNSoL0BUIEoyGDse4UKxsCFJ8QIggB/ZOIcFYiA8QXgZDlotFp0dnbi+PHjqKurW5CY6XJSg8qHDx/OTxCAH7/99tu1Z8+ehdiKXB4OTDACd0j43qBDArwRAdGYAEEQEI4KYMMT15hACIzXD8LugFwuR3NzM3bu3AmlUol4PP5Ecnieh9frxYMHD+YnKCMjI+P48eNZv/nNb7w9PT0wm82wOUl4fAGwKWWIpwkfERCKxhCLCRCEGKIxAd7oxDVPKArOHwTFclCr1ZDJZKiqqsLJkycRCoVmyJke48wlR2RBggA888Ybb5yqqKiASqXCsNkMimbBB8PgownwseRTwRdLIBiLT7aamCQnEJsocfDROPhAEKwvgGELgQcPHuDWrVvYu3cvtFpt2q71OEHp5HAcB57nIZPJ5i8oIyMjo6Oj43+9/vrr5JUrV6DVakEQVjAeD3zhKPzC1Iw9JCQQEuIICAn4heTs2b2QRECYqEhGhDhiwndiYrEYooKAkJCQ7vUGQ+D9AdgcTnR1dqKpqQn79u3D5s2bYTQawfM8WJaVYBhmYu8ATc/I5F2TGyKmy/F4POA4buGCMjIyMt55550dW7ZsGb1//z50Oh1sdjs8Xi/8kRhCiVGEkmMIJUYRiScREwTEBAFRQUBUiCMixBEREojEExOPQhzRyXtiQgxC7Dtik68JJ0YQSo5NVAJCYXj9AZAuN/r6+tDS0oJTp06huLgYmZmZeO+99yCTyTA0NCTFOQqFQqK/v38GFotFEiTKeSJBb7755j/87Gc/ay4rK8Pdu3ehVqthdzjg4XgEIlFEkmOIjjyaIDmKWCKJWFxsGYJUrROmEZuUEhMExOIJxBIj0vuEEyPwB0Pw+vwgXW4oFAq0tLSgrq4Or7/+OnJycpCVlYVly5Zhx44d0Ol0UvyT2mLENfrUWIimaXAcN0UOy7LweDxob29fuKCNGzc+l52dfXrXrl0oKytDU1MTlEolrDYbWJZFMBxBNDGC+NhXUxkdQ3xkFEJyBEIiCSGRSCE5QXJ04r7J1wijjxCOxeEPBuH1+WB3ONDd3Y2mpiZcunQJb775JpYvXy6RlZWFzMxM7N27F0NDQ7BYLFNyMJPJBJPJBKPRCKPRCIPBAKfTOUOOyKIFlZaWVg0NDWHv3r345JNPcPv2bfT392N4eBhuNw2vz4dwNIb46BhGHn2Nka++mcbXE+dFpl1Pjn2FWGIEwVAYPr8fHo6H2WJBR0cH7ty5g3PnzuHXv/41cnNzsWLFiilkZ2dj2bJl2Lp1K2QyGZRKZdoUQ8RisUwRwzAMGIZ5MkElJSVVPM/D4XDg8OHD2LVrF2pra9He3g6VSgWbzQaGYeD3BxCORBBPjmBk7CuMfvUNHn09jkffTGXs63GMPPoaidExRIU4gsEQ/P4AOI6HzW6HQqHA3bt3cfPmTVRWVuK1115Dbm5uWkRJmZmZ2LVrF4xGI1iWTTtIUxQFmqYlQaIcmqbBMMyTCRL3KHIch88//xybNm3CyZMncefOHXR2dkKlUoEgCKmP+/2BiUpdJCKlDNFYDJFoFKFweFKKHzzPg2EYWK1WDA4OorW1Fbdv30ZtbS127tyJ0tJS5OXlzYooKicnB8uWLcO2bdsgk8kwODiYdrAeHh6eIUekra1t0YJOeTweaWdXKBRCc3MzPvzwQ+zduxfV1dVobGzE/fv30dPTA41GAwtBwD65XUX8VxM3fJIkCbvDAYKYKFl0dHSgpaUFt27dwtWrV1FRUYFNmzahsLAQmZmZyMvLQ35+flpSZeXk5GDp0qV499130dPTI41D4hhkNBpht9vThgM0TeP+/fsLF7R9+/Z/U1xcXCkKSt0b6HK5UFdXh61bt2Lnzp2orKxEQ0MDbt26hZaWFrS1taGjowNdXV3o7u5Gd3c35HI5ZDIZ7t27h+bmZty+fRs3b97ExYsX8fHHH+Odd97Bvn37cPfuXZw9exZ5eXnIyspCXl4eCgoKJGYTlpOTg8zMTKnKaLdPrH5YrVYQBAGSJGfIEVdAnrqgZDKJSCQCo9GImpoa/P73v8f777+P3bt3o6KiAlVVVfjiiy/Q0NCAhoYGXL9+HY2Njbhy5Qqqq6tRWVmJAwcO4He/+x3effdd7NmzB3V1dejp6YFSqYRCocCxY8eQn5+PrKws5Ofno7CwcIqo6eTn5+Pll1+WBu579+6ht7cXPT096O7uhtFonCFHFNTa2vpkgqbvLk0kEgiHw4hGoxgbG4PP54NGo8GVK1fw0UcfYdu2bdi9ezf27NmDbdu2SfLEn7dt24bKykrIZDKYzWbwPA+fzycFcWKX/POf/4yioiJkZWWhoKAARUVFKCwsnJWCggJJ0vbt26FSqeB0OqUun27wdrlcTyaI47gpYlIFRSIRqR4jrnuLO8G6urrQ0tKCq1ev4vLly7h16xZkMhkUCgV0Oh1MJtOUovr02MVoNEKr1eL48eNSdxMlzYYoavny5cjMzMTu3bthNBpnBJOpgSRFUd+voNHRUanbJRIJUBQFg8EAo9EIk8k0I3gzGAxSIV2n00mkLhOnLiOrVCqcPn0aBQUFyMrKQmFhIVauXJmWVFmpkvR6PWiaThtlUxSFe/fu/XCCxCx7Nmar28xWnvD5fPB4PKipqZEkFRUVobi4GMXFxY+VJUratWsXdDrdjJKs0+kESZI/rCBxQE9FmJafLUYWx3Gora1FYWGhJKmkpEQSlY6VK1dKkj788ENotVq4XK4pteonErRq1ap5C3pacmZrRWJLEiVlZ2dj5cqVKCkpmRVR1IoVK7Bs2TJ88MEH0Gg0UzZdkSSJ1tbW+N27d9c+FUHibCYWqqYLSlcCTbdgl07C9HpNuuTS7XbjwoULKCgoQHZ2NoqLi7Fq1aq0pMrKzc2VWpJOp5PSDJZlceHChcHr16//04IEbdiw4cfTBaVO9dMFia3FbrdLA2zqbvfZNhWkbrQUE83pyWZqrUehUKC3txdHjx5Fbm6uJKm0tFRiNlmipH379sFmsyEUCuHu3bu2o0ePLl+QnMe1oNRAMZ0glmWl5mu322G322Gz2SRSo1uR1HX01OXjdFO/uKVOp9Ph7NmzKCwsRE5ODkpKSrB69eopoqazatWqKZIaGxvZEydOlCxYTroWFI/HEQ6HEY/HZwhKHW/8fn/assJs5dB0xS2n0zmnZJvNBrPZjKqqKikfW7VqFdasWYPVq1fPipgEZ2VlITc3t6+lpeUfn0TQSY7jkEwmQVEUHjx4AJvNNqWLjYyMTBFksVigUCjmVQbt6+uT6O3tlVIDETGPE3O5dHR0dKCiokLKx0RJsyGKys/Px7Jly74tLS29olarX3hiQWazGXK5HBRFIR6PTxGUOlMFg8G0qwfTB9uFtKy5WpXFYkF1dTUKCgqQk5OD0tJSrF27dgpr1qyRHkVR+fn5WLp06berV6+uX7Ck6YKi0Si8Xi8EQZC6WDgcnrJbNBqNStPxdBmp9ZfpKw6zraen7ncWZx3xvaYLdTgcOHfunCRp9erVWLduHdatWzdDVqo0UVJpaenFBX01XBTE83zab/RNFyTGNxaLZday52zdLl1XS+1y/f39cDgcaeWkfpHO6XSirq4ORUVFkqT169dLotKxdu1a5Ofn48UXX0weOHBgw7wFbdmy5dmSkpIT0wWJM5m4vy+RSEwJ/rxe76zdZ64uJLYasQuldiOXyzWrHPE9KIqC3+/HlStXJElr1qzB+vXrH8vq1auxdOlSHDp06PC8BZWXly9JFZQaCwmCIEW/oqDHrY/Pdxl4trEqXddMN/uJ+xXD4TC+/PJLFBYW4uWXX8batWvxyiuvpGX9+vVYu3Ytli5dOn7o0KHtixY0PXUQ9/elDtjzWf6dTYwoJ90gPp/QQEwbxM2afr8fNTU1/zcvL+/b5cuXY+3atfjFL34h8corr0iPRUVFWLFihaqpqWn+0bQoiOO4tDlVqqD5tJp0ckQxC5UzfTAXBVEUJe07DAQCuHz5cn92dvbhl156KbRixQqsW7cOr7766hRRxcXFyM/PtzQ2NubOW85sglJnK/EPEQThieQ8bvqfjxzxGz2iIHFbXXNzs2nPnj3LADzzq1/96t2f//znkqRf/vKXePXVV7Fy5Urk5eWZFywnnaDp2XiqoPlk43PJmU9cNJsc8bnL5YLf70d7ezv1hz/8YaX4WQAs2bBhw5YXX3zRl52djfz8fKxYsQK5ubmmRclJFcTzvFQIm08XW2zG/rgAcraxZzo0TUMul/Offvrpa9P/XyAAS44cOVJaXFx8tbi4uKukpORsY2PjPy9KzuQb/l1BQcHh7u7uvyiVyvGhoaHxwcFBiYGBgXGtVjuu0WjG+/v7Jfr6+sb7+vrGe3t7x3t7e8d7enokuru7x7u7u8flcvm4XC4f7+rqGu/q6hrv7Owc7+zsHO/o6Bjv6OgYf/jwocSDBw/GHzx4MC6TycZlMtl4e3t7WmQy2V+uX78eOHjw4L8A+NFsn4vjuOc5jvtPAH68aDnisXHjxp++995769Kxfft2idnueVps3bp1TjZv3ry+rKwsB8CzT/zB/3b87Xgqx/8D2eEtvSevT9MAAAAASUVORK5CYII=)}.edit_frm .invoice_layout .btn.sdoc{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout.freeze::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(50,50,50,.3);user-select:none;cursor:wait;z-index:10;pointer-events:none}.edit_frm .invoice_layout.freeze::before tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout.freeze::after{content:"";position:absolute;top:50%;left:50%;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;border:.4rem solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;z-index:11;pointer-events:none;animation:.8s linear infinite fis_spin}.edit_frm .invoice_layout .dvalidation{margin:0 0 1rem}.edit_frm .invoice_layout .dvalidation.hidden{display:none}.edit_frm .invoice_layout .dvalidation .dvmsg{padding:.4rem .7rem;margin:.25rem 0;border-radius:.2rem;font-size:.9rem;border-left:4px solid #999;background:#f5f5f5}.edit_frm .invoice_layout .dvalidation .dvmsg.error{border-left-color:#c0392b;background:#fdecea;color:#922}.edit_frm .invoice_layout .dvalidation .dvmsg.warning{border-left-color:#e0a800;background:#fff8e1;color:#7a5c00}.edit_frm .invoice_layout .dvalidation .dvmsg.info{border-left-color:#3498db;background:#eaf4fb;color:#1c5a82}.dhist .invtbl{width:100%}.dhist td,.dhist th{padding:.3rem .6rem;text-align:left;vertical-align:top}.dhist tbody tr:nth-child(even){background:#fafafa}.modal-body .lstfrm{display:block;position:relative}.modal-body .lstfrm .li{display:inline-block;background-color:#fff;border:1px solid #e0e0e0;padding:1.7rem .5rem .5rem;border-radius:.2rem;cursor:pointer;position:relative;margin:0 .5rem .5rem 0;box-shadow:1px 1px 3px rgba(50,50,50,.1)}.modal-body .lstfrm .li .lbl{position:absolute;background:#727272;color:#fff;font-size:.8rem;left:0;top:0;right:0;padding:.2rem;border-top-left-radius:inherit;border-top-right-radius:inherit}.adr-conformity{margin-top:.75rem;padding:.6rem .75rem;background:#f3f7fb;border:1px solid #cfe0f0;border-radius:4px;font-size:.85rem;line-height:1.35}.adr-conformity .hd{font-weight:600;margin-bottom:.2rem}.adr-conformity .tx{color:#445}.modal .setstruct.busy{opacity:.6;pointer-events:none}.modal .setstruct div.shint{font-size:.85rem;color:#666;margin:0 0 .8rem}.modal .setstruct div.sblock{margin:0 0 1.4rem}.modal .setstruct div.sblock div.sbhd{font-weight:700;padding:.4rem .6rem;border-top:1.5px solid #000;border-bottom:1px solid #ddd}.modal .setstruct div.sblock div.sbhd.dropok{background-color:#e6f2e6;outline:#5a5 dashed 2px}.modal .setstruct div.sblock table.stbl{width:100%;border-collapse:collapse}.modal .setstruct div.sblock table.stbl th{text-align:left;font-size:.8rem;color:#666;padding:.3rem .4rem;border-bottom:1px solid #ddd}.modal .setstruct div.sblock table.stbl td{padding:.3rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.modal .setstruct div.sblock table.stbl td.grip{width:1.6rem;cursor:grab;color:#999}.modal .setstruct div.sblock table.stbl td.pos,.modal .setstruct div.sblock table.stbl td.qty{width:4rem;white-space:nowrap}.modal .setstruct div.sblock table.stbl td.typ{width:7rem;white-space:nowrap;color:#666;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.typ span.fold{cursor:pointer;margin-right:.35rem;color:#555;display:inline-block;width:1rem}.modal .setstruct div.sblock table.stbl td.ttl span.ind{display:inline-block}.modal .setstruct div.sblock table.stbl td.ttl span.seti{margin-right:.3rem;color:#888}.modal .setstruct div.sblock table.stbl td.ttl span.cnt{color:#999;font-weight:400;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.act{width:7.5rem;white-space:nowrap;text-align:right}.modal .setstruct div.sblock table.stbl td.act div.ibtn{display:inline-block;cursor:pointer;padding:0 .25rem}.modal .setstruct div.sblock table.stbl td.act div.ibtn.disabled{opacity:.25;cursor:default}.modal .setstruct div.sblock table.stbl tr.srow.isset td.ttl{font-weight:700}.modal .setstruct div.sblock table.stbl tr.srow.hid{display:none}.modal .setstruct div.sblock table.stbl tr.srow.folded td.ttl{font-style:italic}.modal .setstruct div.sblock table.stbl tr.srow.dragging{opacity:.4}.modal .setstruct div.sblock table.stbl tr.srow.dropok td{background-color:#e6f2e6}.modal .setstruct div.sblock table.stbl tr.srow.dropbefore td{border-top:3px solid #5a5}.modal .setstruct div.sblock table.stbl tr.srow.dropafter td{border-bottom:3px solid #5a5}.modal .setstruct div.sblock div.sroot{margin:.3rem 0 .5rem;padding:.4rem .6rem;border:1px dashed #bbb;color:#888;font-size:.85rem}.modal .setstruct div.sblock div.sroot.dropok{background-color:#e6f2e6;border-color:#5a5;color:#363}.modal .setstruct div.sblock div.screate{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem;background-color:#f7f7f7}.modal .setstruct div.sblock div.screate span.lbl{font-size:.85rem;color:#666}.modal .setstruct div.sblock div.screate input[type=text],.modal .setstruct div.sblock div.screate select{padding:.2rem .3rem}.modal .setstruct div.sblock div.screate input[type=text]{flex:1 1 14rem;min-width:10rem} \ No newline at end of file +@charset "UTF-8";.invfrm>table td.sh_s,table.invtbl td.sh_s{color:#bf4b06}.invfrm>table td.is_cc,table.invtbl td.is_cc{background-color:#777!important;color:#fff!important}.invfrm>table td.is_pyd,table.invtbl td.is_pyd{color:#60cc08}.invfrm>table td.is_due,table.invtbl td.is_due{background-color:#f2f23f!important}.invfrm>table td.is_ovd,table.invtbl td.is_ovd{background-color:#de4e09!important}.invfrm>table td.is_rem,table.invtbl td.is_rem{background-color:#ce1900!important}.invfrm>table td.av,table.invtbl td.av{border:2px solid red}.invfrm>table td.av+td.vsel select,table.invtbl td.av+td.vsel select{display:block}.rfrm{min-width:200px;min-height:200px}table.if{border-collapse:collapse;margin:1rem 0;background:#fff}table.if tr:nth-child(2n+1) td{background-color:#f9f9f9}table.if tr.title td{background-color:#56a532;color:#fff}table.if tr.title td .eid{font-weight:700;margin:0 1rem 0 .5rem;font-size:140%}table.if tr.title td .nme{font-size:110%}table.if tr.shd td{font-style:italic;color:#bbb;background-color:#fff!important;font-size:90%}table.if td,table.if th{padding:.2rem .35rem;border:1px solid #ddd}table.if td.currency{text-align:right;white-space:nowrap}table.if td.num{white-space:nowrap}.pdfpreview .pdfp.ph>.note{background:#fff;display:inline-block;padding:3rem;margin:.2rem 0}@keyframes fis_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.edit_frm .invoice_layout{margin:2rem 2rem 2rem auto;width:50rem;border:1px solid #eee;padding:25.5rem 3rem 3rem;box-shadow:4px 4px 9px rgba(50,50,50,.3);position:relative}.edit_frm .invoice_layout .axf{font-size:1rem;display:none;position:absolute;right:100%;height:100%;min-height:1.5rem;min-width:2rem;background:#f0ffe2;border:1px solid #ccc;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;top:0;width:auto;max-height:1.5rem;overflow:visible;padding:.1rem}.edit_frm .invoice_layout .axf>.ibtn{cursor:pointer;height:100%;width:1.5rem;display:inline-block;position:relative}.edit_frm .invoice_layout .axf nav.rowctx{position:relative;display:inline-block;width:1.5rem;height:100%;min-height:0;max-height:none;background:0 0;z-index:auto;vertical-align:top}.edit_frm .invoice_layout .axf nav.rowctx>ul{height:100%}.edit_frm .invoice_layout .axf nav.rowctx>ul>li{height:100%;float:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn{padding:0;width:1.5rem;height:100%;text-align:center;line-height:1.3rem}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn>.caret{display:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li.dropdown>ul.dropdown-menu{top:100%;left:auto;right:0;font-size:.85rem;white-space:nowrap}.edit_frm .invoice_layout .sndfrm{position:absolute;font-size:.7rem;color:#727272;top:4.7rem;left:3rem;width:auto;height:auto;user-select:none}.edit_frm .invoice_layout .emailfrm{position:absolute;font-size:.7rem;top:.5rem;left:.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .emailfrm .content{color:#000}.edit_frm .invoice_layout .emailfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block}.edit_frm .invoice_layout .emailfrm:hover div.axf{display:block}.edit_frm .invoice_layout .emailccfrm{position:absolute;font-size:.7rem;top:2.2rem;left:.5rem;width:auto;height:auto}.edit_frm .invoice_layout .emailccfrm .content{color:#000}.edit_frm .invoice_layout .admfrm{position:absolute;right:3rem;top:9rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .admfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .admfrm .content{color:#000}.edit_frm .invoice_layout .admfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .admfrm:hover div.axf{display:block}.edit_frm .invoice_layout .ctpfrm{position:absolute;right:3rem;top:14rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .ctpfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .ctpfrm .content{color:#000}.edit_frm .invoice_layout .ctpfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .ctpfrm:hover div.axf{display:block}.edit_frm .invoice_layout .adrfrm{position:absolute;left:3rem;top:6rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .adrfrm:hover div.axf{display:block}.edit_frm .invoice_layout .locfrm{position:absolute;left:3rem;top:18.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .locfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .locfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .locfrm:hover div.axf{display:block}.edit_frm .invoice_layout .tfrm,.edit_frm .invoice_layout>div.title{position:absolute;left:3rem;top:15rem;font-size:2rem;cursor:pointer}.edit_frm .invoice_layout .tfrm:hover div.axf,.edit_frm .invoice_layout>div.title:hover div.axf{display:block}.edit_frm .invoice_layout div.fnote{margin:1rem 0}.edit_frm .invoice_layout p+table.invi,.edit_frm .invoice_layout table.invi+p{margin-top:2.5rem}.edit_frm .invoice_layout table.invi{border-collapse:separate;border-spacing:0;border-color:#fff;width:100%;max-width:100%}.edit_frm .invoice_layout table.invi>tbody>tr.hidden{display:none}.edit_frm .invoice_layout table.invi>tbody>tr:nth-child(2n+1) td{background-color:#fbfbfb;border-color:#fbfbfb}.edit_frm .invoice_layout table.invi>tbody>tr.title>td{background:#fff;border-color:#fff;border-top:1.5px solid #000}.edit_frm .invoice_layout table.invi>tbody>tr.sethdr td.txt{font-weight:700}.edit_frm .invoice_layout table.invi>tbody>tr.lvl1 td.txt{padding-left:calc(.4rem + 1.4rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl2 td.txt{padding-left:calc(.4rem + 2.8rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl3 td.txt{padding-left:calc(.4rem + 4.2rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl4 td.txt{padding-left:calc(.4rem + 5.6rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl5 td.txt{padding-left:calc(.4rem + 7rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl6 td.txt{padding-left:calc(.4rem + 8.4rem)}.edit_frm .invoice_layout table.invi td.currency,.edit_frm .invoice_layout table.invi td.num,.edit_frm .invoice_layout table.invi th.currency,.edit_frm .invoice_layout table.invi th.num{text-align:right;white-space:nowrap}.edit_frm .invoice_layout table.invi td.keep,.edit_frm .invoice_layout table.invi th.keep{white-space:nowrap}.edit_frm .invoice_layout table.invi table.stbl td,.edit_frm .invoice_layout table.invi table.stbl th{padding:.3rem .5rem}.edit_frm .invoice_layout table.invi table.stbl td:first-child,.edit_frm .invoice_layout table.invi table.stbl th:first-child{padding-left:0}.edit_frm .invoice_layout table.invi table.stbl td:last-child,.edit_frm .invoice_layout table.invi table.stbl th:last-child{padding-right:0}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>td,.edit_frm .invoice_layout table.invi>tr>th{border-width:1px;padding:.3rem .5rem;border-left:none!important;border-right:none!important}.edit_frm .invoice_layout table.invi>tbody>tr>td.aux,.edit_frm .invoice_layout table.invi>tbody>tr>th.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>td.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>th.aux,.edit_frm .invoice_layout table.invi>thead>tr>td.aux,.edit_frm .invoice_layout table.invi>thead>tr>th.aux,.edit_frm .invoice_layout table.invi>tr>td.aux,.edit_frm .invoice_layout table.invi>tr>th.aux{width:0;max-width:0;min-width:0;position:relative;padding:0}.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>th{text-align:left;font-weight:300;background-color:#fff;border-color:#fff;font-size:.8rem;font-style:italic;border-top-style:none;border-bottom-style:none}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>tr>td{vertical-align:top;font-weight:400;background-color:#f8f8f8;border-color:#f8f8f8;border-top-style:solid;border-bottom-style:solid;user-select:none}.edit_frm .invoice_layout table.invi>tbody>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tfoot>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>thead>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout table.invi>tbody>tr.isum>td,.edit_frm .invoice_layout table.invi>tfoot>tr.isum>td,.edit_frm .invoice_layout table.invi>thead>tr.isum>td,.edit_frm .invoice_layout table.invi>tr.isum>td{border-top:1px solid #000;background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.sep>td,.edit_frm .invoice_layout table.invi>tfoot>tr.sep>td,.edit_frm .invoice_layout table.invi>thead>tr.sep>td,.edit_frm .invoice_layout table.invi>tr.sep>td{background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.tsum td,.edit_frm .invoice_layout table.invi>tfoot>tr.tsum td,.edit_frm .invoice_layout table.invi>thead>tr.tsum td,.edit_frm .invoice_layout table.invi>tr.tsum td{font-weight:600;border-top:1px solid #000;border-bottom:1px solid #000}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move{background:url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAzMiAzMiIgaWQ9IkxheWVyXzQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDMxIDgsMTggMjQsMTggICAgICIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI0RERERERCIvPjxwb2x5Z29uIGZpbGw9Im5vbmUiIHBvaW50cz0iMTYsMSA4LDE0IDI0LDE0ICAgICAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNEREREREQiLz48L2c+PC9zdmc+) center center/contain no-repeat border-box}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move:hover{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIGlkPSJMYXllcl80IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGc+PHBvbHlnb24gZmlsbD0ibm9uZSIgcG9pbnRzPSIxNiwzMSA4LDE4IDI0LDE4ICAgICAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDEgOCwxNCAyNCwxNCAgICAgIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9nPjwvc3ZnPg==)}.edit_frm .invoice_layout table.invi .sortable>tr.sortactive>td.ico{cursor:move}.edit_frm .invoice_layout .btn{background:url("") center center/contain no-repeat content-box #fff;position:absolute;top:.2rem;right:.2rem;height:3rem;width:3rem;padding:.1rem;z-index:11}.edit_frm .invoice_layout .btn.sprev{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout .btn.sdoc{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout.freeze::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(50,50,50,.3);user-select:none;cursor:wait;z-index:10;pointer-events:none}.edit_frm .invoice_layout.freeze::before tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout.freeze::after{content:"";position:absolute;top:50%;left:50%;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;border:.4rem solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;z-index:11;pointer-events:none;animation:.8s linear infinite fis_spin}.edit_frm .invoice_layout .dvalidation{margin:0 0 1rem}.edit_frm .invoice_layout .dvalidation.hidden{display:none}.edit_frm .invoice_layout .dvalidation .dvmsg{padding:.4rem .7rem;margin:.25rem 0;border-radius:.2rem;font-size:.9rem;border-left:4px solid #999;background:#f5f5f5}.edit_frm .invoice_layout .dvalidation .dvmsg.error{border-left-color:#c0392b;background:#fdecea;color:#922}.edit_frm .invoice_layout .dvalidation .dvmsg.warning{border-left-color:#e0a800;background:#fff8e1;color:#7a5c00}.edit_frm .invoice_layout .dvalidation .dvmsg.info{border-left-color:#3498db;background:#eaf4fb;color:#1c5a82}.dhist .invtbl{width:100%}.dhist td,.dhist th{padding:.3rem .6rem;text-align:left;vertical-align:top}.dhist tbody tr:nth-child(even){background:#fafafa}.modal-body .lstfrm{display:block;position:relative}.modal-body .lstfrm .li{display:inline-block;background-color:#fff;border:1px solid #e0e0e0;padding:1.7rem .5rem .5rem;border-radius:.2rem;cursor:pointer;position:relative;margin:0 .5rem .5rem 0;box-shadow:1px 1px 3px rgba(50,50,50,.1)}.modal-body .lstfrm .li .lbl{position:absolute;background:#727272;color:#fff;font-size:.8rem;left:0;top:0;right:0;padding:.2rem;border-top-left-radius:inherit;border-top-right-radius:inherit}.adr-conformity{margin-top:.75rem;padding:.6rem .75rem;background:#f3f7fb;border:1px solid #cfe0f0;border-radius:4px;font-size:.85rem;line-height:1.35}.adr-conformity .hd{font-weight:600;margin-bottom:.2rem}.adr-conformity .tx{color:#445}.modal .setstruct.busy{opacity:.6;pointer-events:none}.modal .setstruct div.shint{font-size:.85rem;color:#666;margin:0 0 .8rem}.modal .setstruct div.sblock{margin:0 0 1.4rem}.modal .setstruct div.sblock div.sbhd{font-weight:700;padding:.4rem .6rem;border-top:1.5px solid #000;border-bottom:1px solid #ddd}.modal .setstruct div.sblock div.sbhd.dropok{background-color:#e6f2e6;outline:#5a5 dashed 2px}.modal .setstruct div.sblock table.stbl{width:100%;border-collapse:collapse}.modal .setstruct div.sblock table.stbl th{text-align:left;font-size:.8rem;color:#666;padding:.3rem .4rem;border-bottom:1px solid #ddd}.modal .setstruct div.sblock table.stbl td{padding:.3rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.modal .setstruct div.sblock table.stbl td.grip{width:1.6rem;cursor:grab;color:#999}.modal .setstruct div.sblock table.stbl td.pos,.modal .setstruct div.sblock table.stbl td.qty{width:4rem;white-space:nowrap}.modal .setstruct div.sblock table.stbl td.typ{width:7rem;white-space:nowrap;color:#666;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.typ span.fold{cursor:pointer;margin-right:.35rem;color:#555;display:inline-block;width:1rem}.modal .setstruct div.sblock table.stbl td.ttl span.seti{display:block;margin-bottom:.15rem;color:#888;font-size:.75rem}.modal .setstruct div.sblock table.stbl td.ttl span.seti::before{content:"↳ "}.modal .setstruct div.sblock table.stbl td.ttl span.txt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;line-height:1.3rem;cursor:pointer}.modal .setstruct div.sblock table.stbl td.ttl span.txt.exp{-webkit-line-clamp:unset;display:block;max-height:15.6rem;overflow-y:auto}.modal .setstruct div.sblock table.stbl td.ttl span.cnt{color:#999;font-weight:400;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.act{width:7.5rem;white-space:nowrap;text-align:right}.modal .setstruct div.sblock table.stbl td.act div.ibtn{display:inline-block;cursor:pointer;padding:0 .25rem}.modal .setstruct div.sblock table.stbl td.act div.ibtn.disabled{opacity:.25;cursor:default}.modal .setstruct div.sblock table.stbl tr.srow.isset td.ttl{font-weight:700}.modal .setstruct div.sblock table.stbl tr.srow.hid{display:none}.modal .setstruct div.sblock table.stbl tr.srow.folded td.ttl{font-style:italic}.modal .setstruct div.sblock table.stbl tr.srow.dragging{opacity:.4}.modal .setstruct div.sblock table.stbl tr.srow.dropok td{background-color:#e6f2e6}.modal .setstruct div.sblock table.stbl tr.srow.dropbefore td{border-top:3px solid #5a5}.modal .setstruct div.sblock table.stbl tr.srow.dropafter td{border-bottom:3px solid #5a5}.modal .setstruct div.sblock div.sroot{margin:.3rem 0 .5rem;padding:.4rem .6rem;border:1px dashed #bbb;color:#888;font-size:.85rem}.modal .setstruct div.sblock div.sroot.dropok{background-color:#e6f2e6;border-color:#5a5;color:#363}.modal .setstruct div.sblock div.screate{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem;background-color:#f7f7f7}.modal .setstruct div.sblock div.screate span.lbl{font-size:.85rem;color:#666}.modal .setstruct div.sblock div.screate input[type=text],.modal .setstruct div.sblock div.screate select{padding:.2rem .3rem}.modal .setstruct div.sblock div.screate input[type=text]{flex:1 1 14rem;min-width:10rem} \ No newline at end of file diff --git a/Fuchs/wwwroot/web/fis.req.css b/Fuchs/wwwroot/web/fis.req.css index 0f15fae..3dfafe2 100644 --- a/Fuchs/wwwroot/web/fis.req.css +++ b/Fuchs/wwwroot/web/fis.req.css @@ -787,12 +787,29 @@ table.if th.keep, table.if td.keep { display: inline-block; width: 1rem; } -.modal .setstruct div.sblock table.stbl td.ttl span.ind { - display: inline-block; -} .modal .setstruct div.sblock table.stbl td.ttl span.seti { - margin-right: 0.3rem; + display: block; + margin-bottom: 0.15rem; color: #888; + font-size: 0.75rem; +} +.modal .setstruct div.sblock table.stbl td.ttl span.seti::before { + content: "↳ "; +} +.modal .setstruct div.sblock table.stbl td.ttl span.txt { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + white-space: normal; + line-height: 1.3rem; + cursor: pointer; +} +.modal .setstruct div.sblock table.stbl td.ttl span.txt.exp { + -webkit-line-clamp: unset; + display: block; + max-height: 15.6rem; + overflow-y: auto; } .modal .setstruct div.sblock table.stbl td.ttl span.cnt { color: #999; diff --git a/Fuchs/wwwroot/web/fis.req.de.js b/Fuchs/wwwroot/web/fis.req.de.js index 44eef05..bc953e1 100644 --- a/Fuchs/wwwroot/web/fis.req.de.js +++ b/Fuchs/wwwroot/web/fis.req.de.js @@ -2637,7 +2637,9 @@ $inv.sets = { } typ.append($$.s($inv.sets.typLbl(co))); $$.tdc('qty', tr).text(co.q || ''); - let ttl = $$.tdc('ttl', tr).append($$.sc('ind').css('width', (lvl * 1.4).toString() + 'rem')).append($$.s($inv.sets.title(co))); + let ttl = $$.tdc('ttl', tr); + if (parent !== '') { ttl.append($$.sc('seti', $inv.sets.title(byId[parent]))); } + ttl.append($$.sc('txt', $inv.sets.title(co)).click(function (ev) { ev.stopPropagation(); $(this).tC('exp'); })); if (isSet) { let n = itms.filter((x) => $inv.sets.parentOf(x, byId) === id).length; ttl.append($$.sc('cnt', ' (' + n + ')')); diff --git a/Fuchs/wwwroot/web/fis.req.de.min.js b/Fuchs/wwwroot/web/fis.req.de.min.js index 31e793c..54c9e66 100644 --- a/Fuchs/wwwroot/web/fis.req.de.min.js +++ b/Fuchs/wwwroot/web/fis.req.de.min.js @@ -1 +1 @@ -let $rct={mdl:"Aufträge",or:"offene Aufträge",orr:"offene Aufträge (4 W)",rn:"Auftragsnummer",iov:{all:"Auftragsübersicht (alle)","":"Auftragsübersicht"},wk:"Woche",nd:"Keine Daten gefunden.",h:"Uhr",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",rq1f:"Die Auftragsdaten von MFR konnten nicht oder nicht schnell genug abgerufen werde.\nMöchten Sie mit den bestehenden Daten trotzdem weitermachen?",note1:"Im Bruttobetrag sind {0} Lohnkosten enthalten (netto {1}). Die darin enthaltene Umsatzsteuer beträgt {2}.",note2:"Bitte beachten Sie, nach §14 Abs. 1 Umsatzsteuergesetz ist diese Rechnung ein Zahlungsbeleg oder eine andere beweiskräftige Unterlage für 2 Jahre nach Ablauf des Kalenderjahres der Ausstellung dieser Rechnung aufzubewahren, soweit nicht aufgrund anderer gesetzlicher Regelungen andere ggf.längere Aufbewahrungsfristen gelten.",note3:"Privathaushalten erstattet das Finanzamt bis zu {0} des Arbeitslohns mit der nächsten Steuererklärung.",note4:"Für bereits erbrachte Arbeiten, Dienstleistungen, Materiallieferungen und getätigte Bestellvorgänge zum oben genannten Bauvorhaben, die sich aus dem mit Ihnen geschlossenen Vertrag ergeben, stellen wir Ihnen vertragsgemäß unsere Akontozahlung in Rechnung. Eine Endabrechnung erhalten Sie als Schlussrechnung nach Abschluss des gesamten Bauvorhabens. Das Ausführungsdatum entnehmen Sie bitte dem Schlusstext dieser Rechnung. Wir danken Ihnen herzlich für das entgegengebrachte Vertrauen und bitten Sie um kurzfristigen Ausgleich der Akontorechnung.",note13b:"Gem. §13b Umsatzsteuergesetz unterliegen Sie der Steuerschuldnerschaft des Leistungsempfängers zur Umsatzsteuer aus dieser Rechnung mit einem Steuersatz von 19%.",crI:"Rechnung erstellen",crII:"Abschlagsrechnung erstellen",dII:"Für eine Abschlagsrechnung darf nur ein Auftrag gewählt werden.",dnS:"Für eine Rechnung muss mindestens ein Auftrag gewählt werden.",inv:"Rechnung",invs:"Rechnungen",req:"Auftrag",provP:"Leistungszeitraum",provD:"Leistungsdatum",cP:"Position ändern",iRb:"Zeile darunter einfügen",dR:"Zeile löschen",sV:"USt festlegen",cD:"Löschen?",mR:"Zeile verschieben",ctxM:"Weitere Aktionen",noteToggle:"Notiz ein-/ausblenden",sectionTitleEditTT:"Auftragsbezeichnung ändern",svcPart:"Service-Anteil",vat:"Umsatzsteuer",combP:"Positionen zusammenfassen",toSetP:"Auf Setpreis umstellen (Positionen ohne Preis)",toSetPc:"Der Set-Preis wird auf die Summe seiner Positionen gesetzt und die Positionen selbst verlieren ihren Preis. Das ist nicht rückgängig zu machen (der Betrag kann danach nur noch manuell geändert werden). Fortfahren?",toSetMc:"Jedes Set erhält die Summe seiner Positionen als Set-Preis; die Positionen des Sets werden ohne Preis dargestellt bzw. ausgeblendet. Positionen ausserhalb eines Sets bleiben unverändert einzeln aufgeführt. Das ist nicht rückgängig zu machen (die Set-Preise können danach nur noch manuell geändert werden). Fortfahren?",toSetMn:'Diese Rechnung enthält kein Set. Legen Sie zuerst über "Set-Struktur bearbeiten" ein Set an bzw. ordnen Sie Positionen einem Set zu.',iSum:"Zwischensumme",dtRel:"Freigegeben am: ",dtCr:"Erstellt am: ",rqV:"USt des Auftrags?",cthd:"wirklich aus-/einblenden ?",cst:{style:"currency",currency:"EUR"},sts:{IsWorkDone:"Arbeiten erledigt",Closed:"Auftrag geschlossen",SubcontractorPendingConfirmation:"Warten auf Bestätigung (Unterauftrag)",Scheduled:"Geplant",OfferIsRejected:"Angebot abgelehnt",OfferIsSend:"Offen (Angebot versandt)",CollaborationWaitingConfirmation:"Warten auf Bestätigung (Zusammenarbeit)",Released:"Freigegeben",OfferIsConfirmed:"Bestätigt",InProgress:"In Bearbeitung",ReadyForScheduling:"Zur Planung",Created:"Erstellt",Rejected:"Abgebrochen",Invoiced:"Rechnung gestellt","-":"-"},invHR:["Pos.","Menge","Artikelbezeichnung","VK","Summe"],frm:{invoicetitle:"Titel",invoiceaddress:"Adresse",loc:"Leistungsort / Lieferadresse",invoiceemail:"Email",invoiceemailcc:"Zusatzempfänger (CC)",provisionperiod:"Leistungsdatum / -zeitraum"},frmTT:{invoicetitle:"Rechnungstitel ändern",invoiceaddress:"Rechnungsempfänger-Adresse ändern",loc:"Leistungsort oder Lieferadresse ändern",invoiceemail:"Email-Adresse ändern und zusätzliche Email-Empfänger festlegen",provisionperiod:"Leistungsdatum oder -zeitraum ändern"}},$rcol={req:new fields_definition("Auftrag","Aufträge",[{name:"tags",label:"",type:"string",dfnc:function(e,t){""!==(e||"")&&($(this).aC("tags"),e.split(",").forEach((e=>{""!==e&&$(this).append($$.sc("tag "+e.replace(" ","_").replace("/","_").toLowerCase(),e))})))}},{name:"DateOfCreation",label:"Datum",type:"date",title:function(e){$(this).attr("title",$rct.dtCr+fdt(e.DateOfCreation).ne("-")+" \n"+$rct.dtRel+fdt(e.DateReleased).ne("-"))}},{name:"CustomerName",label:"Kunde (Firma)",type:"string"},{name:"Name",label:"Auftragsname",type:"string"},{name:"ExternalId",label:"Auftragsnummer",type:"string"},{name:"ParentExtenalId",label:"PAuftrag",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string",dfnc:function(e,t){$(this).rwText(e," ").find("span").each((function(){$(this).aC("cla").click({id:$(this).text()},$inv.jdbn)}))}},{name:"State",label:"Status",type:"string"},{name:"WorkDoneAt",label:"Erledigt am",type:"date"},{name:"Description",label:"Beschreibung",type:"html"}]),itm:new fields_definition("Auftragsposition","Auftragspositionen",[{name:"NameOrNumber",label:"Bezeichnung",type:"string"},{name:"Type",label:"Typ",type:"select",required:!0,value:"Text",url:[{value:"Text",label:"Text"},{value:"Equipment",label:"Ausrüstung"},{value:"Material",label:"Material"},{value:"Service",label:"Arbeitsleistung"}],change:function(e){$req.quantChange.call(this,e)}},{name:"quantityhours",label:"Anzahl / Menge",type:"number",precision:"0.01",value:1,change:function(e){$inv.quantChange.call(this,e)}},{name:"UnitString",label:"Einheit",type:"select",url:["LFDM","Stck","Std.","QM","AW","Pauschal"],change:function(e){$inv.quantChange.call(this,e)}},{name:"net",label:"EinzelPreis netto",type:"number",precision:"0.01",value:0,change:function(e){$inv.quantChange.call(this,e)}},{name:"net_val",label:"GesamtPreis netto",type:"number",precision:"0.01",value:0},{name:"vat_val",label:"GesamtPreis USt",type:"number",precision:"0.01",value:0},{name:"svcnet_val",label:"Arbeitslohn netto",type:"number",precision:"0.01",value:0},{name:"svcvat_val",label:"Arbeitslohn USt",type:"number",precision:"0.01",value:0},{name:"net_pos",label:"Netto",type:"string"},{name:"bo_pos",label:"Brutto",type:"string"},{name:"vat",label:"USt",type:"string",value:"19,0%",change:function(e){$inv.quantChange.call(this,e)}},{name:"Note",label:"Details",type:"html",tinymce:!0}])},$ict={mdl:"Rechnungen",iov:{all:"Rechnungen (alle)","":"Rechnungen (nur fertige)","#d":"Rechnungen (nur Entwürfe)","#u":"Rechnungen (nur unbezahlt)","#r":"Rechnungen (nur angemahnt)","#a":"Rechnungen (nur Akonto)","#c":"Rechnungen (nur Storno)","#ru":"Rechnungen (nur angemahnt + unbez.)"},uba:", gesamter Zeitraum)",req:"Auftrag",inv:"Rechnung",rem:"Mahnung",in:"Rechnungsnummer",cc:"Kunde",wk:"Woche",nd:"Keine Daten gefunden.",dl:"Herunterladen",ed:"Bearbeiten",ced:"Bearbeitung fortsetzen",sItm:"Einzelheiten anzeigen",sPay:"Zahlungen anzeigen",cdI:"Entwurf der Rechnung löschen?",rel:"Neu Laden",relm:"Bitte laden Sie Liste manuell neu, um die Änderungen zu sehen.",dsp:"Rechnung anzeigen",storno:"Storno-Rechnung erstellen",credit:"Gutschrift erstellen",remd:"Mahnung erstellen",remdt:"Mahnung erstellen zur Rechnung {0}",remlst:"Mahnungen anzeigen",remdsp:"Mahnung anzeigen",remres:"Mahnung erneut senden",remresc:"Mahnung {0} wirklich erneut senden?",remresr:"Mahnung {0} wurde erfolgreich versandt.",setpyd:"Bezahlt markieren",cpyd:"Rechnung wirklich als bezahlt markieren?",setupd:"Bezahlt-Markierung aufheben",cupd:"Bezahlt-Markierung wirklich aufheben?",ivE:"Die Email-Adresse ist vermutlich nicht gültig.",ivEc:"\nMöchten Sie fortfahren?",pna:"Diese Seite ist in der Vorschau nicht verfügbar",tpe:"Die Anzahl von {0} Seiten wird aktuell nicht unterstützt",eis:"Der Rechnungsentwurf konnte nicht gespeichert werden.",iss:"Zwischenstand speichern.",p13b:"USt -> §13b",setm:"Set-Preisanzeige",setmo:{setprice:"Set mit Preis – Positionen ohne Preis",setonly:"Nur Set mit Preis – Positionen ausgeblendet"},setst:"Set-Struktur bearbeiten",setsHint:'Reihenfolge: Zeile per Drag & Drop an den oberen/unteren Rand einer anderen Zeile ziehen (davor/danach) oder ▲▼ nutzen. Zuordnung: Zeile auf die Mitte eines Sets ziehen (hinein) bzw. auf die Auftragszeile oder "oberste Ebene" (aus dem Set lösen); ◀▶ ändert die Ebene. Sets lassen sich über das Dreieck zu-/aufklappen und auch zugeklappt verschieben – ihre Positionen wandern mit. Änderungen werden sofort übernommen.',setsUp:"Nach oben (innerhalb der Ebene)",setsDown:"Nach unten (innerhalb der Ebene)",setsCollapse:"Set zuklappen",setsExpand:"Set aufklappen",setsHR:["","Pos.","Typ","Menge","Bezeichnung","Reihenfolge / Ebene"],setsRoot:"Hierher ziehen = aus dem Set lösen (oberste Ebene)",setsOut:"Eine Ebene höher (aus dem Set lösen)",setsIn:"Eine Ebene tiefer (dem vorangehenden Set zuordnen)",setsNew:"Neu:",setsInto:"in",setsTop:"oberste Ebene",setsTitle:"Bezeichnung",setsAdd:"Hinzufügen",setsNoTitle:"(ohne Bezeichnung)",settyp:{set:"Set",text:"Text",title:"Text",material:"Material",service:"Arbeitsleistung",equipment:"Ausrüstung",other:"Position",osum:"Zusammenfassung",intinvoiceallocation:"Abschlag",intinvoiceallocationdiff:"Abschlag (offen)"},ctp:"Ansprechpartner festlegen",mfr:"Von MFR neu abrufen",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",iq1:"Rechnungsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",iq2:"Rechnungsdaten werden geladen",sis:"Rechnung als versandt markieren",srs:"Mahnung als versandt markieren",sisc:"Rechnung wirklich als versandt markieren?",srsc:"Mahnung wirklich als versandt markieren?",iSt:{dft:"Entwurf",uns:"nicht versandt",pyd:"bezahlt",cc:"storniert",op:"offen",due:"fällig",ovd:"überfällig",rem:"angemahnt"},rSt:["","Überfällig","2. Mahnung","3. Stufe"],pSt:{a:"Vollst.",p:"Teilz."},ivT:{i:"AbschlagsR.",f:"SchlussR",r:"Rechnung",c:"StornoR."},rovlh:"Übersicht der bisherigen Mahnungen",rovl:["Betreff","Betrag","Betrag gezahlt","fertiggestellt am"],remHR:["Rechnung","vom","Rechnungsbetrag","bereits bezahlt","noch offen"],translatePaymentTerm:e=>(e||"").replace("wd"," Werktagen").replace("d"," Tagen").replace("wk"," Wochen")||"10 Tagen",payi:{account:"Konto",name:"Zahler",text:"Verw.Zweck",InvoiceID:"Rechnung",amount:"Betrag",date:"Datum",manual:"Typ"}},$invcol={datev:new fields_definition("Rechnung","Rechnungen",[{name:"Umsatz (ohne Soll/Haben-Kz)",label:"Umsatz (ohne Soll/Haben-Kz)",type:"string"},{name:"vf",label:"vf",type:"string"},{name:"Soll/Haben-Kennzeichen",label:"Soll/Haben-Kennzeichen",type:"string"},{name:"Konto",label:"Konto",type:"string"},{name:"Gegenkonto",label:"Gegenkonto",type:"string"},{name:"BU-Schlüssel",label:"BU-Schlüssel",type:"string"},{name:"Belegdatum",label:"Belegdatum",type:"string"},{name:"Belegfeld 1",label:"Belegfeld 1",type:"string"},{name:"Belegfeld 2",label:"Belegfeld 2",type:"string"},{name:"Buchungstext",label:"Buchungstext",type:"string"}]),inv:new fields_definition("Rechnung","Rechnungen",[{name:"invstatus",label:"Status",type:"select",url:$ict.iSt},{name:"balance",label:"Umsatz",type:"string",dtype:"currency"},{name:"CustomerName",label:"Kunde",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string"},{name:"InvoiceType",label:"Typ",type:"select",url:$ict.ivT},{name:"request",label:"Auftrag",type:"string",dtype:"num"},{name:"vat",label:"MwSt",type:"string",dtype:"num"},{name:"deb_cred",label:"Soll/Haben",type:"string"},{name:"customer",label:"Konto",type:"string",dtype:"num"},{name:"contra_account",label:"Gegenkonto",type:"string",dtype:"num"},{name:"Belegdatum",label:"Belegdatum",type:"date"},{name:"reminderstatus",label:"MahnStatus",type:"select",url:$ict.rSt},{name:"reminder",label:"# Mahnungen",type:"integer"},{name:"Buchungstext",label:"Buchungstext",type:"string"},{name:"Payment",label:"Zahlung",type:"string"}]),rem:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"amount",label:"Rechnungsbetrag",type:"number",precision:"0.01",value:1},{name:"amount_payed",label:"bereits bezahlt",type:"number",precision:"0.01",value:1}]),rem2:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"DocumentName",label:"Name",type:"string"},{name:"subject",label:"Betreff",type:"string"},{name:"DateSent",label:"Versanddatum",type:"date"},{name:"status",label:"Status",type:"string"},{name:"amount_open",label:"offener Betrag",type:"number",precision:"0.01"},{name:"InvoiceId",label:"RNummer",type:"string"}]),rid:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"type",label:"Typ",type:"select",url:[["f","einfache Zahlungserinnerung"],["m","Mahnung"],["l","letzte Mahnung"]],required:!0},{name:"level",label:"Stufe",type:"select",url:[["1","Stufe 1"],["2","Stufe 2"],["3","Stufe 3"],["4","Stufe 4"],["5","Stufe 5"],["6","Stufe 6"]],required:!0}]),ctp:new fields_definition("Ansprechpartner","Ansprechpartner",[{name:"name",label:"Name",type:"string"},{name:"email",label:"Email",type:"string"}])},gi=(e,t)=>$$.sc("glyphicon glyphicon-"+e).aC(t),$inv={},$req={init2:function(e,t){e=e||"inv",t=t||{},$ocms.getScript([],(function(){$req.init3(e,t)}))},init3:async function(e,t){$fis.cf(!0);let n=$fis.lf(!0);$("#topbar").ocmsmenu([]),$("#activemodule").text($rct.mdl),await $fis.prepAuth("fds_req,fds_inv,fds_reminder");let i=[(async()=>{!0===$fis.isAuth("fds_req",1)&&($req.prepLst(""),n.aC("fix"))})(),new Promise(((e,t)=>{n.find("div.oreq2").aC("selected"),$req.renderreq(fdt(new Date,"yy-MM-dd"),"r"),e()}))];await Promise.all(i)},prepLst:function(e){let t=new Date,n=$fis.lf(!0).ldng(1),i=new Date("2021-01-01");$fis.frm_list().IN((function(){}));$$.dc("mth oreq",n).text($rct.or).click((function(e){let t=$(this);e.stopPropagation(),t.siblings().rC("selected"),!0===t.is(".selected")&&(t.tC("selected"),$req.renderreq(fdt(new Date,"yy-MM-dd"),"o")),t.aC("selected")})),$$.dc("mth oreq2",n).text($rct.orr).click((function(e){let t=$(this);e.stopPropagation(),t.siblings().rC("selected"),!0===t.is(".selected")&&(t.tC("selected"),$req.renderreq(fdt(new Date,"yy-MM-dd"),"r")),t.aC("selected")})),$$.i({placeholder:$rct.rn}).appendTo($$.dc("mth oreqn",n)).enterKey((function(e){let t=$(this),n=t.val()||"";e.stopPropagation(),t.parent().siblings().rC("selected"),n.length>3&&(t.parent().aC("selected"),$req.renderreq("n:"+n,"s"),t.val(""))}));n.append("
");let r=$$.dc("mthl",n),a=t.getFullYear(),s=t.getMonth()+1;for(let t=i.getFullYear();t<=a;t++){let n=$$.dc("yr").prependTo(r).text($rct.iov[e]+" - "+t.toString()).toggleClass("selected",t===a);n.click({yr:t},(function(e){e.stopPropagation(),n.siblings().rC("selected"),n.aC("selected")}));let l=$$.dc("mfrm",n);for(let n=0;n<(t!==a?12:s);n++){i=new Date(t,n,1);let r=$$.dc("mth").prependTo(l).text($rct.iov[e]+" - "+fdt(i,"MMM yyyy"));r.click({yr:t,mt:n},(function(e){if(e.stopPropagation(),r.siblings().rC("selected"),!0===r.is(".selected")){r.tC("selected");let t=fdt(new Date(e.data.yr,e.data.mt,1),"yy-MM-dd");$req.renderreq(t,"m")}r.aC("selected")}));let a=getMonday(i),s=new Date(i);s.setMonth(s.getMonth()+1),s.setDate(0),s=getMonday(s);let d=$$.dc("wfrm",r);for(;a<=s;){let e=$$.dc("wk",d).text(($rct.wk||"W")+" "+fdt(a,"dd.MM.yy"));e.click({rd:new Date(a)},(function(t){t.stopPropagation();let n=fdt(t.data.rd,"yy-MM-dd");$req.renderreq(n,"w"),r.siblings().rC("selected").find(".wk").rC("selected"),r.aC("selected").find(".wk").rC("selected"),e.aC("selected")}));let t=$$.dc("wkdl",e).append($$.sc("ico glyphicon glyphicon-compressed"));!0===$fis.isAuth("fds_inv",2)&&t.click({rd:new Date(a)},(function(e){e.stopPropagation();let t=fdt(e.data.rd,"yy-MM-dd");$req.downloadzip.call(t,"w")})),a.setDate(a.getDate()+7)}}}n.ldng(0)},renderreq:function(e,t){let n=$fis.frm_list().ldng(1),i=$$.dc("invfrm",n).aC("md"+t),r=$fis.lf();$ocms.postXT({url:$ocms.url("req/reql"),data:{mode:t,tgt:e},success:n=>{r.rC("fix").aC("hd"),$$.dc("ovhd",i).append($$.s(n.admin.title)).appendIf($$.sc("note",n.admin.note),""!==ne(n.admin.note,""));let a=$$.tblset({},i),s=$rcol.req,l=$$.tr(a.hd);$$.th(l);$.each(s.fields||[],((e,t)=>{$$.th(l).text(t.label),"vat"===t.name&&$$.th(l)}));let d=0,c=!1;$.each(n.requests||[],((n,l)=>{d>0&&d!==l.ParentServiceRequestId&&(c=!c);let o=$$.tr(a.bdy).tC("alt",c);d=l.ParentServiceRequestId,o.click((function(){r.rC("fix").aC("hd"),o.tC("selected").siblings().rC("selected").find("td.av").rC("av"),o.find("td.av").rC("av")})),o.tC("child",l.isChild);let u=$$.td(o,{class:"raux"});!0===bool(l.open,!1)&&$$.dc("ihd ilbtn",u).append(gi("eye-close","ico")).click({id:l.Id},$req.tHd),$$.dc("iitm ilbtn",u).append(gi("list","ico")).click({id:l.Id},$req.showitm),!0===$fis.isAuth("fds_inv",2)&&$$.dc("invc ilbtn",u).append(gi("edit","ico")).click({id:l.Id},$inv.cInv),$.each(s.fields||[],((n,r)=>{let a=$$.td(o).aC(r.dtype),s=l[r.name];if("function"==typeof r.dfnc)r.dfnc.call(a,s,l);else switch(r.type||""){case"date":a.text(fdt(l[r.name],"dd.MM.yy"));break;case"datetime":a.text(fdt(l[r.name]));break;case"html":a.append($$.dc("ctw").html(s)),a.append($$.dc("ttip").html(s));break;default:a.text(l[r.name])}switch(r.name||""){case"State":a.text($rct.sts[s||"-"]);break;case"Name":a.aC(r.name.toLowerCase());break;case"vat":$$.sel().appendTo($$.td(o,{class:"vsel"})).click((function(e){e.stopPropagation()})).append([$$.opt("19,0 %","19,0 %"),$$.opt("16,0 %","16,0 %"),$$.opt("0,0 %","0,0 %")]).val(l[r.name]).change().change({frm:i,tgt:e,mode:t,id:l.Id,td:a},$req.setvat),a.tC("hl","19"!==l[r.name].substr(0,2)).click((function(e){e.stopPropagation(),$(this).tC("av")}));break;case"balance":a.aC("sh_"+(l.SollHaben||"").toLowerCase());break;case"InvoiceId":a.aC("keep")}switch(typeof r.title){case"function":r.title.call(a,l);break;case"string":a.attr("title",cs.title)}}))}))},complete:()=>{n.ldng(0)}})},tHd:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&confirm($rct.cthd)&&$ocms.postXT({url:$ocms.url("req/rthd"),data:{id:e.data.id},success:n=>{n.id===e.data.id&&!1===bool(n.visible,!0)?(!1===t.is(".tbhd")&&setTimeout((()=>{t.filter(".tbhd").remove()}),15e3),t.aC("tbhd")):n.id===e.data.id&&t.rC("tbhd")}})},showitm:function(e){let t=$(this).closest("tr");if(e.stopPropagation(),!1===t.is(".selected"))return;let n=$$.dc("rfrm").ldng(1);$ocms.postXT({url:$ocms.url("req/pget"),data:{id:e.data.id},success:t=>{$ocms.postXT({url:$ocms.url("req/get"),data:{id:e.data.id,mode:"ful"},success:e=>{if((e.requests||[]).length<1)n.text($rct.nd);else{let t=$$.dc("srq",n),i=$$.tblset({class:"if"},t);$.each(e.requests||[],(function(e,t){e>0&&$$.tr(i.bdy).aC("sep").append($$.td({colspan:6}));let n=$$.tr(i.bdy).aC("title"),r=$rcol.itm.lbl(),a=$inv.worknotes(t);$$.td(n,{colspan:6}).append([$$.s($rcol.req.label_sng),$$.sc("eid",t.ExternalId),$$.sc("nme",fdt(t.WorkDoneAt,"dd.MM.yy")+": "+a.ne(t.Name))]);$$.tr(i.bdy).aC("shd").append([$$.td(),$$.td(r.NameOrNumber),$$.td(r.Type),$$.td(r.net_pos),$$.td(r.bo_pos),$$.td(r.vat)]);$.each(t.items||[],((e,t)=>{t.ServiceRequestId;let n=$$.tr(i.bdy,{id:"itm"+t.Id}).aC(t.Type);$$.td(n).aC("ico"),$$.td(n).text(t.NameOrNumber),$$.td(n).text(t.Type),$$.td(n).aC("currency").text(t.net_pos),$$.td(n).aC("currency").text(t.bo_pos),$$.td(n).aC("num").text(t.vat)}))}))}},error:()=>{n.text($t.t12)},complete:()=>{n.ldng(0)}})},error:()=>{n.text($t.t12),n.ldng(0)}}),$ocms.dlg(n,{width:1e3})}},$$req={init2:$req.init2,auth:{}};export default $$req;$inv.cInv=function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&!1!==$fis.isAuth("fds_inv",2)&&$inv.cInv2({id:e.data.id})},$inv.rMn=e=>{let t=[{lbl:$ict.req,itm:[]}];return!0===bool(e,!1)&&!0===$fis.isAuth("fds_inv",2)&&Array.prototype.push.apply(t[0].itm,[{lbl:$rct.crI,fnc:$inv.ccInv,data:{typ:"r"}},{lbl:$rct.crII,fnc:$inv.ccInv,data:{typ:"i"}}]),t.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(t)},$inv.iMnr=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),r=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?r[1].itm.push({lbl:$ict.ced,fnc:$inv.clCntInv}):!0===$fis.isAuth("fds_inv",1)&&r[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===i&&!0===t&&!0===$fis.isAuth("fds_inv",2)&&(r[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),r[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&(r[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),r[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&!1===booln(e.IsSent,!1)&&r[2].itm.push({lbl:$ict.srs,fnc:()=>$inv.srs(n)}),r.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(r)},$inv.iMn=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),r=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?r[1].itm.push({lbl:$ict.ced,fnc:()=>{$inv.cntInv({id:n})}}):!0===$fis.isAuth("fds_inv",1)&&r[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===$fis.isAuth("fds_inv",2)&&(r[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),r[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!1===booln(e.IsPayed,!1)?(!0===$fis.isAuth("fds_reminder",2)&&r[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),!0===$fis.isAuth("fds_inv",2)&&r[1].itm.push({lbl:$ict.setpyd,fnc:()=>$inv.setPyd(n)})):!0===t&&!0===booln(e.IsPayed,!1)&&"m"===(e.PaymentStatus||"")&&!0===$fis.isAuth("fds_inv",2)&&r[1].itm.push({lbl:$ict.setupd,fnc:()=>$inv.setUpd(n)}),!0===$fis.isAuth("fds_reminder",2)&&r[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)}),!0===t&&!0===$fis.isAuth("fds_inv",2)&&!1===booln(e.IsSent,!1)&&r[1].itm.push({lbl:$ict.sis,fnc:()=>$inv.sis(n)}),!1===i&&r[1].itm.push({lbl:$ict.mfr,fnc:()=>$inv.mfrrel(n)}),$("#topbar").ocmsmenu(r)},$inv.emOpt=()=>"iss,p13b,ctp,setst,setm",$inv.eM=(e,t,n)=>{let i=[];return!0!==booln(e,!1)&&!0!==booln(t,!1)||i.push({glyph:"glyphicon-menu-left",fnc:()=>{$fis.lf(!0),$fis.frm_edit().remove()}}),!0===(n||"").split(",").includes("iss")&&i.push({lbl:$ict.iss,fnc:$inv.ssave}),!0===(n||"").split(",").includes("ctp")&&i.push({lbl:$ict.ctp,fnc:$inv.sctp}),!0===(n||"").split(",").includes("p13b")&&i.push({lbl:$ict.p13b,fnc:$inv.sp13b}),!0===(n||"").split(",").includes("setm")&&i.push({lbl:$ict.setm,fnc:$inv.ssetmode}),!0===(n||"").split(",").includes("setst")&&i.push({lbl:$ict.setst,fnc:()=>$inv.sets.open()}),!0===(n||"").split(",").includes("iss")&&(i.push({lbl:"Änderungshistorie",fnc:()=>$inv.d.history()}),i.push({lbl:"Änderungen verwerfen",fnc:()=>$inv.d.discard()})),!0===booln(e,!1)&&i.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(i)},$inv.d={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.d.tbl().data("dtoken")||""},hashes:function(){let e=$inv.d.tbl().data("bai")||[],t={};return $.each(e,((e,n)=>{t[(n.Id||"").toString()]=JSON.stringify(n)})),t},seed:function(e){let t=$inv.d.layout();t.aC("freeze");let n=$ocms.postXT({url:$ocms.url("inv/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.d.tbl().data("dtoken",e.token).data("dver",e.version).data("dhashes",$inv.d.hashes()).data("dorder",$inv.d.order()),$fis.draft.bind(e.token,{onReady:()=>$inv.d.refresh(),onExpiring:e=>$inv.d.warnExpiry(e),onClosed:e=>$inv.d.closed(e)}),$inv.d.refresh()},error:()=>{t.rC("freeze")},complete:()=>{$inv.d.tbl().removeData("dseeding").removeData("dseedpromise")}});return $inv.d.tbl().data("dseedpromise",n),n},refresh:function(e){let t=$inv.d.token();""!==t&&$ocms.postXT({url:$ocms.url("inv/dstate"),data:{token:t},success:t=>{$inv.d.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.d.closed("expired")},complete:()=>{$inv.d.layout().rC("freeze")}})},applyState:function(e){let t=$inv.d.tbl();if(t.length<1)return;let n=t.data("dver");"number"==typeof n&&"number"==typeof e.version&&e.version$$.dc("dnote").aC(e.style||"InvoiceNotes").text(e.text)))},applyItems:function(e,t){let n=e=>void 0===e?null:e;(t||[]).forEach((t=>{if(!t)return;let i=(t.Id||"").toString();if(""===i)return;let r=e.children("tbody").filter(((e,t)=>(($(t).data()||{}).Id||"").toString()===i)).first();if(r.length<1)return;let a=t.itm||[],s={},l=r.find("tr.title").first(),d=l.length?l:null;a.forEach((e=>{let t=(e.id||"").toString();if(""===t)return;s[t]=!0;let i=r.find("#itm"+t).first(),a=i.length<1;a&&(i=$$.tr(r,{id:"itm"+t,class:"itm"}));let l=i.data()||{},c=a||(l.Type||"")!==(e.typ||"")||l.net!==n(e.v)||l.net_val!==n(e.vt)||l.vat_val!==n(e.vv)||l.svcnet_val!==n(e.vs)||l.svcvat_val!==n(e.vsv)||(l.position||"")!==(null!=e.p?e.p:"")||(l.lvl||0)!==(e.lvl||0)||(l.SetItmId||null)!==(null!=e.SetItmId?e.SetItmId:null);$.extend(l,{Id:t,Type:e.typ,net:n(e.v),net_val:n(e.vt),vat_val:n(e.vv),svcnet_val:n(e.vs),svcvat_val:n(e.vsv),vat:e.vat,position:null!=e.p?e.p:"",SetItmId:null!=e.SetItmId?e.SetItmId:null,lvl:e.lvl||0}),a&&$.extend(l,{htmltext:e.t,quantity:e.q}),i.data(l),d?i.prev()[0]!==d[0]&&i.insertAfter(d):r.children().first()[0]!==i[0]&&r.prepend(i),d=i,c&&$inv.rrw.call(i)})),r.find("tr.itm").each(((e,t)=>{let n=(($(t).data()||{}).Id||"").toString();""===n||s[n]||$(t).remove()}))}))},applySetDisplay:function(e,t){e.find("tr.itm").each(((e,n)=>{let i=$(n),r=((i.data()||{}).Id||"").toString();if(""===r||!Object.prototype.hasOwnProperty.call(t,r))return;let a=t[r]||{};i.tC("sethdr",bool(a.h,!1)),!1===bool(a.p,!0)&&i.find("td.currency").text("")}))},sync:function(e){let t=$inv.d.token();if(""===t){let t=$inv.d.tbl().data("dseedpromise");return t?$.when(t).then((()=>$inv.d.sync(e))):$.when()}return $inv.d.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.d.refresh()},error:e=>{$inv.d.layout().rC("freeze"),e&&410===e.status&&$inv.d.closed("expired")}})},order:function(){return($inv.d.tbl().data("bai")||[]).map((e=>(e.Id||"").toString()))},syncChanged:function(e){let t=e.data("bai")||[],n=e.data("dhashes")||{},i={},r=[],a=[],s=[];$.each(t,((e,t)=>{let a=(t.Id||"").toString(),s=JSON.stringify(t);i[a]=s,n[a]!==s&&r.push(t)})),$.each(n,(e=>{void 0===i[e]&&a.push(e)}));let l=$inv.d.order(),d=e.data("dorder")||[];return e.data("dhashes",i).data("dorder",l),r.forEach((e=>s.push($inv.d.sync({Target:"block.replace",Ref:(e.Id||"").toString(),Value:e})))),a.forEach((e=>s.push($inv.d.sync({Target:"block.remove",Ref:e})))),d.length===l.length&&d.slice().sort().join(",")===l.slice().sort().join(",")&&d.join(",")!==l.join(",")&&s.push($inv.d.sync({Target:"block.order",Value:l})),$.when.apply($,s).promise()},syncField:function(e,t){let n={invoicetitle:"title",invoiceaddress:"address",invoiceemail:"email",invoiceemailcc:"emailcc",loc:"provisionlocation",provisionlocation:"provisionlocation",provisionperiod:"provisionperiod"}[e];n&&$inv.d.sync({Target:n,Value:t})},footer:function(e,t,n){let i=e.children("tfoot").empty();e.nextAll(".fnote").remove();let r=bool(n.p13b,!1),a=(e,t,n)=>$$.tdc("currency",$$.tr(i,{class:n||"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text(e)]),fnum(t,$rct.cst)),s=t=>$$.dc("fnote").insertAfter(e).rwText(t);a("Netto",t.total_net||0),!1===r&&$.each(t.vat||{},((e,t)=>a($rct.vat+" "+e+"%",t,"tvat"))),a("Summe",t.total_gross||0);let l=n.type||"";"i"===l?(s($rct.note2),s($rct.note4)):"c"===l?s($rct.note2):(s(string($rct.note3,[fnum(((t.service_net||0)+(t.service_vat||0))*(n.tax_servicerefund||0),$rct.cst)])).aC("ntax"),s($rct.note2),s(string($rct.note1,[fnum((t.service_net||0)+(t.service_vat||0),$rct.cst),fnum(t.service_net||0,$rct.cst),fnum(t.service_vat||0,$rct.cst)]))),!0===r&&s($rct.note13b)},validation:function(e){let t=$("div.invoice_layout");if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout(),n=($inv.d.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),r=Math.round(.88*vh()),a=n.total;a>10&&$$.dc("note warn",i).text($ict.tpe),$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(r-rpx(6)).toString()+"px"))}));for(let e=(n.img||[]).length+1;e<=a;e++)$$.dc("pdfp ph",i).append($$.dc("note",$ict.pna));$ocms.dlg(i,{size:[r,Math.round(.88*vw())],zindex:50,form:!1,button:$rct.crI,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("req/sconf"),data:{id:e.invid},success:t=>{i.trigger("modal_close"),!0===t.hasFile&&window.open($ocms.url("req/idoc")+"?id="+e.invid,"_blank"),$inv.d.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($ict.eis)}})},cancel:function(e){confirm($ict.cdI)&&($inv.d.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($ict.eis)}}))},save:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$inv.d.tbl().data("invid",e.invid)},error:()=>{alert($ict.eis)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.d.token();""!==e&&$ocms.postXT({url:$ocms.url("inv/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},discard:function(){let e=$inv.d.tbl().data("invid")||"";""!==e?!1!==confirm("Alle Änderungen verwerfen und den zuletzt gespeicherten Stand neu laden?")&&($inv.d.close(),$inv.cntInv({id:e})):alert("Es wurde noch kein Zwischenstand gespeichert, der wiederhergestellt werden könnte.")},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Rechnungsentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.d.token();$inv.d.tbl().removeData("dtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Rechnungsentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Rechnungsentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.d.token();""!==e&&($ocms.postXT({url:$ocms.url("inv/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.d.tbl().removeData("dtoken")}},$inv.rd={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.rd.tbl().data("rdtoken")||""},seed:function(e){let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.rd.tbl().data("rdtoken",e.token).data("rdver",e.version),$fis.draft.bind(e.token,{onReady:()=>$inv.rd.refresh(),onExpiring:e=>$inv.rd.warnExpiry(e),onClosed:e=>$inv.rd.closed(e)}),$inv.rd.refresh()},error:()=>{t.rC("freeze")}})},refresh:function(e){let t=$inv.rd.token();""!==t&&$ocms.postXT({url:$ocms.url("rem/dstate"),data:{token:t},success:t=>{$inv.rd.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.rd.closed("expired")},complete:()=>{$inv.rd.layout().rC("freeze")}})},applyState:function(e){let t=$inv.rd.tbl();if(t.length<1)return;let n=t.data("rdver");"number"==typeof n&&"number"==typeof e.version&&e.version{let t=$$[0]("p").aC("dnote intro").rwText(e);r.length?t.insertBefore(r):t.appendTo(n)})),((e||{}).closing||[]).forEach((e=>$$[0]("p").aC("dnote closing").rwText(e).appendTo(n)))},sync:function(e){let t=$inv.rd.token();""!==t&&($inv.rd.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.rd.refresh()},error:e=>{$inv.rd.layout().rC("freeze"),e&&410===e.status&&$inv.rd.closed("expired")}}))},syncField:function(e,t){if(""===$inv.rd.token())return;let n={subject:"subject",invoiceaddress:"address",invoiceemail:"email",text:"text"}[e];n&&$inv.rd.sync({Target:n,Value:t})},syncAmount:function(e,t){""!==$inv.rd.token()&&($inv.rd.sync({Target:"amount",Value:(null!=e?e:0).toString()}),$inv.rd.sync({Target:"amount_payed",Value:(null!=t?t:0).toString()}))},footer:function(e,t){let n=e.children("tfoot").empty(),i=$$.tr(n,{class:"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text("Offener Betrag")]);$$.tdc("currency",i,fnum(t.amount_open||0,$rct.cst))},validation:function(e){let t=$inv.rd.layout();if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout(),n=($inv.rd.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),r=Math.round(.88*vh());$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(r-rpx(6)).toString()+"px"))})),$ocms.dlg(i,{size:[r,Math.round(.88*vw())],zindex:50,form:!1,button:$ict.remd,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("rem/conf"),data:{id:e.remid},success:()=>{i.trigger("modal_close"),window.open($ocms.url("rem/idoc")+"?id="+e.remid,"_blank"),$inv.rd.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($t.f1)}})},cancel:function(e){confirm($ict.cdI)&&($inv.rd.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($t.f1)}}))},save:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$inv.rd.tbl().data("remid",e.remid)},error:()=>{alert($t.f1)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.rd.token();""!==e&&$ocms.postXT({url:$ocms.url("rem/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Mahnentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.rd.token();$inv.rd.tbl().removeData("rdtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Mahnentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Mahnentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.rd.token();""!==e&&($ocms.postXT({url:$ocms.url("rem/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.rd.tbl().removeData("rdtoken")}},$inv.cInv2=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n&&n.ft.rwText($rct.rq1);let i=()=>{$ocms.postXT({url:$ocms.url("req/get"),timeout:60,data:{id:e.id,mode:"r"},success:t=>{t.admin=t.admin||{};let n=$fis.lf(!0).aC("fix").rC("hd");if($fis.frm_edit().IN(),$inv.eM(!0,!0),(t.requests||[]).length<1)n.aC("fix").text($rct.nd);else{$$.dc("lh",n,$rct.mdl);let i=$$.d(),r=$$.ul({class:"rql"}).data({search:e.id,parent:t.admin.parent}).appendTo(n),a={},s=$rcol.req.lbl();$.each(t.requests||[],(function(e,t){let n=$$.li({class:"cli rli"}).data($.extend({},t)).appendTo(r),l=$$.dc("lihd",n).addClass(t.state);!0===booln(t.open,!1)&&l.append($$.sc("cbox").click((()=>{n.tC("checked"),i.find("li").rC("checked"),!0===n.is(".checked")?$inv.rMn(t.open):$inv.eM(!0)}))),l.append([$$.sc("eid",t.ExternalId),$$.sc("nme",t.Name)]),$$.dc("lidt",n).append([$$.dc("rqs").append([$$.s(s.State+": "),$$.s($rct.sts[t.State||"-"])]),$$.dc("ivn").append([$$.s(s.InvoiceId+": "),$$.s(t.InvoiceId||"- -")]),$$.dc("wda").append([$$.s(s.WorkDoneAt+": "),$$.s(fdt(t.WorkDoneAt,"dd.MM.yyyy"))])]),a[t.Id]=n})),(t.inv||[]).length>0&&($$.dc("lh",n,$rct.invs),i=$$.ul({class:"ivl"}).appendTo(n),$.each(t.inv||[],((e,t)=>{let n=$$.li({class:"cli ili"}).data($.extend({},t)).appendTo(i),a=$$.dc("lihd",n).addClass(t.invstatus);!1===booln(t.isFinal,!0)?a.append($$.sc("cbox").click((()=>{""!==(t.Id||"")&&(n.tC("checked").siblings().rC("checked"),r.find("li").rC("checked"),!0===n.is(".checked")?$inv.iMnr(t):$inv.eM(!0))}))):["","dft"].indexOf(t.invstatus)<0&&a.append($$.sc("dli").click((function(){$inv.disp(t.Id,"inv")}))),a.append($$.sc("nme",t.DocumentName||t.Id)),$$.dc("lidt",n).append([$$.dc("wda").append([$$.s(fdt(t.DateCreated,"dd.MM.yyyy"))]),$$.d().text($ict.iSt[t.invstatus]||t.invstatus)])})))}},complete:()=>{n&&n.c.trigger("modal_close")}})};$ocms.postXT({url:$ocms.url("req/pget"),timeout:90,data:{id:e.id},success:e=>{n&&n.ft.rwText($rct.rq2),i()},error:()=>{confirm($rct.rq1f)?(n&&n.ft.rwText($rct.rq2),i()):n&&n.c.trigger("modal_close")}})},$inv.ccInv=function(e){let t=(e.data||{}).typ||"r",n=$fis.lf(),i=n.children("ul.rql"),r=i.data("parent"),a=[];if(i.find("li.rli.checked").each((function(){a.push($(this).data("Id"))})),a.length<1)return void alert($rct.dnS);if("i"===t&&a.length>1)return void alert($rct.dII);let s=$fis.frm_edit(),l=$$.dc("invoice_layout",s).append($$.dc("btn sprev").click($inv.sprev)),d=$fis.cf().width()>l.width()+n.width()+20;n.tC("fix",d).tC("hd",!d),$inv.eM(!1,!0);let c=$$.dc("rfrm").ldng(1),o=$ocms.dlg(c,{width:1e3});o.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("req/iget"),timeout:60,data:{id:r,mode:"ful",typ:t,sel:a.join(",")},success:e=>{let t=$$.dc("srq",l),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([jine([fdt(i.WorkDoneAt,"dd.MM.yy"),i.ExternalId]," - "+$rct.req+" "),t.ne(i.Name)],": \n");let r=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(r)}}));let r=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(r),n.ft.appendTo(n.tbl);let a,s,d=e.admin||{},c=(e,t,i,r,a)=>{let s=$$.dc("inpfrm",l).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",s).rwText(t);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},a),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm","","loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(l,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",l).append($$.dc("content").text(d.sender)),d.provisionend&&(s=d.provisionstart?$rct.provP:$rct.provD,a=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",a,"provisionperiod",s,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",l).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{o.c.trigger("modal_close")}})},$inv.ccStInv=function(e){let t=e.data||{},n=$fis.lf(),i=t.id,r=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sprev)),a=$fis.cf().width()>r.width()+n.width()+20;n.tC("fix",a).tC("hd",!a),$inv.eM(!1,!0);let s=$$.dc("rfrm").ldng(1),l=$ocms.dlg(s,{width:1e3});l.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),timeout:90,data:{id:t.id},success:e=>{l&&l.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/icget"),timeout:60,data:{id:i},success:e=>{let t=$$.dc("srq",r),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([fdt(i.WorkDoneAt,"dd.MM.yy")+t.ne(i.Name)],": ");let r=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(r)}}));let a=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(a),n.ft.appendTo(n.tbl);let s,l,d=e.admin||{},c=(e,t,i,a,s)=>{let l=$$.dc("inpfrm",r).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},s),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm",d.provisionlocation,"loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(r,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",r).append($$.dc("content").text(d.sender)),d.provisionend&&(l=d.provisionstart?$rct.provP:$rct.provD,s=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",s,"provisionperiod",l,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",r).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv")},complete:()=>{l.c.trigger("modal_close")}})},error:()=>{l&&l.c.trigger("modal_close")}})},$inv.clCntInv=function(e){let t=$fis.lf(!1),n=[];t.find("li.ili.checked").each((function(){n.push($(this).data("Id"))})),1===n.length&&$inv.cntInv({id:n[0]})},$inv.cntInv=function(e){e=e||{};$fis.lf(!1).rC("fix").aC("hd");let t=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit));$inv.eM(!1,!0);let n=$$.dc("rfrm").ldng(1),i=$ocms.dlg(n,{width:1e3});i.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/get"),timeout:60,data:{id:e.id},success:e=>{e.admin=e.admin||{};let n=e.inv||{},i=$$.dc("srq",t),r=$$.tblset({class:"invi"},i);r.bdy.remove(),r.ft=$$[0]("tfoot"),r.tbl.data($.extend({invid:n.Id,new:{},sms:{},itm:{},bai:[]},e));let a=$$.tr(r.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(a,e))),r.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(r.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(r.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),r.ft.appendTo(r.tbl);let l=(e,n,i,a,s)=>{let l=$$.dc("inpfrm",t).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(n);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{r.tbl.data("new")[i]=e}},s),$inv.eHtml)),r.tbl.data("new")[i]=n};l("tfrm",n.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",n.SendToAddress,"invoiceaddress",0,null),l("locfrm",n.ProvisionLocation,"loc",1,null),$inv.emailFrm(t,r,n.SendToEmail,n.SendToEmailCc),$$.dc("sndfrm",t).append($$.dc("content").text(e.admin.sender)),l("admfrm",n.ProvisionPeriod,"provisionperiod",!0===(n.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),r.tbl.data("new").CustomValues=n.CustomValues||"",$$.dc("inpfrm ctpfrm",t).text(jObj(n.CustomValues,"contactName")),r.tbl.children("tbody").each($inv.bdysort),r.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{i.c.trigger("modal_close")}})},$inv.cSt=function(e){e=e||{};let t=$fis.lf(),n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit)),i=$fis.cf().width()>n.width()+t.width()+20;t.tC("fix",i).tC("hd",!i),$inv.eM(!1,!0);let r=$$.dc("rfrm").ldng(1),a=$ocms.dlg(r,{width:1e3});a.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),data:{id:e.id},success:t=>{a&&a.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/storno"),data:{id:e.id,mode:e.mode},success:e=>{e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b"));let t=e.inv||{},i=$$.dc("srq",n),r=$$.tblset({class:"invi"},i);r.bdy.remove(),r.ft=$$[0]("tfoot"),r.tbl.data($.extend({invid:t.Id,new:{},sms:{},itm:{},bai:[]},e));let a=$$.tr(r.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(a,e))),r.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(r.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(r.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),r.ft.appendTo(r.tbl);let l=(e,t,i,a,s)=>{let l=$$.dc("inpfrm",n).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{r.tbl.data("new")[i]=e}},s),$inv.eHtml)),r.tbl.data("new")[i]=t};l("tfrm",t.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",t.SendToAddress,"invoiceaddress",0,null),l("locfrm",t.ProvisionLocation,"loc",1,null),$inv.emailFrm(n,r,t.SendToEmail,t.SendToEmailCc),$$.dc("sndfrm",n).append($$.dc("content").text(e.admin.sender)),l("admfrm",t.ProvisionPeriod,"provisionperiod",!0===(t.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),r.tbl.data("new").CustomValues=t.CustomValues||"",$$.dc("inpfrm ctpfrm",n).text(jObj(t.CustomValues,"contactName")),r.tbl.children("tbody").each($inv.bdysort),r.tbl.trigger("fds.inv")},complete:()=>{a.c.trigger("modal_close")}})},error:()=>{a&&a.c.trigger("modal_close")}})},$inv.adrCountries=[["DE","Deutschland"],["AT","Österreich"],["CH","Schweiz"],["FR","Frankreich"],["NL","Niederlande"],["BE","Belgien"],["LU","Luxemburg"],["IT","Italien"],["ES","Spanien"],["PL","Polen"],["DK","Dänemark"],["CZ","Tschechien"],["GB","Großbritannien"],["US","USA"]],$inv.composeAddress=function(e){let t=[],n=e=>{""!==(e=(""+(e||"")).trim())&&t.push(e)};n((e=e||{}).name),""!==(""+(e.contact||"")).trim()&&n("z.Hd. "+(""+e.contact).trim()),n(e.line2||e.addressLine2),n(e.street),n(((e.postalCode||"")+" "+(e.city||"")).trim());let i=(""+(e.countryCode||"")).toUpperCase();return""!==i&&"DE"!==i&&n(i),t.join("\n")},$inv.adrCurrent=function(e){let t=jObj((e.data("new")||{}).CustomValues,"sendToAddress");if("string"==typeof t&&"{"===t.trim().charAt(0))try{t=JSON.parse(t)}catch(e){t=null}if(t&&"object"==typeof t)return t;let n=(e.data("admin")||{}).invoiceaddressData;if("string"==typeof n&&"{"===n.trim().charAt(0))try{return JSON.parse(n)}catch(e){}else if(n&&"object"==typeof n)return n;return{}},$inv.eAddress=function(e){let t=$inv.d.tbl(),n=$inv.adrCurrent(t),i=[{name:"name",label:"Name / Firma",type:"text",value:n.name||"",required:!0},{name:"contact",label:"z.Hd. (optional)",type:"text",value:n.contact||""},{name:"street",label:"Straße + Nr.",type:"text",value:n.street||""},{name:"line2",label:"Adresszusatz (optional)",type:"text",value:n.line2||n.addressLine2||""},{name:"postalCode",label:"PLZ",type:"text",value:n.postalCode||""},{name:"city",label:"Ort",type:"text",value:n.city||""},{name:"countryCode",label:"Land",type:"select",url:$inv.adrCountries,value:n.countryCode||"DE"},{name:"vatId",label:"USt-IdNr. (nur bei Firmen)",type:"text",value:n.vatId||""},{name:"leitwegId",label:"Leitweg-ID (nur Behörden / B2G)",type:"text",value:n.leitwegId||""}],r=$$.dc("adr-conformity").append([$$.dc("hd").text("Hinweis zur DATEV-/eRechnungs-Konformität"),$$.dc("tx").text("Pflicht: Name, Straße, PLZ, Ort und Land. Die USt-IdNr. nur bei Firmen angeben — für eine Rechnung an eine Privatperson einfach leer lassen. Eine Leitweg-ID nur bei Behörden (B2G) — dann wird die Rechnung automatisch als XRechnung erzeugt.")]);$ocms.dlgform(i,{title:"Rechnungsempfänger",addcontent:r,success:function(t){let n={name:t.name||"",contact:t.contact||"",line2:t.line2||"",street:t.street||"",postalCode:t.postalCode||"",city:t.city||"",countryCode:t.countryCode||"DE",vatId:(""+(t.vatId||"")).trim(),leitwegId:(""+(t.leitwegId||"")).trim()},i=$inv.composeAddress(n);e.data&&e.data.t&&e.data.t.rwText(i),"function"==typeof(e.data||{}).change&&e.data.change(i),$inv.d.sync({Target:"address",Value:n})}})},$inv.provToIso=function(e){let t=(""+(e||"")).match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);return t?t[3]+"-"+("0"+t[2]).slice(-2)+"-"+("0"+t[1]).slice(-2):""},$inv.eProvisionPeriod=function(e){let t=(""+(e.data&&e.data.t?e.data.t.text():"")).trim().match(/\d{1,2}\.\d{1,2}\.\d{4}/g)||[],n=[{name:"von",label:"Leistungsdatum",type:"date",value:$inv.provToIso(t[0]||"")},{name:"bis",label:"Leistungszeitraum – bis (optional)",type:"date",value:$inv.provToIso(t[1]||"")}],i=$$.dc("adr-conformity").append([$$.dc("hd").text("Leistungsdatum / -zeitraum"),$$.dc("tx").text('Für ein einzelnes Datum nur „Leistungsdatum" ausfüllen; für einen Zeitraum zusätzlich das Bis-Datum. Nur strukturierte Datumsauswahl — für die E-Rechnung empfohlen.')]);$ocms.dlgform(n,{title:"Leistungsdatum / -zeitraum",addcontent:i,success:function(t){let n=(""+(t.von||"")).trim(),i=(""+(t.bis||"")).trim(),r=""===n?"":""===i||i===n?n:n+" - "+i;e.data&&e.data.t&&e.data.t.rwText(r),"function"==typeof(e.data||{}).change&&e.data.change(r),$inv.d.sync({Target:"provisionperiod",Value:r})}})},$inv.eEmail=function(e){let t=[{name:"email",label:$rct.frm.invoiceemail,type:"text",value:(e.data.t||$$.s()).text()},{name:"emailcc",label:$rct.frm.invoiceemailcc,type:"text",value:(e.data.ccT||$$.s()).text()}];$ocms.dlgform(t,{title:$rct.frm.invoiceemail,success:function(t){let n=(""+(t.email||"")).trim(),i=(""+(t.emailcc||"")).trim();e.data&&e.data.t&&e.data.t.text(n),e.data&&e.data.ccT&&e.data.ccT.text(i),"function"==typeof(e.data||{}).change&&e.data.change(n),"function"==typeof(e.data||{}).changeCc&&e.data.changeCc(i),$inv.d.syncField("invoiceemail",n),$inv.rd.syncField("invoiceemail",n),$inv.d.syncField("invoiceemailcc",i),$inv.rd.syncField("invoiceemailcc",i)}})},$inv.emailFrm=function(e,t,n,i){let r=$$.dc("inpfrm emailccfrm",e),a=$$.dc("content",r).rwText(i),s=$$.dc("inpfrm emailfrm",e),l=$$.dc("content",s).rwText(n);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT.invoiceemail}).append(gi("pencil")).click({t:l,ccT:a,nme:"invoiceemail",change:e=>{t.tbl.data("new").invoiceemail=e},changeCc:e=>{t.tbl.data("new").invoiceemailcc=e}},$inv.eHtml)),t.tbl.data("new").invoiceemail=n,t.tbl.data("new").invoiceemailcc=i},$inv.eHtml=function(e){if(e.data&&!(e.data instanceof jQuery)&&$inv.d&&"function"==typeof $inv.d.token&&""!==$inv.d.token()){if("invoiceaddress"===e.data.nme)return $inv.eAddress.call(this,e);if("provisionperiod"===e.data.nme)return $inv.eProvisionPeriod.call(this,e)}if(e.data&&!(e.data instanceof jQuery)&&"invoiceemail"===e.data.nme&&e.data.ccT)return $inv.eEmail.call(this,e);let t=$(this),n=e.data instanceof jQuery?e.data:e.data.t,i=["invoiceemail","invoiceemailcc","provisionperiod","invoicetitle"].includes(e.data.nme),r=i?[{name:"txt",label:"Text",type:"text",value:n.text()}]:[{name:"txt",label:"Text",type:"html",value:n.html(),tinymce:!0,attr:{style:"height: 300px"}}],a=e.data.change||null,s={title:t.data("dialog")||"",success:function(t){i?n.text(t.txt||""):n.html(t.txt),"function"==typeof a&&a(t.txt),$inv.d.syncField(e.data.nme,i?t.txt||"":t.txt),$inv.rd.syncField(e.data.nme,i?t.txt||"":t.txt)},tinymce:{valid_elements:"br",hidemenu:!0,hidetoolbar:!0}};if(Array.isArray(e.data.list)){let t=$$.dc("lstfrm");$.each(e.data.list,((n,i)=>{let r=$$.dc("li",t).append(""!==(e.data.lbl||"")?$$.dc("lbl").rwText(i[e.data.lbl]):null);$$.dc("adr",r).rwText(i[e.data.property]).data("val",i[e.data.property]).click((function(){let e=$(this),t=e.closest(".modal-body").find(':input[name="txt"]');t.is(".tinymce")?tinymce.get(t.attr("id")).setContent($$.s().rwText(e.data("val")).html()):"TEXTAREA"===t.prop("tagName")?t.val(e.data("val")).change():t.rwText(e.data("val"))}))})),s.addcontent=t}$ocms.dlgform(r,s)},$inv.setVat=function(e){$(this);let t=e.data,n=prompt($rct.rqV);n&&(n=parseFloat(n.replace("%","")),n>1&&(n*=.01),!1===isNaN(n)&&(t.siblings(".itm").each((function(){$(this).data().vat=fnum(n,{style:"percent"}).replace(" ","")})),$inv.t_fds_inv()))},$inv.inRow=function(e){let t=$(this),n=e.data,i={},r=$rcol.itm.clone(["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"]),a="N"+(65536*(1+Math.random())||0).toString(16).substr(6),s=$$.tr({id:"itm_"+a.toString(),class:"itm"});$ocms.dlgform(r,{title:t.data("dialog")||"",success:function(e){s.data($.extend({Id:a},i,e)),$inv.rrw.call(s),s.insertAfter(n),$inv.t_fds_inv()},typedvalues:!0})},$inv.eRow=function(e){let t=$(this),n=e.data,i=n.data()||{},r=["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"];i.id||""!==(i.Type||"")||r.unshift("Type");let a=$rcol.itm.clone(r).applyValues(i);a.set("Type","hidden","type"),$inv.eRw.call(t,n,i,a)},$inv.eRw=function(e,t,n){let i=$(this);$ocms.dlgform(n,{title:i.data("dialog")||"",success:function(n){let i={};""===(t.Id||"")&&(i.Id="N"+(65536*(1+Math.random())||0).toString(16).substr(6),e.attr("id","itm_"+i.Id.toString())),i.quantity=((n.quantityhours||"").toString()+" "+(n.UnitString||"").toString()).trimEnd(),e.data($.extend({},t,n,i)),console.debug("eRw success %o",e.data()),$inv.rrw.call(e),$inv.t_fds_inv()},typedvalues:!0})},$inv.bdysort=(e,t)=>{$(t).Sortable({dragItem:!1,dragHandleClass:"ico",parentident:"tr",onend:()=>{$inv.t_fds_inv()}})},$inv.rowCtxMenu=function(e){let t=$$[0]("nav").aC("rowctx");return t.ocmsmenu([{glyph:"glyphicon-option-vertical",aclass:"ctxbtn",attr:{title:$rct.ctxM},itm:e}]),t.find("li[title]").each((function(){let e=$(this);e.children("a").attr("title",e.attr("title"))})),t},$inv.rrw=function(){let e=$(this),t=e.data(),n={},i=e.is(".placeholder"),r=e.is(".hidenote"),a=e=>$$.d().append(e).html(),s=[{lbl:$rct.iRb,attr:{title:$rct.iRb},data:e,fnc:$inv.inRow}];!1===i&&(s.unshift({lbl:$rct.cP,attr:{title:$rct.cP},data:e,fnc:$inv.eRow}),s.push({lbl:$rct.dR,attr:{title:$rct.dR},fnc:function(t){confirm($rct.cD)&&(e.remove(),$inv.t_fds_inv())}}),"set"===(t.Type||"").toLowerCase()&&0===(t.net_val||0)&&s.push({lbl:$rct.toSetP,attr:{title:$rct.toSetP},data:e,fnc:$inv.toSetPrice}));let l=$$.dc("axf").append($inv.rowCtxMenu(s));!0===i?n={id:"",typ:"placeholder"}:!0===e.is(".itm.osum")?n={invrqid:t.InvRqId,id:"osum"+e.index(),typ:"osum",p:"",q:null,t:a(t.tbl.tbl),tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:!1}:(n={invrqid:t.InvRqId,id:t.Id||"",typ:t.Type||"other",p:"",q:null,t:"",tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:""!==(t.Note||"")&&!1===r,SetItmId:t.SetItmId||null,lvl:t.lvl||0},$$.dc("ibtn ico move",l,{title:$rct.mR}),n.p=null!=t.position?t.position:t.SortOrder||"",""===n.id?n.t="":["Text","Title"].includes(n.typ)&&0===(t.net_val||0)?n.t=t.htmltext||("#"!==(t.NameOrNumber||"").substr(0,1)?a($$[0]("p").text(t.NameOrNumber)):"")+(t.Note||""):(n.tt=n.det?"":$$.s(t.Note||"").text(),n.q=t.quantity||(0!==(t.quantityhours||0)?fnum(t.quantityhours)+" "+(t.UnitString||""):""),n.t=t.htmltext||(n.det?a($$.s(t.NameOrNumber||""))+a($$.dc("desc").html(t.Note)):a($$.s(t.NameOrNumber||""))),n.v=t.net,n.vt=t.net_val)),""!==(t.Note||"")&&$$.dc("ibtn add",l,{title:$rct.noteToggle}).append(gi("object-align-left")).click((function(t){$inv.rrw.call(e.tC("hidenote"))}));let d=[$$.tdc("aux").append(l),$$.tdc("keep").text(n.p)];if(""===n.id)d.push($$.td(e,{colspan:4}).append(n.t));else{Array.prototype.push.apply(d,n.q?[$$.tdc("keep").text(n.q)]:[]);let e=e=>null==e?"":fnum(e,$rct.cst);Array.prototype.push.apply(d,[$$.tdc("txt",{colspan:n.q?1:2,title:n.tt}).append(n.t),$$.tdc("currency").text(e(n.v)),$$.tdc("currency inetval").text(e(n.vt)).attr("title",$rct.svcPart+": "+e(n.vs))])}e.empty().attr("class",i?"placeholder":"itm").aC(n.Typ).tC("sethdr","set"===(n.typ||"").toString().toLowerCase()).aC((n.lvl||0)>0?"lvl"+Math.min(n.lvl,6):"").tC("hidenote",r).append(d),t.co=n},$inv.toSetPrice=function(e){let t=(e.data.data().Id||"").toString();""!==t&&!1!==confirm($rct.toSetPc)&&$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:"item.setprice",Ref:t})}))},$inv.invSumUpdate=function(){let e=$(this),t=[],n=e.children("tbody"),i=[];n.each(((e,n)=>{let r=$(n),a=r.data()||{},s=[],l=[],d=r.find("tr.itm");r.tC("empty",d.length<1),d.each(((e,t)=>{let n=$(t).data()||{};s.push(n.co);let r=$inv.itemToContract(n),a=(n.SetItmId||"").toString();""!==a&&a!==r.id&&(r.setId=a),l.push(r);let d=!1===["text","title"].includes((n.Type||"other").toLowerCase());n.position=((e,t)=>{if(!e)return"";let n=Math.max(t||0,0);for(;i.length<=n;)i.push(0);return i.length=n+1,i[n]++,i.join(".")})(d,(n.co||{}).lvl||0),$inv.rrw.call(t)})),t.push({Id:a.Id,nme:a.Name,text:a.text,itm:s,items:l})}));let r=e.find("tbody:not(.empty)").length;n.find("tr.isum").tC("hidden",r<2),e.data("bai",t),""===(e.data("dtoken")||"")&&!1===bool(e.data("dseeding"),!1)&&null!=(e.data("admin")||{}).type&&(e.data("dseeding",!0),$inv.d.seed($.extend($inv.invcPayload(e.data()),{invid:e.data("invid")||""})))},$inv.worknotes=function(e){let t="";return e.steps.forEach(((e,n)=>{let i;try{i=JSON.parse(e.Data||{}).fields||[]}catch(e){console.debug(e),i=[]}!0!==Array.isArray(i||"")&&(i="object"==typeof i&&!0===Array.isArray(i.field||"")?i.field:[]),i.forEach(((e,n)=>{"Ausgeführte Arbeiten"===e.name&&(t=e.result||"")}))})),t},$inv.rendersrq=function(){let e=$(this).empty(),t=e.is(".onesum"),n=e.data(),i=$$.tr(e,{id:"srq"+n.Id}).aC("title nosort"),r=($rcol.itm.lbl(),$$.dc("axf").appendTo($$.tdc("aux",i)));$$.dc("ibtn osum",r,{title:$rct.combP}).append(gi("euro")).click((function(t){e.tC("onesum"),$inv.rendersrq.call(e),$inv.t_fds_inv()})),$$.dc("ibtn setvat",r,{title:$rct.sV}).append(gi("gbp")).click(i,$inv.setVat),$$.dc("ibtn insb",r,{title:$rct.iRb}).append(gi("indent-left")).click(i,$inv.inRow);let a,s=$$.sc("text",n.text),l=($$.td(i,{colspan:t?4:5}).append(s),["net_val","vat_val","svcnet_val","svcvat_val","net"]);if($$.dc("ibtn edit",r,{title:$rct.sectionTitleEditTT}).data("dialog",$rcol.req.lbl().Name).append(gi("pencil")).click({t:s,change:e=>{n.text=e,$inv.t_fds_inv()}},$inv.eHtml),t&&($$.tdc("currency isumval",i),a={Id:n.Id.toString()+"_osum",net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0},a.tbl=$$.tblset({class:"stbl"})),$.each(n.items||[],((n,i)=>{let r,s={Id:i.Id,net_val:i.net_val||0,vat_val:i.vat_val||0,svcnet_val:0,svcvat_val:0,net:i.net||0,Note:i.Note||""};if("service"===i.Type.toLowerCase())s.svcnet_val=i.net_val||0,s.svcvat_val=i.vat_val||0;t?(r=$$.tr(a.tbl.bdy,{id:"itm"+i.Id,class:"sitm"}).aC(i.Type),"Text"===i.Type||"Title"===i.Type?$$.td(r,{colspan:2}).html(i.htmltext||i.Note):($$.tdc("keep",r).text(i.quantity||((i.quantityhours||0)>0?fnum(i.quantityhours)+(i.UnitString||"").eine(" ",""):"")),i.htmltext?$$.tdc("txt",r).html(i.htmltext):$$.tdc("txt",r).text(i.NameOrNumber).attr("title",i.Note)),$.each(l,((e,t)=>{a[t]+=s[t]})),r.data(s)):($.extend(s,i),r=$$.tr(e,{id:"itm"+i.Id,class:"itm"}),r.data(s),$inv.rrw.call(r))})),t){let t=$$.tr(e,{id:"itmsq"+n.Id,class:"itm osum"}).data(a);$inv.rrw.call(t)}else{let t=$$.tr(e).aC("isum nosort");$$.tdc("aux",t),$$.td(t,{colspan:4}).text($rct.iSum),$$.tdc("currency isumval",t)}},$inv.t_fds_inv=()=>{let e=$("div.invoice_layout table.invi");if(e.trigger("fds.inv"),""!==(e.data("dtoken")||""))return $inv.d.syncChanged(e);let t=e.data("dseedpromise");return t?$.when(t).then((()=>$inv.d.syncChanged(e))):$.when()},$inv.sedit=()=>{$inv.sprev(!0)},$inv.jdisp=function(e){e.stopPropagation(),e.data.id&&$inv.disp(e.data.id,e.data.typ||"")},$inv.disp=(e,t)=>{let n="";switch(t){case"inv":n="inv/rdoc";break;case"rem":n="rem/rdoc"}""!==n&&$ocms.postXT({url:$ocms.url(n),data:{id:e||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex_min:50,form:!1,exclusive:!1})}})},$inv.jdbn=function(e){$ocms.postXT({url:$ocms.url("inv/rdocn"),data:{name:e.data.id||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex:50,form:!1})}})},$inv.sp13b=()=>{var e=$("div.invoice_layout").find("table.invi"),t=e.data();t.admin.p13b=!0,!1===(t.inv.InvoiceOptions||"").split(",").includes("§13b")&&(t.inv.InvoiceOptions+=",§13b"),e.trigger("fds.inv"),$inv.d.sync({Target:"p13b",Value:t.admin.p13b})},$inv.itemToContract=function(e){let t=((e=e||{}).Type||"").toString().toLowerCase(),n=e=>e??null,i={id:(e.Id||"").toString(),type:t,title:"",desc:"",qty:"",price_net:"",total_net:n(e.net_val),vat:e.vat||""};var r;return e.co&&"osum"===e.co.typ?(i.desc=e.co.t||"",i.total_net=e.net_val||0):["text","title"].includes(t)&&0===(e.net_val||0)?(i.desc=e.htmltext||("#"!==(e.NameOrNumber||"").substr(0,1)?(r=$$[0]("p").text(e.NameOrNumber||""),$$.d().append(r).html()):"")+(e.Note||""),i.total_net=""):(e.htmltext?i.desc=e.htmltext:(i.title=e.NameOrNumber||"",i.desc=e.Note||""),i.qty=e.quantity||(0!==(e.quantityhours||0)?fnum(e.quantityhours)+(e.UnitString?" "+e.UnitString:""):""),i.price_net=n(e.net),i.total_net=n(e.net_val)),i},$inv.hasSets=e=>((e||{}).req||[]).some((e=>{let t=((e||{}).itm||[]).filter((e=>e&&""!==(e.id||""))),n={};t.forEach((e=>{n[(e.id||"").toString()]=e}));return t.some((e=>{let t=(null==e.SetItmId?"":e.SetItmId).toString();return""!==t&&t!==(e.id||"").toString()&&n[t]&&(e=>"set"===(e.typ||"").toString().toLowerCase())(n[t])}))})),$inv.ssetmode=()=>{let e,t=$("div.invoice_layout").find("table.invi").data();if(t.dstate&&!1===$inv.hasSets(t.dstate))return void alert($rct.toSetMn);let n=t=>$$.dc("btn",$ict.setmo[t]).click((()=>{e.c.trigger("modal_close"),$inv.setSetmode(t)})),i=$$.dc("choicefrm").append([n("setprice"),n("setonly")]);e=$ocms.dlg(i,{width:800})},$inv.setSetmode=e=>{if(!1===confirm($rct.toSetMc||$rct.toSetPc))return;let t="setonly"===e?"block.setonly":"block.setprice";$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:t})}))},$inv.sctp=()=>{let e=$invcol.ctp;$ocms.dlgform(e,{title:$ict.ctp,success:function(e){var t=$("div.invoice_layout"),n=t.find("table.invi").data();let i={};void 0!==n.new&&"{"===(n.new.CustomValues||"").substr(0,1)&&(i=JSON.parse(n.inv.CustomValues)),i.contactName=e.name,i.contactEmail=e.email,n.new.CustomValues=JSON.stringify(i),t.find(".ctpfrm").text(ne(e.name,e.email)),$inv.d.sync({Target:"contact",Value:{name:e.name,email:e.email}})},typedvalues:!0})},$inv.invcPayload=function(e){e=e||{};let t=$.extend({},e.new),n=$.extend({},e.admin);return t.title=null!=t.invoicetitle?t.invoicetitle:t.title||"",t.provisionlocation=null!=t.loc?t.loc:t.provisionlocation||"",t.paymentterm=null!=n.paymentterms?n.paymentterms:t.paymentterm||"",n.customerid=null!=n.customerid?n.customerid:n.CustomerId,{admin:n,req:e.bai,new:t}},$inv.ssave=()=>{$inv.d.save()},$inv.sprev=e=>{$inv.d.preview()},$inv.rReload=()=>{try{let e=$("#listframe ul.rql:first").data();$inv.cInv2({id:e.search})}catch(e){}},$inv.quantChange=function(e){},$inv.storno=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Storno ohne Details").click({id:e,mode:"simple"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)})),$$.dc("btn","Storno mit neuer Rechnung").click({id:e},(e=>{n.c.trigger("modal_close"),$inv.ccStInv(e)})),$$.dc("btn","Storno mit best. Rechnung").tC("inactive",!1===bool(t,!1)).click({id:e,mode:"copy"},(e=>{!0===bool(t,!1)&&(n.c.trigger("modal_close"),$inv.cSt(e.data))}))]);n=$ocms.dlg(i,{width:1e3})},$inv.credit=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Gutschrift").click({id:e,mode:"credit"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)}))]);n=$ocms.dlg(i,{width:1e3})},$inv.setPyd=function(e){confirm($ict.cpyd)&&$ocms.postXT({url:$ocms.url("inv/setpyd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.setUpd=function(e){confirm($ict.cupd)&&$ocms.postXT({url:$ocms.url("inv/setupd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.resendRem=function(e){e.stopPropagation(),e.data.id&&confirm(string($ict.remresc,[e.data.name]))&&$ocms.postXT({url:$ocms.url("rem/resend"),timeout:60,data:{id:e.data.id},success:t=>{alert(string($ict.remresr,[e.data.name]))},error:()=>{alert($t.f1)}})},$inv.dspRem=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/getrem"),timeout:60,data:{id:e,drafts:!1},success:e=>{n.ft.empty();let i=$$.tblset({class:"invtbl"},t.empty()),r=$invcol.rem2,a=$$.tr(i.hd);$$.th(a);$.each(r.fields||[],((e,t)=>{$$.th(a).text(t.label)}));let s=!1;$.each(e,((e,t)=>{s=!s;let n=$$.tr(i.bdy).tC("alt",s),a=$$.td(n);n.click((function(){n.tC("selected").siblings().rC("selected")})),!0===bool(t.hasFile,!1)&&($$.dc("idl ilbtn",a,{title:$ict.dl+"\n"+t.DocumentName}).append(gi("save-file","ico")).click({id:t.Id},$inv.downloadrem),$$.dc("idl ilbtn",a,{title:$ict.remdsp+"\n"+t.DocumentName}).append(gi("eye-open","ico")).click({id:t.Id,typ:"rem"},$inv.jdisp),$$.dc("idl ilbtn",a,{title:$ict.remres+"\n"+t.DocumentName}).append(gi("refresh","ico")).click({id:t.Id,typ:"rem",name:t.DocumentName},$inv.resendRem)),$.each(r.fields||[],((e,i)=>{let r=$$.td(n).aC(i.dtype),a=t[i.name];if("function"==typeof i.dfnc)i.dfnc.call(r,a,t);else switch(i.type||""){case"date":r.text(fdt(t[i.name],"dd.MM.yy"));break;case"datetime":r.text(fdt(t[i.name]));break;case"html":r.append($$.dc("ctw").html(a)),r.append($$.dc("ttip").html(a));break;default:r.text(t[i.name])}if("InvoiceId"===(i.name||""))r.aC("keep");switch(typeof i.title){case"function":i.title.call(r,t);break;case"string":r.attr("title",cs.title)}}))}))},error:()=>{t.empty(),n.ft.rwText($t.f1)},complete:()=>{t.ldng(0)}})},$inv.ccRem=function(e,t){$(this);$ocms.postXT({url:$ocms.url("rem/lrem"),timeout:60,data:{id:e},success:n=>{let i=$invcol.rid.clone();i.applyValues(n.ov);let r=$$.dc("ac"),a=$$.tblset({class:"fullgrid fullwidth"},r);if((n.lst||[]).length>0){$$.d({style:"margin: 1.5rem 0 1rem 0;font-size: 110%;text-decoration: underline;"}).prependTo(r).text($ict.rovlh);let e=$$.tr(a.hd);$ict.rovl.forEach(((t,n)=>$$.th(e,t))),$.each(n.lst,((e,t)=>{$$.tr(a.bdy).append([$$.tdc("keep",t.subject),$$.tdc("currency",fnum(t.amount,$rct.cst)),$$.tdc("currency",fnum(t.amount_payed,$rct.cst)),$$.tdc("keep",fdt(t.DateFinalized,"dd.MM.yy"))])}))}else $$.td($$.tr(a.bdy),$ict.nd);$ocms.dlgform(i,{addcontent:r,title:string($ict.remdt,[t||"?"]),success:function(t){$inv.ccRem_s2(e,t)},typedvalues:!0})}})},$inv.rRemRw=function(e){let t=$(this),n=e.rm||{};t.empty().data({invoiceid:n.invoiceid,invoicedate:n.invoicedate,amount:n.amount,amount_payed:n.amount_payed});let i=[{lbl:$rct.cP,attr:{title:$rct.cP},data:t,fnc:$inv.eRowR}],r=$$.dc("axf").append($inv.rowCtxMenu(i));t.append([$$.tdc("aux").append(r),$$.tdc("keep",n.invoiceid),$$.tdc("keep",fdt(n.invoicedate,"dd.MM.yy")),$$.tdc("currency",fnum(n.amount,$rct.cst)),$$.tdc("currency",fnum(n.amount_payed,$rct.cst)),$$.tdc("currency",fnum(n.amount-n.amount_payed,$rct.cst))])},$inv.eRowR=function(e){let t=$(this),n=e.data,i=n.data()||{},r=$invcol.rem.clone().applyValues(i);$ocms.dlgform(r,{title:t.data("dialog")||"",success:function(e){let i=t.closest("table"),r=i.data();$.extend(r.rm,e),i.data(r),$inv.rRemRw.call(n,r),$inv.rd.syncAmount(r.rm.amount,r.rm.amount_payed)},typedvalues:!0})},$inv.ccRem_s2=function(e,t){$fis.lf(!1).rC("fix").aC("hd");let n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.rprev));$inv.eM(!1,!0);$$.dc("rfrm").ldng(1);$ocms.postXT({url:$ocms.url("rem/get"),timeout:60,data:$.extend({id:e},t),success:e=>{let t=e.rm||{},i=$$.dc("srq",n),r=$$.tblset({class:"invi"},i);r.ft=$$[0]("tfoot"),r.tbl.data($.extend({invid:t.invid,new:{}},e));let a=$$.tr(r.hd).aC("shd").append([$$.th().aC("aux")]);$ict.remHR.forEach((e=>$$.th(a,e))),$inv.rRemRw.call($$.tr(r.bdy),r.tbl.data()),r.ft.appendTo(r.tbl);let s={invoiceemail:"Email-Adresse ändern",subject:"Betreff ändern"},l=(e,t,i,a,l)=>{let d=$$.dc("inpfrm",n).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),c=$$.dc("content",d).rwText(t);$$.dc("axf",d).append($$.dc("ibtn edit",{title:s[i]||$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:c,nme:i,change:e=>{r.tbl.data("new")[i]=e}},l),$inv.eHtml)),r.tbl.data("new")[i]=t};l("tfrm",t.subject,"subject",0,null),l("adrfrm",t.invoiceaddress,"invoiceaddress",0,null),l("emailfrm",t.invoiceemail,"invoiceemail",0,null),$$.dc("sndfrm",n).append($$.dc("content").text(t.sender)),r.tbl.children("tbody").each($inv.bdysort),r.tbl.trigger("fds.inv");let d=r.tbl.data("new");d.amount=t.amount,d.amount_payed=t.amount_payed,$inv.rd.seed({rem:{invid:t.invid,type:t.type,invoiceid:t.invoiceid,invoicedate:t.invoicedate},new:d})},complete:()=>{}})},$inv.rprev=()=>{$inv.rd.preview()},$inv.sis=e=>{confirm($ict.sisc)&&$ocms.postXT({url:$ocms.url("inv/sis"),data:{id:e||""},success:e=>{}})},$inv.srs=e=>{confirm($ict.srsc)&&$ocms.postXT({url:$ocms.url("rem/srs"),data:{id:e||""},success:e=>{}})},$inv.mfrrel=e=>{$("#contentframe").ldng(),$ocms.postXT({url:$ocms.url("inv/mfrrel"),data:{id:e||""},success:e=>{$inv.rerenderinv()},complete:()=>{$("#contentframe").ldng(0)}})},$inv.sets={o:null,c:null,drag:null,isOpen:()=>!!$inv.sets.o,open:function(){let e=$inv.d.tbl();if(e.length<1||$inv.sets.isOpen())return;if(""===$inv.d.token()&&!e.data("dstate"))return;let t=$$.dc("setstruct");$inv.sets.c=t,$inv.sets.o=$ocms.dlg(t,{title:$ict.setst,size:[-1,960],exclusive:!1,close:()=>{$inv.sets.o=null,$inv.sets.c=null,$inv.sets.drag=null}});let n=e.data("dstate");n?$inv.sets.render(n):$inv.d.refresh()},title:e=>{let t=$$.d().html(e.t||"").text().replace(/\s+/g," ").trim();return""!==t?t:$ict.setsNoTitle||""},typLbl:e=>{let t=(e.typ||"").toString().toLowerCase();return($ict.settyp||{})[t]||e.typ||""},isSet:e=>"set"===(e.typ||"").toString().toLowerCase(),parentOf:(e,t)=>{let n=(null==e.SetItmId?"":e.SetItmId).toString(),i=(e.id||"").toString();if(""===n||n===i)return"";let r=t[n];return r&&$inv.sets.isSet(r)?n:""},isDescendant:(e,t,n)=>{let i={},r=n[e];for(;r;){let e=$inv.sets.parentOf(r,n);if(""===e||i[e])return!1;if(e===t)return!0;i[e]=!0,r=n[e]}return!1},canDrop:(e,t,n,i)=>!!e&&e.bid===n&&e.id!==t&&!$inv.sets.isDescendant(t,e.id,i),sync:e=>($inv.sets.c&&$inv.sets.c.aC("busy"),$inv.d.sync(e)),render:function(e){let t=$inv.sets.c;if(!t)return;let n=t.closest(".modal-body"),i=n.length?n.scrollTop():0;t.empty().rC("busy"),$$.dc("shint",t).text($ict.setsHint||""),(e.req||[]).forEach((e=>{if(!e)return;let n=(e.Id||"").toString();if(""===n)return;let i=(e.itm||[]).filter((e=>e&&""!==(e.id||""))),r={};i.forEach((e=>{r[(e.id||"").toString()]=e}));let a=$$.dc("sblock",t).data({bid:n});$inv.sets.rootZone($$.dc("sbhd",a).append($$.sc("nme",e.text||e.nme||n)),n,r);let s=$$.tblset({class:"stbl"},a),l=$$.tr(s.hd);($ict.setsHR||[]).forEach((e=>$$.th(l,e))),i.forEach((e=>$inv.sets.row(s.bdy,e,n,i,r))),$inv.sets.rootZone($$.dc("sroot",a).text($ict.setsRoot||""),n,r),$inv.sets.createBar(a,n,i,r)})),n.length&&n.scrollTop(i)},collapsed:{},hiddenByCollapse:function(e,t){let n={},i=e;for(;i;){let e=$inv.sets.parentOf(i,t);if(""===e||n[e])return!1;if($inv.sets.collapsed[e])return!0;n[e]=!0,i=t[e]}return!1},zone:function(e,t,n){let i=e.originalEvent||e,r=t[0].getBoundingClientRect(),a=(i.clientY||0)-r.top,s=r.height||1;return a<.3*s?"before":a>.7*s||!n?"after":"into"},clearDrop:()=>{$(".setstruct .dropok, .setstruct .dropbefore, .setstruct .dropafter").rC("dropok dropbefore dropafter")},row:function(e,t,n,i,r){let a=(t.id||"").toString(),s=parseInt(t.lvl||0,10)||0,l=$inv.sets.isSet(t),d=$inv.sets.parentOf(t,r),c=l&&!!$inv.sets.collapsed[a],o=$$.tr(e,{draggable:"true"}).aC("srow lvl"+s).tC("isset",l).tC("folded",c).data({id:a,bid:n});$inv.sets.hiddenByCollapse(t,r)&&o.aC("hid"),$$.tdc("grip",o).append(gi("move")).attr("title",$rct.mR),$$.tdc("pos",o).text(null!=t.p?t.p:"");let $=$$.tdc("typ",o);l&&$.append($$.sc("fold").attr("title",c?$ict.setsExpand:$ict.setsCollapse).append(gi(c?"triangle-right":"triangle-bottom")).click((e=>{e.stopPropagation(),c?delete $inv.sets.collapsed[a]:$inv.sets.collapsed[a]=!0;let t=$inv.d.tbl().data("dstate");t&&$inv.sets.render(t)}))),$.append($$.s($inv.sets.typLbl(t))),$$.tdc("qty",o).text(t.q||"");let u=$$.tdc("ttl",o).append($$.sc("ind").css("width",(1.4*s).toString()+"rem")).append($$.s($inv.sets.title(t)));if(l){let e=i.filter((e=>$inv.sets.parentOf(e,r)===a)).length;u.append($$.sc("cnt"," ("+e+")"))}let m=i.filter((e=>$inv.sets.parentOf(e,r)===d)),v=m.findIndex((e=>(e.id||"").toString()===a)),p=m.slice(0,v).some((e=>$inv.sets.isSet(e))),f=$$.tdc("act",o),h=(e,t,n,i,r)=>$$.dc("ibtn "+e,f,{title:n}).append(gi(t)).tC("disabled",!i).click((()=>{i&&$inv.sets.sync(r)}));h("up","arrow-up",$ict.setsUp,v>0,{Target:"set.move",Ref:a,Value:-1}),h("down","arrow-down",$ict.setsDown,v>=0&&v0,{Target:"set.level",Ref:a,Value:-1}),h("in","chevron-right",$ict.setsIn,p,{Target:"set.level",Ref:a,Value:1}),o.on("dragstart",(e=>{$inv.sets.drag={id:a,bid:n},o.aC("dragging");try{e.originalEvent.dataTransfer.setData("text/plain",a),e.originalEvent.dataTransfer.effectAllowed="move"}catch(e){}})).on("dragend",(()=>{o.rC("dragging"),$inv.sets.drag=null,$inv.sets.clearDrop()}));return o.on("dragover",(e=>{if(!$inv.sets.canDrop($inv.sets.drag,a,n,r))return;e.preventDefault();let t=$inv.sets.zone(e,o,l);o.rC("dropok dropbefore dropafter").aC("into"===t?"dropok":"before"===t?"dropbefore":"dropafter")})).on("dragleave",(()=>{o.rC("dropok dropbefore dropafter")})).on("drop",(e=>{e.preventDefault(),$inv.sets.clearDrop();let t=$inv.sets.drag;if($inv.sets.drag=null,!$inv.sets.canDrop(t,a,n,r))return;let i=$inv.sets.zone(e,o,l);"into"===i?$inv.sets.sync({Target:"set.assign",Ref:t.id,Value:{parent:a}}):$inv.sets.sync({Target:"set.move",Ref:t.id,Value:{anchor:a,where:i}})})),o},rootZone:function(e,t,n){return e.on("dragover",(i=>{(()=>{let e=$inv.sets.drag;return!!e&&e.bid===t&&!!n[e.id]&&""!==$inv.sets.parentOf(n[e.id],n)})()&&(i.preventDefault(),e.aC("dropok"))})).on("dragleave",(()=>{e.rC("dropok")})).on("drop",(i=>{i.preventDefault(),e.rC("dropok");let r=$inv.sets.drag;$inv.sets.drag=null,r&&r.bid===t&&n[r.id]&&""!==$inv.sets.parentOf(n[r.id],n)&&$inv.sets.sync({Target:"set.assign",Ref:r.id,Value:{parent:""}})})),e},createBar:function(e,t,n,i){let r=$$.dc("screate",e),a=$("").attr({name:"typ"}).append([$$.opt("set",$ict.settyp.set),$$.opt("text",$ict.settyp.text)]),s=$("").attr({name:"parent"}).append($$.opt("",$ict.setsTop));n.forEach((e=>{if(!$inv.sets.isSet(e))return;let t=parseInt(e.lvl||0,10)||0;s.append($$.opt((e.id||"").toString()," ".repeat(3*t)+$inv.sets.title(e)))}));let l=$('').attr({name:"title",placeholder:$ict.setsTitle,maxlength:250}),d=()=>{let e=(l.val()||"").toString().trim();""!==e?($inv.sets.sync({Target:"set.create",Ref:t,Value:{typ:a.val(),title:e,parent:s.val()||""}}),l.val("")):l.focus()};return l.on("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),d())})),r.append([$$.sc("lbl",$ict.setsNew),a,$$.sc("lbl",$ict.setsInto),s,l,$$.bbtn($ict.setsAdd,"sadd").click(d)]),r}}; \ No newline at end of file +let $rct={mdl:"Aufträge",or:"offene Aufträge",orr:"offene Aufträge (4 W)",rn:"Auftragsnummer",iov:{all:"Auftragsübersicht (alle)","":"Auftragsübersicht"},wk:"Woche",nd:"Keine Daten gefunden.",h:"Uhr",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",rq1f:"Die Auftragsdaten von MFR konnten nicht oder nicht schnell genug abgerufen werde.\nMöchten Sie mit den bestehenden Daten trotzdem weitermachen?",note1:"Im Bruttobetrag sind {0} Lohnkosten enthalten (netto {1}). Die darin enthaltene Umsatzsteuer beträgt {2}.",note2:"Bitte beachten Sie, nach §14 Abs. 1 Umsatzsteuergesetz ist diese Rechnung ein Zahlungsbeleg oder eine andere beweiskräftige Unterlage für 2 Jahre nach Ablauf des Kalenderjahres der Ausstellung dieser Rechnung aufzubewahren, soweit nicht aufgrund anderer gesetzlicher Regelungen andere ggf.längere Aufbewahrungsfristen gelten.",note3:"Privathaushalten erstattet das Finanzamt bis zu {0} des Arbeitslohns mit der nächsten Steuererklärung.",note4:"Für bereits erbrachte Arbeiten, Dienstleistungen, Materiallieferungen und getätigte Bestellvorgänge zum oben genannten Bauvorhaben, die sich aus dem mit Ihnen geschlossenen Vertrag ergeben, stellen wir Ihnen vertragsgemäß unsere Akontozahlung in Rechnung. Eine Endabrechnung erhalten Sie als Schlussrechnung nach Abschluss des gesamten Bauvorhabens. Das Ausführungsdatum entnehmen Sie bitte dem Schlusstext dieser Rechnung. Wir danken Ihnen herzlich für das entgegengebrachte Vertrauen und bitten Sie um kurzfristigen Ausgleich der Akontorechnung.",note13b:"Gem. §13b Umsatzsteuergesetz unterliegen Sie der Steuerschuldnerschaft des Leistungsempfängers zur Umsatzsteuer aus dieser Rechnung mit einem Steuersatz von 19%.",crI:"Rechnung erstellen",crII:"Abschlagsrechnung erstellen",dII:"Für eine Abschlagsrechnung darf nur ein Auftrag gewählt werden.",dnS:"Für eine Rechnung muss mindestens ein Auftrag gewählt werden.",inv:"Rechnung",invs:"Rechnungen",req:"Auftrag",provP:"Leistungszeitraum",provD:"Leistungsdatum",cP:"Position ändern",iRb:"Zeile darunter einfügen",dR:"Zeile löschen",sV:"USt festlegen",cD:"Löschen?",mR:"Zeile verschieben",ctxM:"Weitere Aktionen",noteToggle:"Notiz ein-/ausblenden",sectionTitleEditTT:"Auftragsbezeichnung ändern",svcPart:"Service-Anteil",vat:"Umsatzsteuer",combP:"Positionen zusammenfassen",toSetP:"Auf Setpreis umstellen (Positionen ohne Preis)",toSetPc:"Der Set-Preis wird auf die Summe seiner Positionen gesetzt und die Positionen selbst verlieren ihren Preis. Das ist nicht rückgängig zu machen (der Betrag kann danach nur noch manuell geändert werden). Fortfahren?",toSetMc:"Jedes Set erhält die Summe seiner Positionen als Set-Preis; die Positionen des Sets werden ohne Preis dargestellt bzw. ausgeblendet. Positionen ausserhalb eines Sets bleiben unverändert einzeln aufgeführt. Das ist nicht rückgängig zu machen (die Set-Preise können danach nur noch manuell geändert werden). Fortfahren?",toSetMn:'Diese Rechnung enthält kein Set. Legen Sie zuerst über "Set-Struktur bearbeiten" ein Set an bzw. ordnen Sie Positionen einem Set zu.',iSum:"Zwischensumme",dtRel:"Freigegeben am: ",dtCr:"Erstellt am: ",rqV:"USt des Auftrags?",cthd:"wirklich aus-/einblenden ?",cst:{style:"currency",currency:"EUR"},sts:{IsWorkDone:"Arbeiten erledigt",Closed:"Auftrag geschlossen",SubcontractorPendingConfirmation:"Warten auf Bestätigung (Unterauftrag)",Scheduled:"Geplant",OfferIsRejected:"Angebot abgelehnt",OfferIsSend:"Offen (Angebot versandt)",CollaborationWaitingConfirmation:"Warten auf Bestätigung (Zusammenarbeit)",Released:"Freigegeben",OfferIsConfirmed:"Bestätigt",InProgress:"In Bearbeitung",ReadyForScheduling:"Zur Planung",Created:"Erstellt",Rejected:"Abgebrochen",Invoiced:"Rechnung gestellt","-":"-"},invHR:["Pos.","Menge","Artikelbezeichnung","VK","Summe"],frm:{invoicetitle:"Titel",invoiceaddress:"Adresse",loc:"Leistungsort / Lieferadresse",invoiceemail:"Email",invoiceemailcc:"Zusatzempfänger (CC)",provisionperiod:"Leistungsdatum / -zeitraum"},frmTT:{invoicetitle:"Rechnungstitel ändern",invoiceaddress:"Rechnungsempfänger-Adresse ändern",loc:"Leistungsort oder Lieferadresse ändern",invoiceemail:"Email-Adresse ändern und zusätzliche Email-Empfänger festlegen",provisionperiod:"Leistungsdatum oder -zeitraum ändern"}},$rcol={req:new fields_definition("Auftrag","Aufträge",[{name:"tags",label:"",type:"string",dfnc:function(e,t){""!==(e||"")&&($(this).aC("tags"),e.split(",").forEach((e=>{""!==e&&$(this).append($$.sc("tag "+e.replace(" ","_").replace("/","_").toLowerCase(),e))})))}},{name:"DateOfCreation",label:"Datum",type:"date",title:function(e){$(this).attr("title",$rct.dtCr+fdt(e.DateOfCreation).ne("-")+" \n"+$rct.dtRel+fdt(e.DateReleased).ne("-"))}},{name:"CustomerName",label:"Kunde (Firma)",type:"string"},{name:"Name",label:"Auftragsname",type:"string"},{name:"ExternalId",label:"Auftragsnummer",type:"string"},{name:"ParentExtenalId",label:"PAuftrag",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string",dfnc:function(e,t){$(this).rwText(e," ").find("span").each((function(){$(this).aC("cla").click({id:$(this).text()},$inv.jdbn)}))}},{name:"State",label:"Status",type:"string"},{name:"WorkDoneAt",label:"Erledigt am",type:"date"},{name:"Description",label:"Beschreibung",type:"html"}]),itm:new fields_definition("Auftragsposition","Auftragspositionen",[{name:"NameOrNumber",label:"Bezeichnung",type:"string"},{name:"Type",label:"Typ",type:"select",required:!0,value:"Text",url:[{value:"Text",label:"Text"},{value:"Equipment",label:"Ausrüstung"},{value:"Material",label:"Material"},{value:"Service",label:"Arbeitsleistung"}],change:function(e){$req.quantChange.call(this,e)}},{name:"quantityhours",label:"Anzahl / Menge",type:"number",precision:"0.01",value:1,change:function(e){$inv.quantChange.call(this,e)}},{name:"UnitString",label:"Einheit",type:"select",url:["LFDM","Stck","Std.","QM","AW","Pauschal"],change:function(e){$inv.quantChange.call(this,e)}},{name:"net",label:"EinzelPreis netto",type:"number",precision:"0.01",value:0,change:function(e){$inv.quantChange.call(this,e)}},{name:"net_val",label:"GesamtPreis netto",type:"number",precision:"0.01",value:0},{name:"vat_val",label:"GesamtPreis USt",type:"number",precision:"0.01",value:0},{name:"svcnet_val",label:"Arbeitslohn netto",type:"number",precision:"0.01",value:0},{name:"svcvat_val",label:"Arbeitslohn USt",type:"number",precision:"0.01",value:0},{name:"net_pos",label:"Netto",type:"string"},{name:"bo_pos",label:"Brutto",type:"string"},{name:"vat",label:"USt",type:"string",value:"19,0%",change:function(e){$inv.quantChange.call(this,e)}},{name:"Note",label:"Details",type:"html",tinymce:!0}])},$ict={mdl:"Rechnungen",iov:{all:"Rechnungen (alle)","":"Rechnungen (nur fertige)","#d":"Rechnungen (nur Entwürfe)","#u":"Rechnungen (nur unbezahlt)","#r":"Rechnungen (nur angemahnt)","#a":"Rechnungen (nur Akonto)","#c":"Rechnungen (nur Storno)","#ru":"Rechnungen (nur angemahnt + unbez.)"},uba:", gesamter Zeitraum)",req:"Auftrag",inv:"Rechnung",rem:"Mahnung",in:"Rechnungsnummer",cc:"Kunde",wk:"Woche",nd:"Keine Daten gefunden.",dl:"Herunterladen",ed:"Bearbeiten",ced:"Bearbeitung fortsetzen",sItm:"Einzelheiten anzeigen",sPay:"Zahlungen anzeigen",cdI:"Entwurf der Rechnung löschen?",rel:"Neu Laden",relm:"Bitte laden Sie Liste manuell neu, um die Änderungen zu sehen.",dsp:"Rechnung anzeigen",storno:"Storno-Rechnung erstellen",credit:"Gutschrift erstellen",remd:"Mahnung erstellen",remdt:"Mahnung erstellen zur Rechnung {0}",remlst:"Mahnungen anzeigen",remdsp:"Mahnung anzeigen",remres:"Mahnung erneut senden",remresc:"Mahnung {0} wirklich erneut senden?",remresr:"Mahnung {0} wurde erfolgreich versandt.",setpyd:"Bezahlt markieren",cpyd:"Rechnung wirklich als bezahlt markieren?",setupd:"Bezahlt-Markierung aufheben",cupd:"Bezahlt-Markierung wirklich aufheben?",ivE:"Die Email-Adresse ist vermutlich nicht gültig.",ivEc:"\nMöchten Sie fortfahren?",pna:"Diese Seite ist in der Vorschau nicht verfügbar",tpe:"Die Anzahl von {0} Seiten wird aktuell nicht unterstützt",eis:"Der Rechnungsentwurf konnte nicht gespeichert werden.",iss:"Zwischenstand speichern.",p13b:"USt -> §13b",setm:"Set-Preisanzeige",setmo:{setprice:"Set mit Preis – Positionen ohne Preis",setonly:"Nur Set mit Preis – Positionen ausgeblendet"},setst:"Set-Struktur bearbeiten",setsHint:'Reihenfolge: Zeile per Drag & Drop an den oberen/unteren Rand einer anderen Zeile ziehen (davor/danach) oder ▲▼ nutzen. Zuordnung: Zeile auf die Mitte eines Sets ziehen (hinein) bzw. auf die Auftragszeile oder "oberste Ebene" (aus dem Set lösen); ◀▶ ändert die Ebene. Sets lassen sich über das Dreieck zu-/aufklappen und auch zugeklappt verschieben – ihre Positionen wandern mit. Änderungen werden sofort übernommen.',setsUp:"Nach oben (innerhalb der Ebene)",setsDown:"Nach unten (innerhalb der Ebene)",setsCollapse:"Set zuklappen",setsExpand:"Set aufklappen",setsHR:["","Pos.","Typ","Menge","Bezeichnung","Reihenfolge / Ebene"],setsRoot:"Hierher ziehen = aus dem Set lösen (oberste Ebene)",setsOut:"Eine Ebene höher (aus dem Set lösen)",setsIn:"Eine Ebene tiefer (dem vorangehenden Set zuordnen)",setsNew:"Neu:",setsInto:"in",setsTop:"oberste Ebene",setsTitle:"Bezeichnung",setsAdd:"Hinzufügen",setsNoTitle:"(ohne Bezeichnung)",settyp:{set:"Set",text:"Text",title:"Text",material:"Material",service:"Arbeitsleistung",equipment:"Ausrüstung",other:"Position",osum:"Zusammenfassung",intinvoiceallocation:"Abschlag",intinvoiceallocationdiff:"Abschlag (offen)"},ctp:"Ansprechpartner festlegen",mfr:"Von MFR neu abrufen",rq1:"Auftragsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",rq2:"Auftragsdaten werden geladen",iq1:"Rechnungsdaten werden von MFR abgerufen.\nDer Vorgang kann bis zu 90Sek dauern.",iq2:"Rechnungsdaten werden geladen",sis:"Rechnung als versandt markieren",srs:"Mahnung als versandt markieren",sisc:"Rechnung wirklich als versandt markieren?",srsc:"Mahnung wirklich als versandt markieren?",iSt:{dft:"Entwurf",uns:"nicht versandt",pyd:"bezahlt",cc:"storniert",op:"offen",due:"fällig",ovd:"überfällig",rem:"angemahnt"},rSt:["","Überfällig","2. Mahnung","3. Stufe"],pSt:{a:"Vollst.",p:"Teilz."},ivT:{i:"AbschlagsR.",f:"SchlussR",r:"Rechnung",c:"StornoR."},rovlh:"Übersicht der bisherigen Mahnungen",rovl:["Betreff","Betrag","Betrag gezahlt","fertiggestellt am"],remHR:["Rechnung","vom","Rechnungsbetrag","bereits bezahlt","noch offen"],translatePaymentTerm:e=>(e||"").replace("wd"," Werktagen").replace("d"," Tagen").replace("wk"," Wochen")||"10 Tagen",payi:{account:"Konto",name:"Zahler",text:"Verw.Zweck",InvoiceID:"Rechnung",amount:"Betrag",date:"Datum",manual:"Typ"}},$invcol={datev:new fields_definition("Rechnung","Rechnungen",[{name:"Umsatz (ohne Soll/Haben-Kz)",label:"Umsatz (ohne Soll/Haben-Kz)",type:"string"},{name:"vf",label:"vf",type:"string"},{name:"Soll/Haben-Kennzeichen",label:"Soll/Haben-Kennzeichen",type:"string"},{name:"Konto",label:"Konto",type:"string"},{name:"Gegenkonto",label:"Gegenkonto",type:"string"},{name:"BU-Schlüssel",label:"BU-Schlüssel",type:"string"},{name:"Belegdatum",label:"Belegdatum",type:"string"},{name:"Belegfeld 1",label:"Belegfeld 1",type:"string"},{name:"Belegfeld 2",label:"Belegfeld 2",type:"string"},{name:"Buchungstext",label:"Buchungstext",type:"string"}]),inv:new fields_definition("Rechnung","Rechnungen",[{name:"invstatus",label:"Status",type:"select",url:$ict.iSt},{name:"balance",label:"Umsatz",type:"string",dtype:"currency"},{name:"CustomerName",label:"Kunde",type:"string"},{name:"InvoiceId",label:"RNummer",type:"string"},{name:"InvoiceType",label:"Typ",type:"select",url:$ict.ivT},{name:"request",label:"Auftrag",type:"string",dtype:"num"},{name:"vat",label:"MwSt",type:"string",dtype:"num"},{name:"deb_cred",label:"Soll/Haben",type:"string"},{name:"customer",label:"Konto",type:"string",dtype:"num"},{name:"contra_account",label:"Gegenkonto",type:"string",dtype:"num"},{name:"Belegdatum",label:"Belegdatum",type:"date"},{name:"reminderstatus",label:"MahnStatus",type:"select",url:$ict.rSt},{name:"reminder",label:"# Mahnungen",type:"integer"},{name:"Buchungstext",label:"Buchungstext",type:"string"},{name:"Payment",label:"Zahlung",type:"string"}]),rem:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"amount",label:"Rechnungsbetrag",type:"number",precision:"0.01",value:1},{name:"amount_payed",label:"bereits bezahlt",type:"number",precision:"0.01",value:1}]),rem2:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"DocumentName",label:"Name",type:"string"},{name:"subject",label:"Betreff",type:"string"},{name:"DateSent",label:"Versanddatum",type:"date"},{name:"status",label:"Status",type:"string"},{name:"amount_open",label:"offener Betrag",type:"number",precision:"0.01"},{name:"InvoiceId",label:"RNummer",type:"string"}]),rid:new fields_definition("Zahlungserinnerung","Zahlungserinnerung",[{name:"type",label:"Typ",type:"select",url:[["f","einfache Zahlungserinnerung"],["m","Mahnung"],["l","letzte Mahnung"]],required:!0},{name:"level",label:"Stufe",type:"select",url:[["1","Stufe 1"],["2","Stufe 2"],["3","Stufe 3"],["4","Stufe 4"],["5","Stufe 5"],["6","Stufe 6"]],required:!0}]),ctp:new fields_definition("Ansprechpartner","Ansprechpartner",[{name:"name",label:"Name",type:"string"},{name:"email",label:"Email",type:"string"}])},gi=(e,t)=>$$.sc("glyphicon glyphicon-"+e).aC(t),$inv={},$req={init2:function(e,t){e=e||"inv",t=t||{},$ocms.getScript([],(function(){$req.init3(e,t)}))},init3:async function(e,t){$fis.cf(!0);let n=$fis.lf(!0);$("#topbar").ocmsmenu([]),$("#activemodule").text($rct.mdl),await $fis.prepAuth("fds_req,fds_inv,fds_reminder");let i=[(async()=>{!0===$fis.isAuth("fds_req",1)&&($req.prepLst(""),n.aC("fix"))})(),new Promise(((e,t)=>{n.find("div.oreq2").aC("selected"),$req.renderreq(fdt(new Date,"yy-MM-dd"),"r"),e()}))];await Promise.all(i)},prepLst:function(e){let t=new Date,n=$fis.lf(!0).ldng(1),i=new Date("2021-01-01");$fis.frm_list().IN((function(){}));$$.dc("mth oreq",n).text($rct.or).click((function(e){let t=$(this);e.stopPropagation(),t.siblings().rC("selected"),!0===t.is(".selected")&&(t.tC("selected"),$req.renderreq(fdt(new Date,"yy-MM-dd"),"o")),t.aC("selected")})),$$.dc("mth oreq2",n).text($rct.orr).click((function(e){let t=$(this);e.stopPropagation(),t.siblings().rC("selected"),!0===t.is(".selected")&&(t.tC("selected"),$req.renderreq(fdt(new Date,"yy-MM-dd"),"r")),t.aC("selected")})),$$.i({placeholder:$rct.rn}).appendTo($$.dc("mth oreqn",n)).enterKey((function(e){let t=$(this),n=t.val()||"";e.stopPropagation(),t.parent().siblings().rC("selected"),n.length>3&&(t.parent().aC("selected"),$req.renderreq("n:"+n,"s"),t.val(""))}));n.append("
");let r=$$.dc("mthl",n),a=t.getFullYear(),s=t.getMonth()+1;for(let t=i.getFullYear();t<=a;t++){let n=$$.dc("yr").prependTo(r).text($rct.iov[e]+" - "+t.toString()).toggleClass("selected",t===a);n.click({yr:t},(function(e){e.stopPropagation(),n.siblings().rC("selected"),n.aC("selected")}));let l=$$.dc("mfrm",n);for(let n=0;n<(t!==a?12:s);n++){i=new Date(t,n,1);let r=$$.dc("mth").prependTo(l).text($rct.iov[e]+" - "+fdt(i,"MMM yyyy"));r.click({yr:t,mt:n},(function(e){if(e.stopPropagation(),r.siblings().rC("selected"),!0===r.is(".selected")){r.tC("selected");let t=fdt(new Date(e.data.yr,e.data.mt,1),"yy-MM-dd");$req.renderreq(t,"m")}r.aC("selected")}));let a=getMonday(i),s=new Date(i);s.setMonth(s.getMonth()+1),s.setDate(0),s=getMonday(s);let d=$$.dc("wfrm",r);for(;a<=s;){let e=$$.dc("wk",d).text(($rct.wk||"W")+" "+fdt(a,"dd.MM.yy"));e.click({rd:new Date(a)},(function(t){t.stopPropagation();let n=fdt(t.data.rd,"yy-MM-dd");$req.renderreq(n,"w"),r.siblings().rC("selected").find(".wk").rC("selected"),r.aC("selected").find(".wk").rC("selected"),e.aC("selected")}));let t=$$.dc("wkdl",e).append($$.sc("ico glyphicon glyphicon-compressed"));!0===$fis.isAuth("fds_inv",2)&&t.click({rd:new Date(a)},(function(e){e.stopPropagation();let t=fdt(e.data.rd,"yy-MM-dd");$req.downloadzip.call(t,"w")})),a.setDate(a.getDate()+7)}}}n.ldng(0)},renderreq:function(e,t){let n=$fis.frm_list().ldng(1),i=$$.dc("invfrm",n).aC("md"+t),r=$fis.lf();$ocms.postXT({url:$ocms.url("req/reql"),data:{mode:t,tgt:e},success:n=>{r.rC("fix").aC("hd"),$$.dc("ovhd",i).append($$.s(n.admin.title)).appendIf($$.sc("note",n.admin.note),""!==ne(n.admin.note,""));let a=$$.tblset({},i),s=$rcol.req,l=$$.tr(a.hd);$$.th(l);$.each(s.fields||[],((e,t)=>{$$.th(l).text(t.label),"vat"===t.name&&$$.th(l)}));let d=0,c=!1;$.each(n.requests||[],((n,l)=>{d>0&&d!==l.ParentServiceRequestId&&(c=!c);let o=$$.tr(a.bdy).tC("alt",c);d=l.ParentServiceRequestId,o.click((function(){r.rC("fix").aC("hd"),o.tC("selected").siblings().rC("selected").find("td.av").rC("av"),o.find("td.av").rC("av")})),o.tC("child",l.isChild);let u=$$.td(o,{class:"raux"});!0===bool(l.open,!1)&&$$.dc("ihd ilbtn",u).append(gi("eye-close","ico")).click({id:l.Id},$req.tHd),$$.dc("iitm ilbtn",u).append(gi("list","ico")).click({id:l.Id},$req.showitm),!0===$fis.isAuth("fds_inv",2)&&$$.dc("invc ilbtn",u).append(gi("edit","ico")).click({id:l.Id},$inv.cInv),$.each(s.fields||[],((n,r)=>{let a=$$.td(o).aC(r.dtype),s=l[r.name];if("function"==typeof r.dfnc)r.dfnc.call(a,s,l);else switch(r.type||""){case"date":a.text(fdt(l[r.name],"dd.MM.yy"));break;case"datetime":a.text(fdt(l[r.name]));break;case"html":a.append($$.dc("ctw").html(s)),a.append($$.dc("ttip").html(s));break;default:a.text(l[r.name])}switch(r.name||""){case"State":a.text($rct.sts[s||"-"]);break;case"Name":a.aC(r.name.toLowerCase());break;case"vat":$$.sel().appendTo($$.td(o,{class:"vsel"})).click((function(e){e.stopPropagation()})).append([$$.opt("19,0 %","19,0 %"),$$.opt("16,0 %","16,0 %"),$$.opt("0,0 %","0,0 %")]).val(l[r.name]).change().change({frm:i,tgt:e,mode:t,id:l.Id,td:a},$req.setvat),a.tC("hl","19"!==l[r.name].substr(0,2)).click((function(e){e.stopPropagation(),$(this).tC("av")}));break;case"balance":a.aC("sh_"+(l.SollHaben||"").toLowerCase());break;case"InvoiceId":a.aC("keep")}switch(typeof r.title){case"function":r.title.call(a,l);break;case"string":a.attr("title",cs.title)}}))}))},complete:()=>{n.ldng(0)}})},tHd:function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&confirm($rct.cthd)&&$ocms.postXT({url:$ocms.url("req/rthd"),data:{id:e.data.id},success:n=>{n.id===e.data.id&&!1===bool(n.visible,!0)?(!1===t.is(".tbhd")&&setTimeout((()=>{t.filter(".tbhd").remove()}),15e3),t.aC("tbhd")):n.id===e.data.id&&t.rC("tbhd")}})},showitm:function(e){let t=$(this).closest("tr");if(e.stopPropagation(),!1===t.is(".selected"))return;let n=$$.dc("rfrm").ldng(1);$ocms.postXT({url:$ocms.url("req/pget"),data:{id:e.data.id},success:t=>{$ocms.postXT({url:$ocms.url("req/get"),data:{id:e.data.id,mode:"ful"},success:e=>{if((e.requests||[]).length<1)n.text($rct.nd);else{let t=$$.dc("srq",n),i=$$.tblset({class:"if"},t);$.each(e.requests||[],(function(e,t){e>0&&$$.tr(i.bdy).aC("sep").append($$.td({colspan:6}));let n=$$.tr(i.bdy).aC("title"),r=$rcol.itm.lbl(),a=$inv.worknotes(t);$$.td(n,{colspan:6}).append([$$.s($rcol.req.label_sng),$$.sc("eid",t.ExternalId),$$.sc("nme",fdt(t.WorkDoneAt,"dd.MM.yy")+": "+a.ne(t.Name))]);$$.tr(i.bdy).aC("shd").append([$$.td(),$$.td(r.NameOrNumber),$$.td(r.Type),$$.td(r.net_pos),$$.td(r.bo_pos),$$.td(r.vat)]);$.each(t.items||[],((e,t)=>{t.ServiceRequestId;let n=$$.tr(i.bdy,{id:"itm"+t.Id}).aC(t.Type);$$.td(n).aC("ico"),$$.td(n).text(t.NameOrNumber),$$.td(n).text(t.Type),$$.td(n).aC("currency").text(t.net_pos),$$.td(n).aC("currency").text(t.bo_pos),$$.td(n).aC("num").text(t.vat)}))}))}},error:()=>{n.text($t.t12)},complete:()=>{n.ldng(0)}})},error:()=>{n.text($t.t12),n.ldng(0)}}),$ocms.dlg(n,{width:1e3})}},$$req={init2:$req.init2,auth:{}};export default $$req;$inv.cInv=function(e){let t=$(this).closest("tr");e.stopPropagation(),!1!==t.is(".selected")&&!1!==$fis.isAuth("fds_inv",2)&&$inv.cInv2({id:e.data.id})},$inv.rMn=e=>{let t=[{lbl:$ict.req,itm:[]}];return!0===bool(e,!1)&&!0===$fis.isAuth("fds_inv",2)&&Array.prototype.push.apply(t[0].itm,[{lbl:$rct.crI,fnc:$inv.ccInv,data:{typ:"r"}},{lbl:$rct.crII,fnc:$inv.ccInv,data:{typ:"i"}}]),t.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(t)},$inv.iMnr=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),r=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?r[1].itm.push({lbl:$ict.ced,fnc:$inv.clCntInv}):!0===$fis.isAuth("fds_inv",1)&&r[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===i&&!0===t&&!0===$fis.isAuth("fds_inv",2)&&(r[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),r[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&(r[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),r[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)})),!0===t&&!0===$fis.isAuth("fds_reminder",2)&&!1===booln(e.IsSent,!1)&&r[2].itm.push({lbl:$ict.srs,fnc:()=>$inv.srs(n)}),r.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(r)},$inv.iMn=e=>{let t=booln(e.isFinal,!0),n=e.Id,i=booln(e.fds,!1),r=[{glyph:"glyphicon-menu-left",fnc:()=>{$fis.frm_edit().remove()}},{lbl:$ict.inv,itm:[]},{lbl:$ict.rem,itm:[]}];return!1===t&&!0===$fis.isAuth("fds_inv",2)?r[1].itm.push({lbl:$ict.ced,fnc:()=>{$inv.cntInv({id:n})}}):!0===$fis.isAuth("fds_inv",1)&&r[1].itm.push({lbl:$ict.dsp,fnc:()=>$inv.disp(n,"inv")}),!0===$fis.isAuth("fds_inv",2)&&(r[1].itm.push({lbl:$ict.storno,fnc:()=>$inv.storno(n,i)}),r[1].itm.push({lbl:$ict.credit,fnc:()=>$inv.credit(n,i)})),!0===t&&!1===booln(e.IsPayed,!1)?(!0===$fis.isAuth("fds_reminder",2)&&r[2].itm.push({lbl:$ict.remd,fnc:()=>$inv.ccRem(n,e.InvoiceId)}),!0===$fis.isAuth("fds_inv",2)&&r[1].itm.push({lbl:$ict.setpyd,fnc:()=>$inv.setPyd(n)})):!0===t&&!0===booln(e.IsPayed,!1)&&"m"===(e.PaymentStatus||"")&&!0===$fis.isAuth("fds_inv",2)&&r[1].itm.push({lbl:$ict.setupd,fnc:()=>$inv.setUpd(n)}),!0===$fis.isAuth("fds_reminder",2)&&r[2].itm.push({lbl:$ict.remlst,fnc:()=>$inv.dspRem(n)}),!0===t&&!0===$fis.isAuth("fds_inv",2)&&!1===booln(e.IsSent,!1)&&r[1].itm.push({lbl:$ict.sis,fnc:()=>$inv.sis(n)}),!1===i&&r[1].itm.push({lbl:$ict.mfr,fnc:()=>$inv.mfrrel(n)}),$("#topbar").ocmsmenu(r)},$inv.emOpt=()=>"iss,p13b,ctp,setst,setm",$inv.eM=(e,t,n)=>{let i=[];return!0!==booln(e,!1)&&!0!==booln(t,!1)||i.push({glyph:"glyphicon-menu-left",fnc:()=>{$fis.lf(!0),$fis.frm_edit().remove()}}),!0===(n||"").split(",").includes("iss")&&i.push({lbl:$ict.iss,fnc:$inv.ssave}),!0===(n||"").split(",").includes("ctp")&&i.push({lbl:$ict.ctp,fnc:$inv.sctp}),!0===(n||"").split(",").includes("p13b")&&i.push({lbl:$ict.p13b,fnc:$inv.sp13b}),!0===(n||"").split(",").includes("setm")&&i.push({lbl:$ict.setm,fnc:$inv.ssetmode}),!0===(n||"").split(",").includes("setst")&&i.push({lbl:$ict.setst,fnc:()=>$inv.sets.open()}),!0===(n||"").split(",").includes("iss")&&(i.push({lbl:"Änderungshistorie",fnc:()=>$inv.d.history()}),i.push({lbl:"Änderungen verwerfen",fnc:()=>$inv.d.discard()})),!0===booln(e,!1)&&i.push({lbl:$ict.rel,fnc:$inv.rReload}),$("#topbar").ocmsmenu(i)},$inv.d={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.d.tbl().data("dtoken")||""},hashes:function(){let e=$inv.d.tbl().data("bai")||[],t={};return $.each(e,((e,n)=>{t[(n.Id||"").toString()]=JSON.stringify(n)})),t},seed:function(e){let t=$inv.d.layout();t.aC("freeze");let n=$ocms.postXT({url:$ocms.url("inv/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.d.tbl().data("dtoken",e.token).data("dver",e.version).data("dhashes",$inv.d.hashes()).data("dorder",$inv.d.order()),$fis.draft.bind(e.token,{onReady:()=>$inv.d.refresh(),onExpiring:e=>$inv.d.warnExpiry(e),onClosed:e=>$inv.d.closed(e)}),$inv.d.refresh()},error:()=>{t.rC("freeze")},complete:()=>{$inv.d.tbl().removeData("dseeding").removeData("dseedpromise")}});return $inv.d.tbl().data("dseedpromise",n),n},refresh:function(e){let t=$inv.d.token();""!==t&&$ocms.postXT({url:$ocms.url("inv/dstate"),data:{token:t},success:t=>{$inv.d.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.d.closed("expired")},complete:()=>{$inv.d.layout().rC("freeze")}})},applyState:function(e){let t=$inv.d.tbl();if(t.length<1)return;let n=t.data("dver");"number"==typeof n&&"number"==typeof e.version&&e.version$$.dc("dnote").aC(e.style||"InvoiceNotes").text(e.text)))},applyItems:function(e,t){let n=e=>void 0===e?null:e;(t||[]).forEach((t=>{if(!t)return;let i=(t.Id||"").toString();if(""===i)return;let r=e.children("tbody").filter(((e,t)=>(($(t).data()||{}).Id||"").toString()===i)).first();if(r.length<1)return;let a=t.itm||[],s={},l=r.find("tr.title").first(),d=l.length?l:null;a.forEach((e=>{let t=(e.id||"").toString();if(""===t)return;s[t]=!0;let i=r.find("#itm"+t).first(),a=i.length<1;a&&(i=$$.tr(r,{id:"itm"+t,class:"itm"}));let l=i.data()||{},c=a||(l.Type||"")!==(e.typ||"")||l.net!==n(e.v)||l.net_val!==n(e.vt)||l.vat_val!==n(e.vv)||l.svcnet_val!==n(e.vs)||l.svcvat_val!==n(e.vsv)||(l.position||"")!==(null!=e.p?e.p:"")||(l.lvl||0)!==(e.lvl||0)||(l.SetItmId||null)!==(null!=e.SetItmId?e.SetItmId:null);$.extend(l,{Id:t,Type:e.typ,net:n(e.v),net_val:n(e.vt),vat_val:n(e.vv),svcnet_val:n(e.vs),svcvat_val:n(e.vsv),vat:e.vat,position:null!=e.p?e.p:"",SetItmId:null!=e.SetItmId?e.SetItmId:null,lvl:e.lvl||0}),a&&$.extend(l,{htmltext:e.t,quantity:e.q}),i.data(l),d?i.prev()[0]!==d[0]&&i.insertAfter(d):r.children().first()[0]!==i[0]&&r.prepend(i),d=i,c&&$inv.rrw.call(i)})),r.find("tr.itm").each(((e,t)=>{let n=(($(t).data()||{}).Id||"").toString();""===n||s[n]||$(t).remove()}))}))},applySetDisplay:function(e,t){e.find("tr.itm").each(((e,n)=>{let i=$(n),r=((i.data()||{}).Id||"").toString();if(""===r||!Object.prototype.hasOwnProperty.call(t,r))return;let a=t[r]||{};i.tC("sethdr",bool(a.h,!1)),!1===bool(a.p,!0)&&i.find("td.currency").text("")}))},sync:function(e){let t=$inv.d.token();if(""===t){let t=$inv.d.tbl().data("dseedpromise");return t?$.when(t).then((()=>$inv.d.sync(e))):$.when()}return $inv.d.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.d.refresh()},error:e=>{$inv.d.layout().rC("freeze"),e&&410===e.status&&$inv.d.closed("expired")}})},order:function(){return($inv.d.tbl().data("bai")||[]).map((e=>(e.Id||"").toString()))},syncChanged:function(e){let t=e.data("bai")||[],n=e.data("dhashes")||{},i={},r=[],a=[],s=[];$.each(t,((e,t)=>{let a=(t.Id||"").toString(),s=JSON.stringify(t);i[a]=s,n[a]!==s&&r.push(t)})),$.each(n,(e=>{void 0===i[e]&&a.push(e)}));let l=$inv.d.order(),d=e.data("dorder")||[];return e.data("dhashes",i).data("dorder",l),r.forEach((e=>s.push($inv.d.sync({Target:"block.replace",Ref:(e.Id||"").toString(),Value:e})))),a.forEach((e=>s.push($inv.d.sync({Target:"block.remove",Ref:e})))),d.length===l.length&&d.slice().sort().join(",")===l.slice().sort().join(",")&&d.join(",")!==l.join(",")&&s.push($inv.d.sync({Target:"block.order",Value:l})),$.when.apply($,s).promise()},syncField:function(e,t){let n={invoicetitle:"title",invoiceaddress:"address",invoiceemail:"email",invoiceemailcc:"emailcc",loc:"provisionlocation",provisionlocation:"provisionlocation",provisionperiod:"provisionperiod"}[e];n&&$inv.d.sync({Target:n,Value:t})},footer:function(e,t,n){let i=e.children("tfoot").empty();e.nextAll(".fnote").remove();let r=bool(n.p13b,!1),a=(e,t,n)=>$$.tdc("currency",$$.tr(i,{class:n||"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text(e)]),fnum(t,$rct.cst)),s=t=>$$.dc("fnote").insertAfter(e).rwText(t);a("Netto",t.total_net||0),!1===r&&$.each(t.vat||{},((e,t)=>a($rct.vat+" "+e+"%",t,"tvat"))),a("Summe",t.total_gross||0);let l=n.type||"";"i"===l?(s($rct.note2),s($rct.note4)):"c"===l?s($rct.note2):(s(string($rct.note3,[fnum(((t.service_net||0)+(t.service_vat||0))*(n.tax_servicerefund||0),$rct.cst)])).aC("ntax"),s($rct.note2),s(string($rct.note1,[fnum((t.service_net||0)+(t.service_vat||0),$rct.cst),fnum(t.service_net||0,$rct.cst),fnum(t.service_vat||0,$rct.cst)]))),!0===r&&s($rct.note13b)},validation:function(e){let t=$("div.invoice_layout");if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout(),n=($inv.d.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),r=Math.round(.88*vh()),a=n.total;a>10&&$$.dc("note warn",i).text($ict.tpe),$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(r-rpx(6)).toString()+"px"))}));for(let e=(n.img||[]).length+1;e<=a;e++)$$.dc("pdfp ph",i).append($$.dc("note",$ict.pna));$ocms.dlg(i,{size:[r,Math.round(.88*vw())],zindex:50,form:!1,button:$rct.crI,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("req/sconf"),data:{id:e.invid},success:t=>{i.trigger("modal_close"),!0===t.hasFile&&window.open($ocms.url("req/idoc")+"?id="+e.invid,"_blank"),$inv.d.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($ict.eis)}})},cancel:function(e){confirm($ict.cdI)&&($inv.d.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($ict.eis)}}))},save:function(){let e=$inv.d.token();if(""===e)return;let t=$inv.d.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("inv/dsave"),data:{token:e},success:e=>{$inv.d.tbl().data("invid",e.invid)},error:()=>{alert($ict.eis)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.d.token();""!==e&&$ocms.postXT({url:$ocms.url("inv/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},discard:function(){let e=$inv.d.tbl().data("invid")||"";""!==e?!1!==confirm("Alle Änderungen verwerfen und den zuletzt gespeicherten Stand neu laden?")&&($inv.d.close(),$inv.cntInv({id:e})):alert("Es wurde noch kein Zwischenstand gespeichert, der wiederhergestellt werden könnte.")},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Rechnungsentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.d.token();$inv.d.tbl().removeData("dtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Rechnungsentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Rechnungsentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.d.token();""!==e&&($ocms.postXT({url:$ocms.url("inv/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.d.tbl().removeData("dtoken")}},$inv.rd={tbl:()=>$("div.invoice_layout table.invi"),layout:()=>$("div.invoice_layout"),token:function(){return $inv.rd.tbl().data("rdtoken")||""},seed:function(e){let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dopen"),data:{payload:JSON.stringify(e)},success:e=>{$inv.rd.tbl().data("rdtoken",e.token).data("rdver",e.version),$fis.draft.bind(e.token,{onReady:()=>$inv.rd.refresh(),onExpiring:e=>$inv.rd.warnExpiry(e),onClosed:e=>$inv.rd.closed(e)}),$inv.rd.refresh()},error:()=>{t.rC("freeze")}})},refresh:function(e){let t=$inv.rd.token();""!==t&&$ocms.postXT({url:$ocms.url("rem/dstate"),data:{token:t},success:t=>{$inv.rd.applyState(t),"function"==typeof e&&e(t)},error:e=>{e&&410===e.status&&$inv.rd.closed("expired")},complete:()=>{$inv.rd.layout().rC("freeze")}})},applyState:function(e){let t=$inv.rd.tbl();if(t.length<1)return;let n=t.data("rdver");"number"==typeof n&&"number"==typeof e.version&&e.version{let t=$$[0]("p").aC("dnote intro").rwText(e);r.length?t.insertBefore(r):t.appendTo(n)})),((e||{}).closing||[]).forEach((e=>$$[0]("p").aC("dnote closing").rwText(e).appendTo(n)))},sync:function(e){let t=$inv.rd.token();""!==t&&($inv.rd.layout().aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpatch"),data:{token:t,delta:JSON.stringify(e)},success:()=>{$inv.rd.refresh()},error:e=>{$inv.rd.layout().rC("freeze"),e&&410===e.status&&$inv.rd.closed("expired")}}))},syncField:function(e,t){if(""===$inv.rd.token())return;let n={subject:"subject",invoiceaddress:"address",invoiceemail:"email",text:"text"}[e];n&&$inv.rd.sync({Target:n,Value:t})},syncAmount:function(e,t){""!==$inv.rd.token()&&($inv.rd.sync({Target:"amount",Value:(null!=e?e:0).toString()}),$inv.rd.sync({Target:"amount_payed",Value:(null!=t?t:0).toString()}))},footer:function(e,t){let n=e.children("tfoot").empty(),i=$$.tr(n,{class:"tsum"}).append([$$.tdc("aux"),$$.td({colspan:4}).text("Offener Betrag")]);$$.tdc("currency",i,fnum(t.amount_open||0,$rct.cst))},validation:function(e){let t=$inv.rd.layout();if(t.length<1)return;let n=t.children(".dvalidation");n.length<1&&(n=$$.dc("dvalidation"),t.prepend(n)),n.empty().tC("hidden",(e||[]).length<1),$.each(e||[],((e,t)=>$$.dc("dvmsg",n).aC(t.severity).text(t.message)))},preview:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout(),n=($inv.rd.tbl().data("new")||{}).invoiceemail||"";!1===$fis.ValidateEmail(n)&&!1===bool(confirm($ict.ivE+$ict.ivEc),!1)||(t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dpreview"),data:{token:e},success:n=>{t.rC("freeze");let i=$$.dc("imagecollection pdfpreview"),r=Math.round(.88*vh());$.each(n.img||[],((e,t)=>{$$.dc("pdfp",i).append($$.img(t).css("max-height",(r-rpx(6)).toString()+"px"))})),$ocms.dlg(i,{size:[r,Math.round(.88*vw())],zindex:50,form:!1,button:$ict.remd,confirm:function(n){let i=$(this);t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$ocms.postXT({url:$ocms.url("rem/conf"),data:{id:e.remid},success:()=>{i.trigger("modal_close"),window.open($ocms.url("rem/idoc")+"?id="+e.remid,"_blank"),$inv.rd.close(),$ocms.init("req"),$inv.rReload()},error:()=>{alert($t.f1),i.trigger("modal_close")},complete:()=>{t.rC("freeze")}})},error:()=>{t.rC("freeze"),alert($t.f1)}})},cancel:function(e){confirm($ict.cdI)&&($inv.rd.close(),$inv.rReload())}})},error:()=>{t.rC("freeze"),alert($t.f1)}}))},save:function(){let e=$inv.rd.token();if(""===e)return;let t=$inv.rd.layout();t.aC("freeze"),$ocms.postXT({url:$ocms.url("rem/dsave"),data:{token:e},success:e=>{$inv.rd.tbl().data("remid",e.remid)},error:()=>{alert($t.f1)},complete:()=>{t.rC("freeze")}})},history:function(){let e=$inv.rd.token();""!==e&&$ocms.postXT({url:$ocms.url("rem/dhistory"),data:{token:e},success:e=>{let t=$$.dc("dhist");if((e.history||[]).length<1)$$.dc("note",t).text("Noch keine Änderungen erfasst.");else{let n=$$.tblset({class:"invtbl fullwidth"},t);$$.tr(n.hd).append([$$.th().text("Zeit"),$$.th().text("Feld"),$$.th().text("Alt"),$$.th().text("Neu")]),$.each(e.history,((e,t)=>$$.tr(n.bdy).append([$$.tdc("keep",fdt(t.timestamp)),$$.td().text(t.target),$$.td().text(t.oldValue),$$.td().text(t.newValue)])))}$ocms.dlg(t,{width:800,form:!1})}})},warnExpiry:function(e){let t=Math.max(1,Math.round((e||0)/60));$fis.notifications.push({severity:"info",title:"Entwurf läuft ab",message:"Der Mahnentwurf läuft in etwa "+t+" Minute(n) ab. Bitte zwischenspeichern, sonst gehen die Änderungen verloren."})},closed:function(e){let t=$inv.rd.token();$inv.rd.tbl().removeData("rdtoken"),""!==t&&$fis.draft.release(t),$fis.frm_edit().remove(),$fis.lf(!0),$fis.notifications.push({severity:"error",title:"Entwurf geschlossen",message:"expired"===e?"Der Mahnentwurf ist wegen Inaktivität abgelaufen. Nicht gespeicherte Änderungen sind verloren.":"Der Mahnentwurf wurde geschlossen."});try{$inv.rReload()}catch(e){}},close:function(){let e=$inv.rd.token();""!==e&&($ocms.postXT({url:$ocms.url("rem/dclose"),data:{token:e}}),$fis.draft.release(e)),$inv.rd.tbl().removeData("rdtoken")}},$inv.cInv2=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n&&n.ft.rwText($rct.rq1);let i=()=>{$ocms.postXT({url:$ocms.url("req/get"),timeout:60,data:{id:e.id,mode:"r"},success:t=>{t.admin=t.admin||{};let n=$fis.lf(!0).aC("fix").rC("hd");if($fis.frm_edit().IN(),$inv.eM(!0,!0),(t.requests||[]).length<1)n.aC("fix").text($rct.nd);else{$$.dc("lh",n,$rct.mdl);let i=$$.d(),r=$$.ul({class:"rql"}).data({search:e.id,parent:t.admin.parent}).appendTo(n),a={},s=$rcol.req.lbl();$.each(t.requests||[],(function(e,t){let n=$$.li({class:"cli rli"}).data($.extend({},t)).appendTo(r),l=$$.dc("lihd",n).addClass(t.state);!0===booln(t.open,!1)&&l.append($$.sc("cbox").click((()=>{n.tC("checked"),i.find("li").rC("checked"),!0===n.is(".checked")?$inv.rMn(t.open):$inv.eM(!0)}))),l.append([$$.sc("eid",t.ExternalId),$$.sc("nme",t.Name)]),$$.dc("lidt",n).append([$$.dc("rqs").append([$$.s(s.State+": "),$$.s($rct.sts[t.State||"-"])]),$$.dc("ivn").append([$$.s(s.InvoiceId+": "),$$.s(t.InvoiceId||"- -")]),$$.dc("wda").append([$$.s(s.WorkDoneAt+": "),$$.s(fdt(t.WorkDoneAt,"dd.MM.yyyy"))])]),a[t.Id]=n})),(t.inv||[]).length>0&&($$.dc("lh",n,$rct.invs),i=$$.ul({class:"ivl"}).appendTo(n),$.each(t.inv||[],((e,t)=>{let n=$$.li({class:"cli ili"}).data($.extend({},t)).appendTo(i),a=$$.dc("lihd",n).addClass(t.invstatus);!1===booln(t.isFinal,!0)?a.append($$.sc("cbox").click((()=>{""!==(t.Id||"")&&(n.tC("checked").siblings().rC("checked"),r.find("li").rC("checked"),!0===n.is(".checked")?$inv.iMnr(t):$inv.eM(!0))}))):["","dft"].indexOf(t.invstatus)<0&&a.append($$.sc("dli").click((function(){$inv.disp(t.Id,"inv")}))),a.append($$.sc("nme",t.DocumentName||t.Id)),$$.dc("lidt",n).append([$$.dc("wda").append([$$.s(fdt(t.DateCreated,"dd.MM.yyyy"))]),$$.d().text($ict.iSt[t.invstatus]||t.invstatus)])})))}},complete:()=>{n&&n.c.trigger("modal_close")}})};$ocms.postXT({url:$ocms.url("req/pget"),timeout:90,data:{id:e.id},success:e=>{n&&n.ft.rwText($rct.rq2),i()},error:()=>{confirm($rct.rq1f)?(n&&n.ft.rwText($rct.rq2),i()):n&&n.c.trigger("modal_close")}})},$inv.ccInv=function(e){let t=(e.data||{}).typ||"r",n=$fis.lf(),i=n.children("ul.rql"),r=i.data("parent"),a=[];if(i.find("li.rli.checked").each((function(){a.push($(this).data("Id"))})),a.length<1)return void alert($rct.dnS);if("i"===t&&a.length>1)return void alert($rct.dII);let s=$fis.frm_edit(),l=$$.dc("invoice_layout",s).append($$.dc("btn sprev").click($inv.sprev)),d=$fis.cf().width()>l.width()+n.width()+20;n.tC("fix",d).tC("hd",!d),$inv.eM(!1,!0);let c=$$.dc("rfrm").ldng(1),o=$ocms.dlg(c,{width:1e3});o.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("req/iget"),timeout:60,data:{id:r,mode:"ful",typ:t,sel:a.join(",")},success:e=>{let t=$$.dc("srq",l),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([jine([fdt(i.WorkDoneAt,"dd.MM.yy"),i.ExternalId]," - "+$rct.req+" "),t.ne(i.Name)],": \n");let r=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(r)}}));let r=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(r),n.ft.appendTo(n.tbl);let a,s,d=e.admin||{},c=(e,t,i,r,a)=>{let s=$$.dc("inpfrm",l).aC(e).append("string"==typeof r?$$.dc("ahd",r):r>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",s).rwText(t);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},a),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm","","loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(l,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",l).append($$.dc("content").text(d.sender)),d.provisionend&&(s=d.provisionstart?$rct.provP:$rct.provD,a=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",a,"provisionperiod",s,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",l).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{o.c.trigger("modal_close")}})},$inv.ccStInv=function(e){let t=e.data||{},n=$fis.lf(),i=t.id,r=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sprev)),a=$fis.cf().width()>r.width()+n.width()+20;n.tC("fix",a).tC("hd",!a),$inv.eM(!1,!0);let s=$$.dc("rfrm").ldng(1),l=$ocms.dlg(s,{width:1e3});l.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),timeout:90,data:{id:t.id},success:e=>{l&&l.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/icget"),timeout:60,data:{id:i},success:e=>{let t=$$.dc("srq",r),n=$$.tblset({class:"invi"},t);n.bdy.remove(),n.ft=$$[0]("tfoot"),e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b")),n.tbl.data($.extend({new:{},sms:{},itm:{}},{admin:e.admin,companies:e.companies,locations:e.locations}));let i=$$.tr(n.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(i,e))),n.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.requests||[],(function(t,i){if(0!==(i.Id||0)){let t=$inv.worknotes(i);i.text="i"===e.admin.type?$rct.req+jine([i.ExternalId,i.Name],": ").eine(" ",""):jine([fdt(i.WorkDoneAt,"dd.MM.yy")+t.ne(i.Name)],": ");let r=$$.tbody(n.tbl).data($.extend({},i));$inv.rendersrq.call(r)}}));let a=$$.tr($$.tbody(n.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(a),n.ft.appendTo(n.tbl);let s,l,d=e.admin||{},c=(e,t,i,a,s)=>{let l=$$.dc("inpfrm",r).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{n.tbl.data("new")[i]=e}},s),$inv.eHtml)),n.tbl.data("new")[i]=t};c("tfrm",d.invoicetitle,"invoicetitle",0,null),c("adrfrm",d.invoiceaddress,"invoiceaddress",0,null),c("locfrm",d.provisionlocation,"loc",1,{list:deepCopy(e.locations),lbl:"ref",property:"address"}),$inv.emailFrm(r,n,d.invoiceemail,d.invoiceemailcc),$$.dc("sndfrm",r).append($$.dc("content").text(d.sender)),d.provisionend&&(l=d.provisionstart?$rct.provP:$rct.provD,s=d.provisionstart?fdt(d.provisionstart,"dd.MM.yyyy")+" - "+fdt(d.provisionend,"dd.MM.yyyy"):fdt(d.provisionend,"dd.MM.yyyy")),c("admfrm",s,"provisionperiod",l,1),n.tbl.data("new").CustomValues=d.CustomValues||"",$$.dc("inpfrm ctpfrm",r).text(jObj(d.CustomValues,"contactName")),n.tbl.children("tbody").each($inv.bdysort),n.tbl.trigger("fds.inv")},complete:()=>{l.c.trigger("modal_close")}})},error:()=>{l&&l.c.trigger("modal_close")}})},$inv.clCntInv=function(e){let t=$fis.lf(!1),n=[];t.find("li.ili.checked").each((function(){n.push($(this).data("Id"))})),1===n.length&&$inv.cntInv({id:n[0]})},$inv.cntInv=function(e){e=e||{};$fis.lf(!1).rC("fix").aC("hd");let t=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit));$inv.eM(!1,!0);let n=$$.dc("rfrm").ldng(1),i=$ocms.dlg(n,{width:1e3});i.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/get"),timeout:60,data:{id:e.id},success:e=>{e.admin=e.admin||{};let n=e.inv||{},i=$$.dc("srq",t),r=$$.tblset({class:"invi"},i);r.bdy.remove(),r.ft=$$[0]("tfoot"),r.tbl.data($.extend({invid:n.Id,new:{},sms:{},itm:{},bai:[]},e));let a=$$.tr(r.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(a,e))),r.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(r.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(r.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),r.ft.appendTo(r.tbl);let l=(e,n,i,a,s)=>{let l=$$.dc("inpfrm",t).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(n);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{r.tbl.data("new")[i]=e}},s),$inv.eHtml)),r.tbl.data("new")[i]=n};l("tfrm",n.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",n.SendToAddress,"invoiceaddress",0,null),l("locfrm",n.ProvisionLocation,"loc",1,null),$inv.emailFrm(t,r,n.SendToEmail,n.SendToEmailCc),$$.dc("sndfrm",t).append($$.dc("content").text(e.admin.sender)),l("admfrm",n.ProvisionPeriod,"provisionperiod",!0===(n.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),r.tbl.data("new").CustomValues=n.CustomValues||"",$$.dc("inpfrm ctpfrm",t).text(jObj(n.CustomValues,"contactName")),r.tbl.children("tbody").each($inv.bdysort),r.tbl.trigger("fds.inv"),$inv.eM(!1,!0,$inv.emOpt())},complete:()=>{i.c.trigger("modal_close")}})},$inv.cSt=function(e){e=e||{};let t=$fis.lf(),n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.sedit)),i=$fis.cf().width()>n.width()+t.width()+20;t.tC("fix",i).tC("hd",!i),$inv.eM(!1,!0);let r=$$.dc("rfrm").ldng(1),a=$ocms.dlg(r,{width:1e3});a.ft.rwText($ict.iq1),$ocms.postXT({url:$ocms.url("inv/pget"),data:{id:e.id},success:t=>{a&&a.ft.rwText($ict.iq2),$ocms.postXT({url:$ocms.url("inv/storno"),data:{id:e.id,mode:e.mode},success:e=>{e.admin=e.admin||{},e.admin.p13b=bool(e.admin.p13b||"",!0===((e.inv||{}).InvoiceOptions||"").split(",").includes("§13b"));let t=e.inv||{},i=$$.dc("srq",n),r=$$.tblset({class:"invi"},i);r.bdy.remove(),r.ft=$$[0]("tfoot"),r.tbl.data($.extend({invid:t.Id,new:{},sms:{},itm:{},bai:[]},e));let a=$$.tr(r.hd).aC("shd").append([$$.th().aC("aux")]);$rct.invHR.forEach((e=>$$.th(a,e))),r.tbl.on("fds.inv",$inv.invSumUpdate),$.each(e.req||[],(function(e,t){let n=$$.tbody(r.tbl).data($.extend({},t));$inv.rendersrq.call(n)}));let s=$$.tr($$.tbody(r.tbl),{class:"placeholder"}).data({net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0});$inv.rrw.call(s),r.ft.appendTo(r.tbl);let l=(e,t,i,a,s)=>{let l=$$.dc("inpfrm",n).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),d=$$.dc("content",l).rwText(t);$$.dc("axf",l).append($$.dc("ibtn edit",{title:$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:d,nme:i,change:e=>{r.tbl.data("new")[i]=e}},s),$inv.eHtml)),r.tbl.data("new")[i]=t};l("tfrm",t.InvoiceTitle,"invoicetitle",0,null),l("adrfrm",t.SendToAddress,"invoiceaddress",0,null),l("locfrm",t.ProvisionLocation,"loc",1,null),$inv.emailFrm(n,r,t.SendToEmail,t.SendToEmailCc),$$.dc("sndfrm",n).append($$.dc("content").text(e.admin.sender)),l("admfrm",t.ProvisionPeriod,"provisionperiod",!0===(t.ProvisionPeriod||"").includes("-")?$rct.provP:$rct.provD,1),r.tbl.data("new").CustomValues=t.CustomValues||"",$$.dc("inpfrm ctpfrm",n).text(jObj(t.CustomValues,"contactName")),r.tbl.children("tbody").each($inv.bdysort),r.tbl.trigger("fds.inv")},complete:()=>{a.c.trigger("modal_close")}})},error:()=>{a&&a.c.trigger("modal_close")}})},$inv.adrCountries=[["DE","Deutschland"],["AT","Österreich"],["CH","Schweiz"],["FR","Frankreich"],["NL","Niederlande"],["BE","Belgien"],["LU","Luxemburg"],["IT","Italien"],["ES","Spanien"],["PL","Polen"],["DK","Dänemark"],["CZ","Tschechien"],["GB","Großbritannien"],["US","USA"]],$inv.composeAddress=function(e){let t=[],n=e=>{""!==(e=(""+(e||"")).trim())&&t.push(e)};n((e=e||{}).name),""!==(""+(e.contact||"")).trim()&&n("z.Hd. "+(""+e.contact).trim()),n(e.line2||e.addressLine2),n(e.street),n(((e.postalCode||"")+" "+(e.city||"")).trim());let i=(""+(e.countryCode||"")).toUpperCase();return""!==i&&"DE"!==i&&n(i),t.join("\n")},$inv.adrCurrent=function(e){let t=jObj((e.data("new")||{}).CustomValues,"sendToAddress");if("string"==typeof t&&"{"===t.trim().charAt(0))try{t=JSON.parse(t)}catch(e){t=null}if(t&&"object"==typeof t)return t;let n=(e.data("admin")||{}).invoiceaddressData;if("string"==typeof n&&"{"===n.trim().charAt(0))try{return JSON.parse(n)}catch(e){}else if(n&&"object"==typeof n)return n;return{}},$inv.eAddress=function(e){let t=$inv.d.tbl(),n=$inv.adrCurrent(t),i=[{name:"name",label:"Name / Firma",type:"text",value:n.name||"",required:!0},{name:"contact",label:"z.Hd. (optional)",type:"text",value:n.contact||""},{name:"street",label:"Straße + Nr.",type:"text",value:n.street||""},{name:"line2",label:"Adresszusatz (optional)",type:"text",value:n.line2||n.addressLine2||""},{name:"postalCode",label:"PLZ",type:"text",value:n.postalCode||""},{name:"city",label:"Ort",type:"text",value:n.city||""},{name:"countryCode",label:"Land",type:"select",url:$inv.adrCountries,value:n.countryCode||"DE"},{name:"vatId",label:"USt-IdNr. (nur bei Firmen)",type:"text",value:n.vatId||""},{name:"leitwegId",label:"Leitweg-ID (nur Behörden / B2G)",type:"text",value:n.leitwegId||""}],r=$$.dc("adr-conformity").append([$$.dc("hd").text("Hinweis zur DATEV-/eRechnungs-Konformität"),$$.dc("tx").text("Pflicht: Name, Straße, PLZ, Ort und Land. Die USt-IdNr. nur bei Firmen angeben — für eine Rechnung an eine Privatperson einfach leer lassen. Eine Leitweg-ID nur bei Behörden (B2G) — dann wird die Rechnung automatisch als XRechnung erzeugt.")]);$ocms.dlgform(i,{title:"Rechnungsempfänger",addcontent:r,success:function(t){let n={name:t.name||"",contact:t.contact||"",line2:t.line2||"",street:t.street||"",postalCode:t.postalCode||"",city:t.city||"",countryCode:t.countryCode||"DE",vatId:(""+(t.vatId||"")).trim(),leitwegId:(""+(t.leitwegId||"")).trim()},i=$inv.composeAddress(n);e.data&&e.data.t&&e.data.t.rwText(i),"function"==typeof(e.data||{}).change&&e.data.change(i),$inv.d.sync({Target:"address",Value:n})}})},$inv.provToIso=function(e){let t=(""+(e||"")).match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);return t?t[3]+"-"+("0"+t[2]).slice(-2)+"-"+("0"+t[1]).slice(-2):""},$inv.eProvisionPeriod=function(e){let t=(""+(e.data&&e.data.t?e.data.t.text():"")).trim().match(/\d{1,2}\.\d{1,2}\.\d{4}/g)||[],n=[{name:"von",label:"Leistungsdatum",type:"date",value:$inv.provToIso(t[0]||"")},{name:"bis",label:"Leistungszeitraum – bis (optional)",type:"date",value:$inv.provToIso(t[1]||"")}],i=$$.dc("adr-conformity").append([$$.dc("hd").text("Leistungsdatum / -zeitraum"),$$.dc("tx").text('Für ein einzelnes Datum nur „Leistungsdatum" ausfüllen; für einen Zeitraum zusätzlich das Bis-Datum. Nur strukturierte Datumsauswahl — für die E-Rechnung empfohlen.')]);$ocms.dlgform(n,{title:"Leistungsdatum / -zeitraum",addcontent:i,success:function(t){let n=(""+(t.von||"")).trim(),i=(""+(t.bis||"")).trim(),r=""===n?"":""===i||i===n?n:n+" - "+i;e.data&&e.data.t&&e.data.t.rwText(r),"function"==typeof(e.data||{}).change&&e.data.change(r),$inv.d.sync({Target:"provisionperiod",Value:r})}})},$inv.eEmail=function(e){let t=[{name:"email",label:$rct.frm.invoiceemail,type:"text",value:(e.data.t||$$.s()).text()},{name:"emailcc",label:$rct.frm.invoiceemailcc,type:"text",value:(e.data.ccT||$$.s()).text()}];$ocms.dlgform(t,{title:$rct.frm.invoiceemail,success:function(t){let n=(""+(t.email||"")).trim(),i=(""+(t.emailcc||"")).trim();e.data&&e.data.t&&e.data.t.text(n),e.data&&e.data.ccT&&e.data.ccT.text(i),"function"==typeof(e.data||{}).change&&e.data.change(n),"function"==typeof(e.data||{}).changeCc&&e.data.changeCc(i),$inv.d.syncField("invoiceemail",n),$inv.rd.syncField("invoiceemail",n),$inv.d.syncField("invoiceemailcc",i),$inv.rd.syncField("invoiceemailcc",i)}})},$inv.emailFrm=function(e,t,n,i){let r=$$.dc("inpfrm emailccfrm",e),a=$$.dc("content",r).rwText(i),s=$$.dc("inpfrm emailfrm",e),l=$$.dc("content",s).rwText(n);$$.dc("axf",s).append($$.dc("ibtn edit",{title:$rct.frmTT.invoiceemail}).append(gi("pencil")).click({t:l,ccT:a,nme:"invoiceemail",change:e=>{t.tbl.data("new").invoiceemail=e},changeCc:e=>{t.tbl.data("new").invoiceemailcc=e}},$inv.eHtml)),t.tbl.data("new").invoiceemail=n,t.tbl.data("new").invoiceemailcc=i},$inv.eHtml=function(e){if(e.data&&!(e.data instanceof jQuery)&&$inv.d&&"function"==typeof $inv.d.token&&""!==$inv.d.token()){if("invoiceaddress"===e.data.nme)return $inv.eAddress.call(this,e);if("provisionperiod"===e.data.nme)return $inv.eProvisionPeriod.call(this,e)}if(e.data&&!(e.data instanceof jQuery)&&"invoiceemail"===e.data.nme&&e.data.ccT)return $inv.eEmail.call(this,e);let t=$(this),n=e.data instanceof jQuery?e.data:e.data.t,i=["invoiceemail","invoiceemailcc","provisionperiod","invoicetitle"].includes(e.data.nme),r=i?[{name:"txt",label:"Text",type:"text",value:n.text()}]:[{name:"txt",label:"Text",type:"html",value:n.html(),tinymce:!0,attr:{style:"height: 300px"}}],a=e.data.change||null,s={title:t.data("dialog")||"",success:function(t){i?n.text(t.txt||""):n.html(t.txt),"function"==typeof a&&a(t.txt),$inv.d.syncField(e.data.nme,i?t.txt||"":t.txt),$inv.rd.syncField(e.data.nme,i?t.txt||"":t.txt)},tinymce:{valid_elements:"br",hidemenu:!0,hidetoolbar:!0}};if(Array.isArray(e.data.list)){let t=$$.dc("lstfrm");$.each(e.data.list,((n,i)=>{let r=$$.dc("li",t).append(""!==(e.data.lbl||"")?$$.dc("lbl").rwText(i[e.data.lbl]):null);$$.dc("adr",r).rwText(i[e.data.property]).data("val",i[e.data.property]).click((function(){let e=$(this),t=e.closest(".modal-body").find(':input[name="txt"]');t.is(".tinymce")?tinymce.get(t.attr("id")).setContent($$.s().rwText(e.data("val")).html()):"TEXTAREA"===t.prop("tagName")?t.val(e.data("val")).change():t.rwText(e.data("val"))}))})),s.addcontent=t}$ocms.dlgform(r,s)},$inv.setVat=function(e){$(this);let t=e.data,n=prompt($rct.rqV);n&&(n=parseFloat(n.replace("%","")),n>1&&(n*=.01),!1===isNaN(n)&&(t.siblings(".itm").each((function(){$(this).data().vat=fnum(n,{style:"percent"}).replace(" ","")})),$inv.t_fds_inv()))},$inv.inRow=function(e){let t=$(this),n=e.data,i={},r=$rcol.itm.clone(["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"]),a="N"+(65536*(1+Math.random())||0).toString(16).substr(6),s=$$.tr({id:"itm_"+a.toString(),class:"itm"});$ocms.dlgform(r,{title:t.data("dialog")||"",success:function(e){s.data($.extend({Id:a},i,e)),$inv.rrw.call(s),s.insertAfter(n),$inv.t_fds_inv()},typedvalues:!0})},$inv.eRow=function(e){let t=$(this),n=e.data,i=n.data()||{},r=["SortOrder","NameOrNumber","Type","quantityhours","UnitString","net","svcnet_val","svcvat_val","net_val","vat_val","vat","Note"];i.id||""!==(i.Type||"")||r.unshift("Type");let a=$rcol.itm.clone(r).applyValues(i);a.set("Type","hidden","type"),$inv.eRw.call(t,n,i,a)},$inv.eRw=function(e,t,n){let i=$(this);$ocms.dlgform(n,{title:i.data("dialog")||"",success:function(n){let i={};""===(t.Id||"")&&(i.Id="N"+(65536*(1+Math.random())||0).toString(16).substr(6),e.attr("id","itm_"+i.Id.toString())),i.quantity=((n.quantityhours||"").toString()+" "+(n.UnitString||"").toString()).trimEnd(),e.data($.extend({},t,n,i)),console.debug("eRw success %o",e.data()),$inv.rrw.call(e),$inv.t_fds_inv()},typedvalues:!0})},$inv.bdysort=(e,t)=>{$(t).Sortable({dragItem:!1,dragHandleClass:"ico",parentident:"tr",onend:()=>{$inv.t_fds_inv()}})},$inv.rowCtxMenu=function(e){let t=$$[0]("nav").aC("rowctx");return t.ocmsmenu([{glyph:"glyphicon-option-vertical",aclass:"ctxbtn",attr:{title:$rct.ctxM},itm:e}]),t.find("li[title]").each((function(){let e=$(this);e.children("a").attr("title",e.attr("title"))})),t},$inv.rrw=function(){let e=$(this),t=e.data(),n={},i=e.is(".placeholder"),r=e.is(".hidenote"),a=e=>$$.d().append(e).html(),s=[{lbl:$rct.iRb,attr:{title:$rct.iRb},data:e,fnc:$inv.inRow}];!1===i&&(s.unshift({lbl:$rct.cP,attr:{title:$rct.cP},data:e,fnc:$inv.eRow}),s.push({lbl:$rct.dR,attr:{title:$rct.dR},fnc:function(t){confirm($rct.cD)&&(e.remove(),$inv.t_fds_inv())}}),"set"===(t.Type||"").toLowerCase()&&0===(t.net_val||0)&&s.push({lbl:$rct.toSetP,attr:{title:$rct.toSetP},data:e,fnc:$inv.toSetPrice}));let l=$$.dc("axf").append($inv.rowCtxMenu(s));!0===i?n={id:"",typ:"placeholder"}:!0===e.is(".itm.osum")?n={invrqid:t.InvRqId,id:"osum"+e.index(),typ:"osum",p:"",q:null,t:a(t.tbl.tbl),tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:!1}:(n={invrqid:t.InvRqId,id:t.Id||"",typ:t.Type||"other",p:"",q:null,t:"",tt:null,v:null,vt:t.net_val,vs:t.svcnet_val,vat:t.vat,vv:t.vat_val,vsv:t.svcvat_val,det:""!==(t.Note||"")&&!1===r,SetItmId:t.SetItmId||null,lvl:t.lvl||0},$$.dc("ibtn ico move",l,{title:$rct.mR}),n.p=null!=t.position?t.position:t.SortOrder||"",""===n.id?n.t="":["Text","Title"].includes(n.typ)&&0===(t.net_val||0)?n.t=t.htmltext||("#"!==(t.NameOrNumber||"").substr(0,1)?a($$[0]("p").text(t.NameOrNumber)):"")+(t.Note||""):(n.tt=n.det?"":$$.s(t.Note||"").text(),n.q=t.quantity||(0!==(t.quantityhours||0)?fnum(t.quantityhours)+" "+(t.UnitString||""):""),n.t=t.htmltext||(n.det?a($$.s(t.NameOrNumber||""))+a($$.dc("desc").html(t.Note)):a($$.s(t.NameOrNumber||""))),n.v=t.net,n.vt=t.net_val)),""!==(t.Note||"")&&$$.dc("ibtn add",l,{title:$rct.noteToggle}).append(gi("object-align-left")).click((function(t){$inv.rrw.call(e.tC("hidenote"))}));let d=[$$.tdc("aux").append(l),$$.tdc("keep").text(n.p)];if(""===n.id)d.push($$.td(e,{colspan:4}).append(n.t));else{Array.prototype.push.apply(d,n.q?[$$.tdc("keep").text(n.q)]:[]);let e=e=>null==e?"":fnum(e,$rct.cst);Array.prototype.push.apply(d,[$$.tdc("txt",{colspan:n.q?1:2,title:n.tt}).append(n.t),$$.tdc("currency").text(e(n.v)),$$.tdc("currency inetval").text(e(n.vt)).attr("title",$rct.svcPart+": "+e(n.vs))])}e.empty().attr("class",i?"placeholder":"itm").aC(n.Typ).tC("sethdr","set"===(n.typ||"").toString().toLowerCase()).aC((n.lvl||0)>0?"lvl"+Math.min(n.lvl,6):"").tC("hidenote",r).append(d),t.co=n},$inv.toSetPrice=function(e){let t=(e.data.data().Id||"").toString();""!==t&&!1!==confirm($rct.toSetPc)&&$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:"item.setprice",Ref:t})}))},$inv.invSumUpdate=function(){let e=$(this),t=[],n=e.children("tbody"),i=[];n.each(((e,n)=>{let r=$(n),a=r.data()||{},s=[],l=[],d=r.find("tr.itm");r.tC("empty",d.length<1),d.each(((e,t)=>{let n=$(t).data()||{};s.push(n.co);let r=$inv.itemToContract(n),a=(n.SetItmId||"").toString();""!==a&&a!==r.id&&(r.setId=a),l.push(r);let d=!1===["text","title"].includes((n.Type||"other").toLowerCase());n.position=((e,t)=>{if(!e)return"";let n=Math.max(t||0,0);for(;i.length<=n;)i.push(0);return i.length=n+1,i[n]++,i.join(".")})(d,(n.co||{}).lvl||0),$inv.rrw.call(t)})),t.push({Id:a.Id,nme:a.Name,text:a.text,itm:s,items:l})}));let r=e.find("tbody:not(.empty)").length;n.find("tr.isum").tC("hidden",r<2),e.data("bai",t),""===(e.data("dtoken")||"")&&!1===bool(e.data("dseeding"),!1)&&null!=(e.data("admin")||{}).type&&(e.data("dseeding",!0),$inv.d.seed($.extend($inv.invcPayload(e.data()),{invid:e.data("invid")||""})))},$inv.worknotes=function(e){let t="";return e.steps.forEach(((e,n)=>{let i;try{i=JSON.parse(e.Data||{}).fields||[]}catch(e){console.debug(e),i=[]}!0!==Array.isArray(i||"")&&(i="object"==typeof i&&!0===Array.isArray(i.field||"")?i.field:[]),i.forEach(((e,n)=>{"Ausgeführte Arbeiten"===e.name&&(t=e.result||"")}))})),t},$inv.rendersrq=function(){let e=$(this).empty(),t=e.is(".onesum"),n=e.data(),i=$$.tr(e,{id:"srq"+n.Id}).aC("title nosort"),r=($rcol.itm.lbl(),$$.dc("axf").appendTo($$.tdc("aux",i)));$$.dc("ibtn osum",r,{title:$rct.combP}).append(gi("euro")).click((function(t){e.tC("onesum"),$inv.rendersrq.call(e),$inv.t_fds_inv()})),$$.dc("ibtn setvat",r,{title:$rct.sV}).append(gi("gbp")).click(i,$inv.setVat),$$.dc("ibtn insb",r,{title:$rct.iRb}).append(gi("indent-left")).click(i,$inv.inRow);let a,s=$$.sc("text",n.text),l=($$.td(i,{colspan:t?4:5}).append(s),["net_val","vat_val","svcnet_val","svcvat_val","net"]);if($$.dc("ibtn edit",r,{title:$rct.sectionTitleEditTT}).data("dialog",$rcol.req.lbl().Name).append(gi("pencil")).click({t:s,change:e=>{n.text=e,$inv.t_fds_inv()}},$inv.eHtml),t&&($$.tdc("currency isumval",i),a={Id:n.Id.toString()+"_osum",net_val:0,vat_val:0,svcnet_val:0,svcvat_val:0,net:0},a.tbl=$$.tblset({class:"stbl"})),$.each(n.items||[],((n,i)=>{let r,s={Id:i.Id,net_val:i.net_val||0,vat_val:i.vat_val||0,svcnet_val:0,svcvat_val:0,net:i.net||0,Note:i.Note||""};if("service"===i.Type.toLowerCase())s.svcnet_val=i.net_val||0,s.svcvat_val=i.vat_val||0;t?(r=$$.tr(a.tbl.bdy,{id:"itm"+i.Id,class:"sitm"}).aC(i.Type),"Text"===i.Type||"Title"===i.Type?$$.td(r,{colspan:2}).html(i.htmltext||i.Note):($$.tdc("keep",r).text(i.quantity||((i.quantityhours||0)>0?fnum(i.quantityhours)+(i.UnitString||"").eine(" ",""):"")),i.htmltext?$$.tdc("txt",r).html(i.htmltext):$$.tdc("txt",r).text(i.NameOrNumber).attr("title",i.Note)),$.each(l,((e,t)=>{a[t]+=s[t]})),r.data(s)):($.extend(s,i),r=$$.tr(e,{id:"itm"+i.Id,class:"itm"}),r.data(s),$inv.rrw.call(r))})),t){let t=$$.tr(e,{id:"itmsq"+n.Id,class:"itm osum"}).data(a);$inv.rrw.call(t)}else{let t=$$.tr(e).aC("isum nosort");$$.tdc("aux",t),$$.td(t,{colspan:4}).text($rct.iSum),$$.tdc("currency isumval",t)}},$inv.t_fds_inv=()=>{let e=$("div.invoice_layout table.invi");if(e.trigger("fds.inv"),""!==(e.data("dtoken")||""))return $inv.d.syncChanged(e);let t=e.data("dseedpromise");return t?$.when(t).then((()=>$inv.d.syncChanged(e))):$.when()},$inv.sedit=()=>{$inv.sprev(!0)},$inv.jdisp=function(e){e.stopPropagation(),e.data.id&&$inv.disp(e.data.id,e.data.typ||"")},$inv.disp=(e,t)=>{let n="";switch(t){case"inv":n="inv/rdoc";break;case"rem":n="rem/rdoc"}""!==n&&$ocms.postXT({url:$ocms.url(n),data:{id:e||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex_min:50,form:!1,exclusive:!1})}})},$inv.jdbn=function(e){$ocms.postXT({url:$ocms.url("inv/rdocn"),data:{name:e.data.id||"",typ:"img"},success:e=>{let t=$$.dc("imagecollection pdfpreview"),n=Math.round(.88*vh());e.id;$.each(e.img||[],(function(e,i){$$.dc("pdfp",t).append($$.img(i).css("max-height",(n-rpx(6)).toString()+"px"))})),$ocms.dlg(t,{size:[n,Math.round(.88*vw())],zindex:50,form:!1})}})},$inv.sp13b=()=>{var e=$("div.invoice_layout").find("table.invi"),t=e.data();t.admin.p13b=!0,!1===(t.inv.InvoiceOptions||"").split(",").includes("§13b")&&(t.inv.InvoiceOptions+=",§13b"),e.trigger("fds.inv"),$inv.d.sync({Target:"p13b",Value:t.admin.p13b})},$inv.itemToContract=function(e){let t=((e=e||{}).Type||"").toString().toLowerCase(),n=e=>e??null,i={id:(e.Id||"").toString(),type:t,title:"",desc:"",qty:"",price_net:"",total_net:n(e.net_val),vat:e.vat||""};var r;return e.co&&"osum"===e.co.typ?(i.desc=e.co.t||"",i.total_net=e.net_val||0):["text","title"].includes(t)&&0===(e.net_val||0)?(i.desc=e.htmltext||("#"!==(e.NameOrNumber||"").substr(0,1)?(r=$$[0]("p").text(e.NameOrNumber||""),$$.d().append(r).html()):"")+(e.Note||""),i.total_net=""):(e.htmltext?i.desc=e.htmltext:(i.title=e.NameOrNumber||"",i.desc=e.Note||""),i.qty=e.quantity||(0!==(e.quantityhours||0)?fnum(e.quantityhours)+(e.UnitString?" "+e.UnitString:""):""),i.price_net=n(e.net),i.total_net=n(e.net_val)),i},$inv.hasSets=e=>((e||{}).req||[]).some((e=>{let t=((e||{}).itm||[]).filter((e=>e&&""!==(e.id||""))),n={};t.forEach((e=>{n[(e.id||"").toString()]=e}));return t.some((e=>{let t=(null==e.SetItmId?"":e.SetItmId).toString();return""!==t&&t!==(e.id||"").toString()&&n[t]&&(e=>"set"===(e.typ||"").toString().toLowerCase())(n[t])}))})),$inv.ssetmode=()=>{let e,t=$("div.invoice_layout").find("table.invi").data();if(t.dstate&&!1===$inv.hasSets(t.dstate))return void alert($rct.toSetMn);let n=t=>$$.dc("btn",$ict.setmo[t]).click((()=>{e.c.trigger("modal_close"),$inv.setSetmode(t)})),i=$$.dc("choicefrm").append([n("setprice"),n("setonly")]);e=$ocms.dlg(i,{width:800})},$inv.setSetmode=e=>{if(!1===confirm($rct.toSetMc||$rct.toSetPc))return;let t="setonly"===e?"block.setonly":"block.setprice";$.when($inv.t_fds_inv()).done((()=>{$inv.d.sync({Target:t})}))},$inv.sctp=()=>{let e=$invcol.ctp;$ocms.dlgform(e,{title:$ict.ctp,success:function(e){var t=$("div.invoice_layout"),n=t.find("table.invi").data();let i={};void 0!==n.new&&"{"===(n.new.CustomValues||"").substr(0,1)&&(i=JSON.parse(n.inv.CustomValues)),i.contactName=e.name,i.contactEmail=e.email,n.new.CustomValues=JSON.stringify(i),t.find(".ctpfrm").text(ne(e.name,e.email)),$inv.d.sync({Target:"contact",Value:{name:e.name,email:e.email}})},typedvalues:!0})},$inv.invcPayload=function(e){e=e||{};let t=$.extend({},e.new),n=$.extend({},e.admin);return t.title=null!=t.invoicetitle?t.invoicetitle:t.title||"",t.provisionlocation=null!=t.loc?t.loc:t.provisionlocation||"",t.paymentterm=null!=n.paymentterms?n.paymentterms:t.paymentterm||"",n.customerid=null!=n.customerid?n.customerid:n.CustomerId,{admin:n,req:e.bai,new:t}},$inv.ssave=()=>{$inv.d.save()},$inv.sprev=e=>{$inv.d.preview()},$inv.rReload=()=>{try{let e=$("#listframe ul.rql:first").data();$inv.cInv2({id:e.search})}catch(e){}},$inv.quantChange=function(e){},$inv.storno=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Storno ohne Details").click({id:e,mode:"simple"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)})),$$.dc("btn","Storno mit neuer Rechnung").click({id:e},(e=>{n.c.trigger("modal_close"),$inv.ccStInv(e)})),$$.dc("btn","Storno mit best. Rechnung").tC("inactive",!1===bool(t,!1)).click({id:e,mode:"copy"},(e=>{!0===bool(t,!1)&&(n.c.trigger("modal_close"),$inv.cSt(e.data))}))]);n=$ocms.dlg(i,{width:1e3})},$inv.credit=function(e,t){let n,i=$$.dc("choicefrm").append([$$.dc("btn","Gutschrift").click({id:e,mode:"credit"},(e=>{n.c.trigger("modal_close"),$inv.cSt(e.data)}))]);n=$ocms.dlg(i,{width:1e3})},$inv.setPyd=function(e){confirm($ict.cpyd)&&$ocms.postXT({url:$ocms.url("inv/setpyd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.setUpd=function(e){confirm($ict.cupd)&&$ocms.postXT({url:$ocms.url("inv/setupd"),timeout:60,data:{id:e},success:e=>{alert($ict.relm)},error:()=>{alert($t.f1)}})},$inv.resendRem=function(e){e.stopPropagation(),e.data.id&&confirm(string($ict.remresc,[e.data.name]))&&$ocms.postXT({url:$ocms.url("rem/resend"),timeout:60,data:{id:e.data.id},success:t=>{alert(string($ict.remresr,[e.data.name]))},error:()=>{alert($t.f1)}})},$inv.dspRem=function(e){let t=$$.dc("rfrm").ldng(1),n=$ocms.dlg(t,{width:1e3});n.ft.rwText($rct.rq2),$ocms.postXT({url:$ocms.url("inv/getrem"),timeout:60,data:{id:e,drafts:!1},success:e=>{n.ft.empty();let i=$$.tblset({class:"invtbl"},t.empty()),r=$invcol.rem2,a=$$.tr(i.hd);$$.th(a);$.each(r.fields||[],((e,t)=>{$$.th(a).text(t.label)}));let s=!1;$.each(e,((e,t)=>{s=!s;let n=$$.tr(i.bdy).tC("alt",s),a=$$.td(n);n.click((function(){n.tC("selected").siblings().rC("selected")})),!0===bool(t.hasFile,!1)&&($$.dc("idl ilbtn",a,{title:$ict.dl+"\n"+t.DocumentName}).append(gi("save-file","ico")).click({id:t.Id},$inv.downloadrem),$$.dc("idl ilbtn",a,{title:$ict.remdsp+"\n"+t.DocumentName}).append(gi("eye-open","ico")).click({id:t.Id,typ:"rem"},$inv.jdisp),$$.dc("idl ilbtn",a,{title:$ict.remres+"\n"+t.DocumentName}).append(gi("refresh","ico")).click({id:t.Id,typ:"rem",name:t.DocumentName},$inv.resendRem)),$.each(r.fields||[],((e,i)=>{let r=$$.td(n).aC(i.dtype),a=t[i.name];if("function"==typeof i.dfnc)i.dfnc.call(r,a,t);else switch(i.type||""){case"date":r.text(fdt(t[i.name],"dd.MM.yy"));break;case"datetime":r.text(fdt(t[i.name]));break;case"html":r.append($$.dc("ctw").html(a)),r.append($$.dc("ttip").html(a));break;default:r.text(t[i.name])}if("InvoiceId"===(i.name||""))r.aC("keep");switch(typeof i.title){case"function":i.title.call(r,t);break;case"string":r.attr("title",cs.title)}}))}))},error:()=>{t.empty(),n.ft.rwText($t.f1)},complete:()=>{t.ldng(0)}})},$inv.ccRem=function(e,t){$(this);$ocms.postXT({url:$ocms.url("rem/lrem"),timeout:60,data:{id:e},success:n=>{let i=$invcol.rid.clone();i.applyValues(n.ov);let r=$$.dc("ac"),a=$$.tblset({class:"fullgrid fullwidth"},r);if((n.lst||[]).length>0){$$.d({style:"margin: 1.5rem 0 1rem 0;font-size: 110%;text-decoration: underline;"}).prependTo(r).text($ict.rovlh);let e=$$.tr(a.hd);$ict.rovl.forEach(((t,n)=>$$.th(e,t))),$.each(n.lst,((e,t)=>{$$.tr(a.bdy).append([$$.tdc("keep",t.subject),$$.tdc("currency",fnum(t.amount,$rct.cst)),$$.tdc("currency",fnum(t.amount_payed,$rct.cst)),$$.tdc("keep",fdt(t.DateFinalized,"dd.MM.yy"))])}))}else $$.td($$.tr(a.bdy),$ict.nd);$ocms.dlgform(i,{addcontent:r,title:string($ict.remdt,[t||"?"]),success:function(t){$inv.ccRem_s2(e,t)},typedvalues:!0})}})},$inv.rRemRw=function(e){let t=$(this),n=e.rm||{};t.empty().data({invoiceid:n.invoiceid,invoicedate:n.invoicedate,amount:n.amount,amount_payed:n.amount_payed});let i=[{lbl:$rct.cP,attr:{title:$rct.cP},data:t,fnc:$inv.eRowR}],r=$$.dc("axf").append($inv.rowCtxMenu(i));t.append([$$.tdc("aux").append(r),$$.tdc("keep",n.invoiceid),$$.tdc("keep",fdt(n.invoicedate,"dd.MM.yy")),$$.tdc("currency",fnum(n.amount,$rct.cst)),$$.tdc("currency",fnum(n.amount_payed,$rct.cst)),$$.tdc("currency",fnum(n.amount-n.amount_payed,$rct.cst))])},$inv.eRowR=function(e){let t=$(this),n=e.data,i=n.data()||{},r=$invcol.rem.clone().applyValues(i);$ocms.dlgform(r,{title:t.data("dialog")||"",success:function(e){let i=t.closest("table"),r=i.data();$.extend(r.rm,e),i.data(r),$inv.rRemRw.call(n,r),$inv.rd.syncAmount(r.rm.amount,r.rm.amount_payed)},typedvalues:!0})},$inv.ccRem_s2=function(e,t){$fis.lf(!1).rC("fix").aC("hd");let n=$$.dc("invoice_layout",$fis.frm_edit()).append($$.dc("btn sprev").click($inv.rprev));$inv.eM(!1,!0);$$.dc("rfrm").ldng(1);$ocms.postXT({url:$ocms.url("rem/get"),timeout:60,data:$.extend({id:e},t),success:e=>{let t=e.rm||{},i=$$.dc("srq",n),r=$$.tblset({class:"invi"},i);r.ft=$$[0]("tfoot"),r.tbl.data($.extend({invid:t.invid,new:{}},e));let a=$$.tr(r.hd).aC("shd").append([$$.th().aC("aux")]);$ict.remHR.forEach((e=>$$.th(a,e))),$inv.rRemRw.call($$.tr(r.bdy),r.tbl.data()),r.ft.appendTo(r.tbl);let s={invoiceemail:"Email-Adresse ändern",subject:"Betreff ändern"},l=(e,t,i,a,l)=>{let d=$$.dc("inpfrm",n).aC(e).append("string"==typeof a?$$.dc("ahd",a):a>0?$$.dc("ahd",$rct.frm[i]):null),c=$$.dc("content",d).rwText(t);$$.dc("axf",d).append($$.dc("ibtn edit",{title:s[i]||$rct.frmTT[i]||$rct.frm[i]}).data("dialog",$rct.frm[i]).append(gi("pencil")).click($.extend({t:c,nme:i,change:e=>{r.tbl.data("new")[i]=e}},l),$inv.eHtml)),r.tbl.data("new")[i]=t};l("tfrm",t.subject,"subject",0,null),l("adrfrm",t.invoiceaddress,"invoiceaddress",0,null),l("emailfrm",t.invoiceemail,"invoiceemail",0,null),$$.dc("sndfrm",n).append($$.dc("content").text(t.sender)),r.tbl.children("tbody").each($inv.bdysort),r.tbl.trigger("fds.inv");let d=r.tbl.data("new");d.amount=t.amount,d.amount_payed=t.amount_payed,$inv.rd.seed({rem:{invid:t.invid,type:t.type,invoiceid:t.invoiceid,invoicedate:t.invoicedate},new:d})},complete:()=>{}})},$inv.rprev=()=>{$inv.rd.preview()},$inv.sis=e=>{confirm($ict.sisc)&&$ocms.postXT({url:$ocms.url("inv/sis"),data:{id:e||""},success:e=>{}})},$inv.srs=e=>{confirm($ict.srsc)&&$ocms.postXT({url:$ocms.url("rem/srs"),data:{id:e||""},success:e=>{}})},$inv.mfrrel=e=>{$("#contentframe").ldng(),$ocms.postXT({url:$ocms.url("inv/mfrrel"),data:{id:e||""},success:e=>{$inv.rerenderinv()},complete:()=>{$("#contentframe").ldng(0)}})},$inv.sets={o:null,c:null,drag:null,isOpen:()=>!!$inv.sets.o,open:function(){let e=$inv.d.tbl();if(e.length<1||$inv.sets.isOpen())return;if(""===$inv.d.token()&&!e.data("dstate"))return;let t=$$.dc("setstruct");$inv.sets.c=t,$inv.sets.o=$ocms.dlg(t,{title:$ict.setst,size:[-1,960],exclusive:!1,close:()=>{$inv.sets.o=null,$inv.sets.c=null,$inv.sets.drag=null}});let n=e.data("dstate");n?$inv.sets.render(n):$inv.d.refresh()},title:e=>{let t=$$.d().html(e.t||"").text().replace(/\s+/g," ").trim();return""!==t?t:$ict.setsNoTitle||""},typLbl:e=>{let t=(e.typ||"").toString().toLowerCase();return($ict.settyp||{})[t]||e.typ||""},isSet:e=>"set"===(e.typ||"").toString().toLowerCase(),parentOf:(e,t)=>{let n=(null==e.SetItmId?"":e.SetItmId).toString(),i=(e.id||"").toString();if(""===n||n===i)return"";let r=t[n];return r&&$inv.sets.isSet(r)?n:""},isDescendant:(e,t,n)=>{let i={},r=n[e];for(;r;){let e=$inv.sets.parentOf(r,n);if(""===e||i[e])return!1;if(e===t)return!0;i[e]=!0,r=n[e]}return!1},canDrop:(e,t,n,i)=>!!e&&e.bid===n&&e.id!==t&&!$inv.sets.isDescendant(t,e.id,i),sync:e=>($inv.sets.c&&$inv.sets.c.aC("busy"),$inv.d.sync(e)),render:function(e){let t=$inv.sets.c;if(!t)return;let n=t.closest(".modal-body"),i=n.length?n.scrollTop():0;t.empty().rC("busy"),$$.dc("shint",t).text($ict.setsHint||""),(e.req||[]).forEach((e=>{if(!e)return;let n=(e.Id||"").toString();if(""===n)return;let i=(e.itm||[]).filter((e=>e&&""!==(e.id||""))),r={};i.forEach((e=>{r[(e.id||"").toString()]=e}));let a=$$.dc("sblock",t).data({bid:n});$inv.sets.rootZone($$.dc("sbhd",a).append($$.sc("nme",e.text||e.nme||n)),n,r);let s=$$.tblset({class:"stbl"},a),l=$$.tr(s.hd);($ict.setsHR||[]).forEach((e=>$$.th(l,e))),i.forEach((e=>$inv.sets.row(s.bdy,e,n,i,r))),$inv.sets.rootZone($$.dc("sroot",a).text($ict.setsRoot||""),n,r),$inv.sets.createBar(a,n,i,r)})),n.length&&n.scrollTop(i)},collapsed:{},hiddenByCollapse:function(e,t){let n={},i=e;for(;i;){let e=$inv.sets.parentOf(i,t);if(""===e||n[e])return!1;if($inv.sets.collapsed[e])return!0;n[e]=!0,i=t[e]}return!1},zone:function(e,t,n){let i=e.originalEvent||e,r=t[0].getBoundingClientRect(),a=(i.clientY||0)-r.top,s=r.height||1;return a<.3*s?"before":a>.7*s||!n?"after":"into"},clearDrop:()=>{$(".setstruct .dropok, .setstruct .dropbefore, .setstruct .dropafter").rC("dropok dropbefore dropafter")},row:function(e,t,n,i,r){let a=(t.id||"").toString(),s=parseInt(t.lvl||0,10)||0,l=$inv.sets.isSet(t),d=$inv.sets.parentOf(t,r),c=l&&!!$inv.sets.collapsed[a],o=$$.tr(e,{draggable:"true"}).aC("srow lvl"+s).tC("isset",l).tC("folded",c).data({id:a,bid:n});$inv.sets.hiddenByCollapse(t,r)&&o.aC("hid"),$$.tdc("grip",o).append(gi("move")).attr("title",$rct.mR),$$.tdc("pos",o).text(null!=t.p?t.p:"");let u=$$.tdc("typ",o);l&&u.append($$.sc("fold").attr("title",c?$ict.setsExpand:$ict.setsCollapse).append(gi(c?"triangle-right":"triangle-bottom")).click((e=>{e.stopPropagation(),c?delete $inv.sets.collapsed[a]:$inv.sets.collapsed[a]=!0;let t=$inv.d.tbl().data("dstate");t&&$inv.sets.render(t)}))),u.append($$.s($inv.sets.typLbl(t))),$$.tdc("qty",o).text(t.q||"");let m=$$.tdc("ttl",o);if(""!==d&&m.append($$.sc("seti",$inv.sets.title(r[d]))),m.append($$.sc("txt",$inv.sets.title(t)).click((function(e){e.stopPropagation(),$(this).tC("exp")}))),l){let e=i.filter((e=>$inv.sets.parentOf(e,r)===a)).length;m.append($$.sc("cnt"," ("+e+")"))}let v=i.filter((e=>$inv.sets.parentOf(e,r)===d)),p=v.findIndex((e=>(e.id||"").toString()===a)),f=v.slice(0,p).some((e=>$inv.sets.isSet(e))),h=$$.tdc("act",o),g=(e,t,n,i,r)=>$$.dc("ibtn "+e,h,{title:n}).append(gi(t)).tC("disabled",!i).click((()=>{i&&$inv.sets.sync(r)}));g("up","arrow-up",$ict.setsUp,p>0,{Target:"set.move",Ref:a,Value:-1}),g("down","arrow-down",$ict.setsDown,p>=0&&p0,{Target:"set.level",Ref:a,Value:-1}),g("in","chevron-right",$ict.setsIn,f,{Target:"set.level",Ref:a,Value:1}),o.on("dragstart",(e=>{$inv.sets.drag={id:a,bid:n},o.aC("dragging");try{e.originalEvent.dataTransfer.setData("text/plain",a),e.originalEvent.dataTransfer.effectAllowed="move"}catch(e){}})).on("dragend",(()=>{o.rC("dragging"),$inv.sets.drag=null,$inv.sets.clearDrop()}));return o.on("dragover",(e=>{if(!$inv.sets.canDrop($inv.sets.drag,a,n,r))return;e.preventDefault();let t=$inv.sets.zone(e,o,l);o.rC("dropok dropbefore dropafter").aC("into"===t?"dropok":"before"===t?"dropbefore":"dropafter")})).on("dragleave",(()=>{o.rC("dropok dropbefore dropafter")})).on("drop",(e=>{e.preventDefault(),$inv.sets.clearDrop();let t=$inv.sets.drag;if($inv.sets.drag=null,!$inv.sets.canDrop(t,a,n,r))return;let i=$inv.sets.zone(e,o,l);"into"===i?$inv.sets.sync({Target:"set.assign",Ref:t.id,Value:{parent:a}}):$inv.sets.sync({Target:"set.move",Ref:t.id,Value:{anchor:a,where:i}})})),o},rootZone:function(e,t,n){return e.on("dragover",(i=>{(()=>{let e=$inv.sets.drag;return!!e&&e.bid===t&&!!n[e.id]&&""!==$inv.sets.parentOf(n[e.id],n)})()&&(i.preventDefault(),e.aC("dropok"))})).on("dragleave",(()=>{e.rC("dropok")})).on("drop",(i=>{i.preventDefault(),e.rC("dropok");let r=$inv.sets.drag;$inv.sets.drag=null,r&&r.bid===t&&n[r.id]&&""!==$inv.sets.parentOf(n[r.id],n)&&$inv.sets.sync({Target:"set.assign",Ref:r.id,Value:{parent:""}})})),e},createBar:function(e,t,n,i){let r=$$.dc("screate",e),a=$("").attr({name:"typ"}).append([$$.opt("set",$ict.settyp.set),$$.opt("text",$ict.settyp.text)]),s=$("").attr({name:"parent"}).append($$.opt("",$ict.setsTop));n.forEach((e=>{if(!$inv.sets.isSet(e))return;let t=parseInt(e.lvl||0,10)||0;s.append($$.opt((e.id||"").toString()," ".repeat(3*t)+$inv.sets.title(e)))}));let l=$('').attr({name:"title",placeholder:$ict.setsTitle,maxlength:250}),d=()=>{let e=(l.val()||"").toString().trim();""!==e?($inv.sets.sync({Target:"set.create",Ref:t,Value:{typ:a.val(),title:e,parent:s.val()||""}}),l.val("")):l.focus()};return l.on("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),d())})),r.append([$$.sc("lbl",$ict.setsNew),a,$$.sc("lbl",$ict.setsInto),s,l,$$.bbtn($ict.setsAdd,"sadd").click(d)]),r}}; \ No newline at end of file diff --git a/Fuchs/wwwroot/web/fis.req.min.css b/Fuchs/wwwroot/web/fis.req.min.css index b9e5001..ba13e0c 100644 --- a/Fuchs/wwwroot/web/fis.req.min.css +++ b/Fuchs/wwwroot/web/fis.req.min.css @@ -1 +1 @@ -@charset "UTF-8";span.cla,td.cla{cursor:pointer}.invfrm>table td{max-height:2.5rem;background-color:#f4f4f4}.invfrm>table td.sh_s{color:#bf4b06}.invfrm>table td.av{border:2px solid red}.invfrm>table td.av+td.vsel select{display:block}.invfrm>table td.tags .tag{display:inline-block;padding:.1rem .3rem;background:#fff;margin-top:.2rem;border:1px solid #ccc;border-radius:.3rem;font-weight:300;font-size:.8rem;text-rendering:geometricprecision}.invfrm>table td.tags .tag.abrechnung_projekt,.invfrm>table td.tags .tag.angebot_erstellt{background-color:#1a237e;color:#fff}.invfrm>table td.tags .tag.auftrag_erhalten{background-color:#427323}.invfrm>table td.tags .tag.folgeauftrag{background-color:#00acc1;color:#fff}.invfrm>table td.tags .tag.gutschrift,.invfrm>table td.tags .tag.korrektur{background-color:#d81b60}.invfrm>table td.tags .tag.rechnung_erledigt{background-color:#427323;color:#fff}.invfrm>table td.tags .tag.topkunde__vip_kunde{background-color:#000;color:#fff}.invfrm>table td.tags .tag.zur_rechnungsstellung{background-color:#ffd600}.invfrm>table td.tags .tag.fibu_bitte_mit_doris_abstimmen{background-color:#d81b60;font-size:1rem;padding:.15rem .5rem}.invfrm>table td>.ctw{display:block;position:relative;max-height:2.5rem;overflow:hidden;text-overflow:ellipsis}.invfrm>table tr.tbhd td{opacity:.3}.invfrm>table tr.alt+tr:not(.alt) td,.invfrm>table tr:not(.alt)+tr.alt td{border-top:1px solid #727272}.invfrm>table tr th{background-color:rgba(27,67,121,.6);color:#fff;text-align:left}.invfrm>table tr:hover td{border-top-color:#ff4500!important;border-top-width:2px}.invfrm>table tr.alt td{background-color:#e5e5e5;border-color:#ccc}.invfrm>table tr.alt td.hl{background-color:#ffffe0}.invfrm>table tr.child td.name{color:#56a532;position:relative;padding-left:1.8rem}.invfrm>table tr.child td.name::after{content:"";background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmcgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZS8+PGcgZGF0YS1uYW1lPSIxNS1BcnJvdy1kaXJlY3Rpb24tcG9pbnRlciIgaWQ9Il8xNS1BcnJvdy1kaXJlY3Rpb24tcG9pbnRlciI+PHBvbHlsaW5lIHBvaW50cz0iMjEgMzEgMjcgMjQgMjEgMTYiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoycHgiLz48cG9seWxpbmUgcG9pbnRzPSIyNiAyNCA1IDI0IDUgMSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjJweCIvPjwvZz48L3N2Zz4=) center center no-repeat;position:absolute;left:.3rem;width:1rem;height:1rem;top:.7rem}.rfrm{min-width:200px;min-height:200px}table.if{border-collapse:collapse;margin:1rem 0;background:#fff}table.if tr:nth-child(2n+1) td{background-color:#f9f9f9}table.if tr.title td{background-color:#56a532;color:#fff}table.if tr.title td .eid{font-weight:700;margin:0 1rem 0 .5rem;font-size:140%}table.if tr.title td .nme{font-size:110%}table.if tr.shd td{font-style:italic;color:#bbb;background-color:#fff!important;font-size:90%}table.if td{padding:.2rem .35rem;border:1px solid #ddd}table.if td.currency,table.if td.num,table.if th.currency,table.if th.num{text-align:right;white-space:nowrap}table.if td.keep,table.if th.keep{white-space:nowrap}#listframe .lh{margin:1.5rem 0 1.25rem 1.5rem;text-decoration:underline;font-size:1rem;font-weight:bolder}#listframe li.cli{border-bottom:1px solid #ccc;margin-bottom:1rem;list-style:none}#listframe li.cli .lidt,#listframe li.cli .lihd{padding:0 .5rem .5rem 3rem;position:relative;display:block}#listframe li.cli .lidt .nme,#listframe li.cli .lihd .nme{display:block;margin-top:.5rem}#listframe li.cli .lidt>div{display:block}#listframe li.cli .lidt>div.ivn{max-width:30rem}#listframe li.cli .cbox{height:.85rem;width:.85rem;display:inline-block;position:absolute;left:0;top:0}#listframe li.cli .cbox::before{content:"\e157";font-family:"Glyphicons Halflings";font-size:24px;font-style:normal;font-weight:400;line-height:1;cursor:pointer}#listframe li.cli .dli{height:.85rem;width:.85rem;display:inline-block;position:absolute;left:0;top:0}#listframe li.cli .dli::before{content:"\e166";font-family:"Glyphicons Halflings";font-size:24px;font-style:normal;font-weight:400;line-height:1;cursor:pointer}#listframe li.cli.checked .cbox::before{content:"\e067"}@keyframes fis_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.edit_frm .invoice_layout{margin:2rem 2rem 2rem auto;width:50rem;border:1px solid #eee;padding:25.5rem 3rem 3rem;box-shadow:4px 4px 9px rgba(50,50,50,.3);position:relative}.edit_frm .invoice_layout .axf{font-size:1rem;display:none;position:absolute;right:100%;height:100%;min-height:1.5rem;min-width:2rem;background:#f0ffe2;border:1px solid #ccc;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;top:0;width:auto;max-height:1.5rem;overflow:visible;padding:.1rem}.edit_frm .invoice_layout .axf>.ibtn{cursor:pointer;height:100%;width:1.5rem;display:inline-block;position:relative}.edit_frm .invoice_layout .axf nav.rowctx{position:relative;display:inline-block;width:1.5rem;height:100%;min-height:0;max-height:none;background:0 0;z-index:auto;vertical-align:top}.edit_frm .invoice_layout .axf nav.rowctx>ul{height:100%}.edit_frm .invoice_layout .axf nav.rowctx>ul>li{height:100%;float:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn{padding:0;width:1.5rem;height:100%;text-align:center;line-height:1.3rem}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn>.caret{display:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li.dropdown>ul.dropdown-menu{top:100%;left:auto;right:0;font-size:.85rem;white-space:nowrap}.edit_frm .invoice_layout .sndfrm{position:absolute;font-size:.7rem;color:#727272;top:4.7rem;left:3rem;width:auto;height:auto;user-select:none}.edit_frm .invoice_layout .emailfrm{position:absolute;font-size:.7rem;top:.5rem;left:.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .emailfrm .content{color:#000}.edit_frm .invoice_layout .emailfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block}.edit_frm .invoice_layout .emailfrm:hover div.axf{display:block}.edit_frm .invoice_layout .emailccfrm{position:absolute;font-size:.7rem;top:2.2rem;left:.5rem;width:auto;height:auto}.edit_frm .invoice_layout .emailccfrm .content{color:#000}.edit_frm .invoice_layout .admfrm{position:absolute;right:3rem;top:9rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .admfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .admfrm .content{color:#000}.edit_frm .invoice_layout .admfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .admfrm:hover div.axf{display:block}.edit_frm .invoice_layout .ctpfrm{position:absolute;right:3rem;top:14rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .ctpfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .ctpfrm .content{color:#000}.edit_frm .invoice_layout .ctpfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .ctpfrm:hover div.axf{display:block}.edit_frm .invoice_layout .adrfrm{position:absolute;left:3rem;top:6rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .adrfrm:hover div.axf{display:block}.edit_frm .invoice_layout .locfrm{position:absolute;left:3rem;top:18.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .locfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .locfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .locfrm:hover div.axf{display:block}.edit_frm .invoice_layout .tfrm,.edit_frm .invoice_layout>div.title{position:absolute;left:3rem;top:15rem;font-size:2rem;cursor:pointer}.edit_frm .invoice_layout .tfrm:hover div.axf,.edit_frm .invoice_layout>div.title:hover div.axf{display:block}.edit_frm .invoice_layout div.fnote{margin:1rem 0}.edit_frm .invoice_layout p+table.invi,.edit_frm .invoice_layout table.invi+p{margin-top:2.5rem}.edit_frm .invoice_layout table.invi{border-collapse:separate;border-spacing:0;border-color:#fff;width:100%;max-width:100%}.edit_frm .invoice_layout table.invi>tbody>tr.hidden{display:none}.edit_frm .invoice_layout table.invi>tbody>tr:nth-child(2n+1) td{background-color:#fbfbfb;border-color:#fbfbfb}.edit_frm .invoice_layout table.invi>tbody>tr.title>td{background:#fff;border-color:#fff;border-top:1.5px solid #000}.edit_frm .invoice_layout table.invi>tbody>tr.sethdr td.txt{font-weight:700}.edit_frm .invoice_layout table.invi>tbody>tr.lvl1 td.txt{padding-left:calc(.4rem + 1.4rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl2 td.txt{padding-left:calc(.4rem + 2.8rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl3 td.txt{padding-left:calc(.4rem + 4.2rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl4 td.txt{padding-left:calc(.4rem + 5.6rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl5 td.txt{padding-left:calc(.4rem + 7rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl6 td.txt{padding-left:calc(.4rem + 8.4rem)}.edit_frm .invoice_layout table.invi td.currency,.edit_frm .invoice_layout table.invi td.num,.edit_frm .invoice_layout table.invi th.currency,.edit_frm .invoice_layout table.invi th.num{text-align:right;white-space:nowrap}.edit_frm .invoice_layout table.invi td.keep,.edit_frm .invoice_layout table.invi th.keep{white-space:nowrap}.edit_frm .invoice_layout table.invi table.stbl td,.edit_frm .invoice_layout table.invi table.stbl th{padding:.3rem .5rem}.edit_frm .invoice_layout table.invi table.stbl td:first-child,.edit_frm .invoice_layout table.invi table.stbl th:first-child{padding-left:0}.edit_frm .invoice_layout table.invi table.stbl td:last-child,.edit_frm .invoice_layout table.invi table.stbl th:last-child{padding-right:0}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>td,.edit_frm .invoice_layout table.invi>tr>th{border-width:1px;padding:.3rem .5rem;border-left:none!important;border-right:none!important}.edit_frm .invoice_layout table.invi>tbody>tr>td.aux,.edit_frm .invoice_layout table.invi>tbody>tr>th.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>td.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>th.aux,.edit_frm .invoice_layout table.invi>thead>tr>td.aux,.edit_frm .invoice_layout table.invi>thead>tr>th.aux,.edit_frm .invoice_layout table.invi>tr>td.aux,.edit_frm .invoice_layout table.invi>tr>th.aux{width:0;max-width:0;min-width:0;position:relative;padding:0}.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>th{text-align:left;font-weight:300;background-color:#fff;border-color:#fff;font-size:.8rem;font-style:italic;border-top-style:none;border-bottom-style:none}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>tr>td{vertical-align:top;font-weight:400;background-color:#f8f8f8;border-color:#f8f8f8;border-top-style:solid;border-bottom-style:solid;user-select:none}.edit_frm .invoice_layout table.invi>tbody>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tfoot>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>thead>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout table.invi>tbody>tr.isum>td,.edit_frm .invoice_layout table.invi>tfoot>tr.isum>td,.edit_frm .invoice_layout table.invi>thead>tr.isum>td,.edit_frm .invoice_layout table.invi>tr.isum>td{border-top:1px solid #000;background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.sep>td,.edit_frm .invoice_layout table.invi>tfoot>tr.sep>td,.edit_frm .invoice_layout table.invi>thead>tr.sep>td,.edit_frm .invoice_layout table.invi>tr.sep>td{background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.tsum td,.edit_frm .invoice_layout table.invi>tfoot>tr.tsum td,.edit_frm .invoice_layout table.invi>thead>tr.tsum td,.edit_frm .invoice_layout table.invi>tr.tsum td{font-weight:600;border-top:1px solid #000;border-bottom:1px solid #000}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move{background:url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAzMiAzMiIgaWQ9IkxheWVyXzQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDMxIDgsMTggMjQsMTggICAgICIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI0RERERERCIvPjxwb2x5Z29uIGZpbGw9Im5vbmUiIHBvaW50cz0iMTYsMSA4LDE0IDI0LDE0ICAgICAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNEREREREQiLz48L2c+PC9zdmc+) center center/contain no-repeat border-box}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move:hover{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIGlkPSJMYXllcl80IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGc+PHBvbHlnb24gZmlsbD0ibm9uZSIgcG9pbnRzPSIxNiwzMSA4LDE4IDI0LDE4ICAgICAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDEgOCwxNCAyNCwxNCAgICAgIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9nPjwvc3ZnPg==)}.edit_frm .invoice_layout table.invi .sortable>tr.sortactive>td.ico{cursor:move}.edit_frm .invoice_layout .btn{background:url("") center center/contain no-repeat content-box #fff;position:absolute;top:.2rem;right:.2rem;height:3rem;width:3rem;padding:.1rem;z-index:11}.edit_frm .invoice_layout .btn.sprev{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout .btn.sdoc{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout.freeze::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(50,50,50,.3);user-select:none;cursor:wait;z-index:10;pointer-events:none}.edit_frm .invoice_layout.freeze::before tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout.freeze::after{content:"";position:absolute;top:50%;left:50%;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;border:.4rem solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;z-index:11;pointer-events:none;animation:.8s linear infinite fis_spin}.edit_frm .invoice_layout .dvalidation{margin:0 0 1rem}.edit_frm .invoice_layout .dvalidation.hidden{display:none}.edit_frm .invoice_layout .dvalidation .dvmsg{padding:.4rem .7rem;margin:.25rem 0;border-radius:.2rem;font-size:.9rem;border-left:4px solid #999;background:#f5f5f5}.edit_frm .invoice_layout .dvalidation .dvmsg.error{border-left-color:#c0392b;background:#fdecea;color:#922}.edit_frm .invoice_layout .dvalidation .dvmsg.warning{border-left-color:#e0a800;background:#fff8e1;color:#7a5c00}.edit_frm .invoice_layout .dvalidation .dvmsg.info{border-left-color:#3498db;background:#eaf4fb;color:#1c5a82}.dhist .invtbl{width:100%}.dhist td,.dhist th{padding:.3rem .6rem;text-align:left;vertical-align:top}.dhist tbody tr:nth-child(even){background:#fafafa}.modal-body .lstfrm{display:block;position:relative}.modal-body .lstfrm .li{display:inline-block;background-color:#fff;border:1px solid #e0e0e0;padding:1.7rem .5rem .5rem;border-radius:.2rem;cursor:pointer;position:relative;margin:0 .5rem .5rem 0;box-shadow:1px 1px 3px rgba(50,50,50,.1)}.modal-body .lstfrm .li .lbl{position:absolute;background:#727272;color:#fff;font-size:.8rem;left:0;top:0;right:0;padding:.2rem;border-top-left-radius:inherit;border-top-right-radius:inherit}.adr-conformity{margin-top:.75rem;padding:.6rem .75rem;background:#f3f7fb;border:1px solid #cfe0f0;border-radius:4px;font-size:.85rem;line-height:1.35}.adr-conformity .hd{font-weight:600;margin-bottom:.2rem}.adr-conformity .tx{color:#445}.modal .setstruct.busy{opacity:.6;pointer-events:none}.modal .setstruct div.shint{font-size:.85rem;color:#666;margin:0 0 .8rem}.modal .setstruct div.sblock{margin:0 0 1.4rem}.modal .setstruct div.sblock div.sbhd{font-weight:700;padding:.4rem .6rem;border-top:1.5px solid #000;border-bottom:1px solid #ddd}.modal .setstruct div.sblock div.sbhd.dropok{background-color:#e6f2e6;outline:#5a5 dashed 2px}.modal .setstruct div.sblock table.stbl{width:100%;border-collapse:collapse}.modal .setstruct div.sblock table.stbl th{text-align:left;font-size:.8rem;color:#666;padding:.3rem .4rem;border-bottom:1px solid #ddd}.modal .setstruct div.sblock table.stbl td{padding:.3rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.modal .setstruct div.sblock table.stbl td.grip{width:1.6rem;cursor:grab;color:#999}.modal .setstruct div.sblock table.stbl td.pos,.modal .setstruct div.sblock table.stbl td.qty{width:4rem;white-space:nowrap}.modal .setstruct div.sblock table.stbl td.typ{width:7rem;white-space:nowrap;color:#666;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.typ span.fold{cursor:pointer;margin-right:.35rem;color:#555;display:inline-block;width:1rem}.modal .setstruct div.sblock table.stbl td.ttl span.ind{display:inline-block}.modal .setstruct div.sblock table.stbl td.ttl span.seti{margin-right:.3rem;color:#888}.modal .setstruct div.sblock table.stbl td.ttl span.cnt{color:#999;font-weight:400;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.act{width:7.5rem;white-space:nowrap;text-align:right}.modal .setstruct div.sblock table.stbl td.act div.ibtn{display:inline-block;cursor:pointer;padding:0 .25rem}.modal .setstruct div.sblock table.stbl td.act div.ibtn.disabled{opacity:.25;cursor:default}.modal .setstruct div.sblock table.stbl tr.srow.isset td.ttl{font-weight:700}.modal .setstruct div.sblock table.stbl tr.srow.hid{display:none}.modal .setstruct div.sblock table.stbl tr.srow.folded td.ttl{font-style:italic}.modal .setstruct div.sblock table.stbl tr.srow.dragging{opacity:.4}.modal .setstruct div.sblock table.stbl tr.srow.dropok td{background-color:#e6f2e6}.modal .setstruct div.sblock table.stbl tr.srow.dropbefore td{border-top:3px solid #5a5}.modal .setstruct div.sblock table.stbl tr.srow.dropafter td{border-bottom:3px solid #5a5}.modal .setstruct div.sblock div.sroot{margin:.3rem 0 .5rem;padding:.4rem .6rem;border:1px dashed #bbb;color:#888;font-size:.85rem}.modal .setstruct div.sblock div.sroot.dropok{background-color:#e6f2e6;border-color:#5a5;color:#363}.modal .setstruct div.sblock div.screate{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem;background-color:#f7f7f7}.modal .setstruct div.sblock div.screate span.lbl{font-size:.85rem;color:#666}.modal .setstruct div.sblock div.screate input[type=text],.modal .setstruct div.sblock div.screate select{padding:.2rem .3rem}.modal .setstruct div.sblock div.screate input[type=text]{flex:1 1 14rem;min-width:10rem} \ No newline at end of file +@charset "UTF-8";span.cla,td.cla{cursor:pointer}.invfrm>table td{max-height:2.5rem;background-color:#f4f4f4}.invfrm>table td.sh_s{color:#bf4b06}.invfrm>table td.av{border:2px solid red}.invfrm>table td.av+td.vsel select{display:block}.invfrm>table td.tags .tag{display:inline-block;padding:.1rem .3rem;background:#fff;margin-top:.2rem;border:1px solid #ccc;border-radius:.3rem;font-weight:300;font-size:.8rem;text-rendering:geometricprecision}.invfrm>table td.tags .tag.abrechnung_projekt,.invfrm>table td.tags .tag.angebot_erstellt{background-color:#1a237e;color:#fff}.invfrm>table td.tags .tag.auftrag_erhalten{background-color:#427323}.invfrm>table td.tags .tag.folgeauftrag{background-color:#00acc1;color:#fff}.invfrm>table td.tags .tag.gutschrift,.invfrm>table td.tags .tag.korrektur{background-color:#d81b60}.invfrm>table td.tags .tag.rechnung_erledigt{background-color:#427323;color:#fff}.invfrm>table td.tags .tag.topkunde__vip_kunde{background-color:#000;color:#fff}.invfrm>table td.tags .tag.zur_rechnungsstellung{background-color:#ffd600}.invfrm>table td.tags .tag.fibu_bitte_mit_doris_abstimmen{background-color:#d81b60;font-size:1rem;padding:.15rem .5rem}.invfrm>table td>.ctw{display:block;position:relative;max-height:2.5rem;overflow:hidden;text-overflow:ellipsis}.invfrm>table tr.tbhd td{opacity:.3}.invfrm>table tr.alt+tr:not(.alt) td,.invfrm>table tr:not(.alt)+tr.alt td{border-top:1px solid #727272}.invfrm>table tr th{background-color:rgba(27,67,121,.6);color:#fff;text-align:left}.invfrm>table tr:hover td{border-top-color:#ff4500!important;border-top-width:2px}.invfrm>table tr.alt td{background-color:#e5e5e5;border-color:#ccc}.invfrm>table tr.alt td.hl{background-color:#ffffe0}.invfrm>table tr.child td.name{color:#56a532;position:relative;padding-left:1.8rem}.invfrm>table tr.child td.name::after{content:"";background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmcgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZS8+PGcgZGF0YS1uYW1lPSIxNS1BcnJvdy1kaXJlY3Rpb24tcG9pbnRlciIgaWQ9Il8xNS1BcnJvdy1kaXJlY3Rpb24tcG9pbnRlciI+PHBvbHlsaW5lIHBvaW50cz0iMjEgMzEgMjcgMjQgMjEgMTYiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoycHgiLz48cG9seWxpbmUgcG9pbnRzPSIyNiAyNCA1IDI0IDUgMSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjJweCIvPjwvZz48L3N2Zz4=) center center no-repeat;position:absolute;left:.3rem;width:1rem;height:1rem;top:.7rem}.rfrm{min-width:200px;min-height:200px}table.if{border-collapse:collapse;margin:1rem 0;background:#fff}table.if tr:nth-child(2n+1) td{background-color:#f9f9f9}table.if tr.title td{background-color:#56a532;color:#fff}table.if tr.title td .eid{font-weight:700;margin:0 1rem 0 .5rem;font-size:140%}table.if tr.title td .nme{font-size:110%}table.if tr.shd td{font-style:italic;color:#bbb;background-color:#fff!important;font-size:90%}table.if td{padding:.2rem .35rem;border:1px solid #ddd}table.if td.currency,table.if td.num,table.if th.currency,table.if th.num{text-align:right;white-space:nowrap}table.if td.keep,table.if th.keep{white-space:nowrap}#listframe .lh{margin:1.5rem 0 1.25rem 1.5rem;text-decoration:underline;font-size:1rem;font-weight:bolder}#listframe li.cli{border-bottom:1px solid #ccc;margin-bottom:1rem;list-style:none}#listframe li.cli .lidt,#listframe li.cli .lihd{padding:0 .5rem .5rem 3rem;position:relative;display:block}#listframe li.cli .lidt .nme,#listframe li.cli .lihd .nme{display:block;margin-top:.5rem}#listframe li.cli .lidt>div{display:block}#listframe li.cli .lidt>div.ivn{max-width:30rem}#listframe li.cli .cbox{height:.85rem;width:.85rem;display:inline-block;position:absolute;left:0;top:0}#listframe li.cli .cbox::before{content:"\e157";font-family:"Glyphicons Halflings";font-size:24px;font-style:normal;font-weight:400;line-height:1;cursor:pointer}#listframe li.cli .dli{height:.85rem;width:.85rem;display:inline-block;position:absolute;left:0;top:0}#listframe li.cli .dli::before{content:"\e166";font-family:"Glyphicons Halflings";font-size:24px;font-style:normal;font-weight:400;line-height:1;cursor:pointer}#listframe li.cli.checked .cbox::before{content:"\e067"}@keyframes fis_spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.edit_frm .invoice_layout{margin:2rem 2rem 2rem auto;width:50rem;border:1px solid #eee;padding:25.5rem 3rem 3rem;box-shadow:4px 4px 9px rgba(50,50,50,.3);position:relative}.edit_frm .invoice_layout .axf{font-size:1rem;display:none;position:absolute;right:100%;height:100%;min-height:1.5rem;min-width:2rem;background:#f0ffe2;border:1px solid #ccc;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;top:0;width:auto;max-height:1.5rem;overflow:visible;padding:.1rem}.edit_frm .invoice_layout .axf>.ibtn{cursor:pointer;height:100%;width:1.5rem;display:inline-block;position:relative}.edit_frm .invoice_layout .axf nav.rowctx{position:relative;display:inline-block;width:1.5rem;height:100%;min-height:0;max-height:none;background:0 0;z-index:auto;vertical-align:top}.edit_frm .invoice_layout .axf nav.rowctx>ul{height:100%}.edit_frm .invoice_layout .axf nav.rowctx>ul>li{height:100%;float:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn{padding:0;width:1.5rem;height:100%;text-align:center;line-height:1.3rem}.edit_frm .invoice_layout .axf nav.rowctx>ul>li>a.ctxbtn>.caret{display:none}.edit_frm .invoice_layout .axf nav.rowctx>ul>li.dropdown>ul.dropdown-menu{top:100%;left:auto;right:0;font-size:.85rem;white-space:nowrap}.edit_frm .invoice_layout .sndfrm{position:absolute;font-size:.7rem;color:#727272;top:4.7rem;left:3rem;width:auto;height:auto;user-select:none}.edit_frm .invoice_layout .emailfrm{position:absolute;font-size:.7rem;top:.5rem;left:.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .emailfrm .content{color:#000}.edit_frm .invoice_layout .emailfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block}.edit_frm .invoice_layout .emailfrm:hover div.axf{display:block}.edit_frm .invoice_layout .emailccfrm{position:absolute;font-size:.7rem;top:2.2rem;left:.5rem;width:auto;height:auto}.edit_frm .invoice_layout .emailccfrm .content{color:#000}.edit_frm .invoice_layout .admfrm{position:absolute;right:3rem;top:9rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .admfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .admfrm .content{color:#000}.edit_frm .invoice_layout .admfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .admfrm:hover div.axf{display:block}.edit_frm .invoice_layout .ctpfrm{position:absolute;right:3rem;top:14rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .ctpfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .ctpfrm .content{color:#000}.edit_frm .invoice_layout .ctpfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .ctpfrm:hover div.axf{display:block}.edit_frm .invoice_layout .adrfrm{position:absolute;left:3rem;top:6rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .adrfrm:hover div.axf{display:block}.edit_frm .invoice_layout .locfrm{position:absolute;left:3rem;top:18.5rem;width:auto;height:auto;cursor:pointer}.edit_frm .invoice_layout .locfrm .ahd{display:block;color:#727272;margin:0 0 .2rem}.edit_frm .invoice_layout .locfrm .content:empty::before{content:"-";min-width:5rem;height:1rem;display:block;position:absolute}.edit_frm .invoice_layout .locfrm:hover div.axf{display:block}.edit_frm .invoice_layout .tfrm,.edit_frm .invoice_layout>div.title{position:absolute;left:3rem;top:15rem;font-size:2rem;cursor:pointer}.edit_frm .invoice_layout .tfrm:hover div.axf,.edit_frm .invoice_layout>div.title:hover div.axf{display:block}.edit_frm .invoice_layout div.fnote{margin:1rem 0}.edit_frm .invoice_layout p+table.invi,.edit_frm .invoice_layout table.invi+p{margin-top:2.5rem}.edit_frm .invoice_layout table.invi{border-collapse:separate;border-spacing:0;border-color:#fff;width:100%;max-width:100%}.edit_frm .invoice_layout table.invi>tbody>tr.hidden{display:none}.edit_frm .invoice_layout table.invi>tbody>tr:nth-child(2n+1) td{background-color:#fbfbfb;border-color:#fbfbfb}.edit_frm .invoice_layout table.invi>tbody>tr.title>td{background:#fff;border-color:#fff;border-top:1.5px solid #000}.edit_frm .invoice_layout table.invi>tbody>tr.sethdr td.txt{font-weight:700}.edit_frm .invoice_layout table.invi>tbody>tr.lvl1 td.txt{padding-left:calc(.4rem + 1.4rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl2 td.txt{padding-left:calc(.4rem + 2.8rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl3 td.txt{padding-left:calc(.4rem + 4.2rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl4 td.txt{padding-left:calc(.4rem + 5.6rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl5 td.txt{padding-left:calc(.4rem + 7rem)}.edit_frm .invoice_layout table.invi>tbody>tr.lvl6 td.txt{padding-left:calc(.4rem + 8.4rem)}.edit_frm .invoice_layout table.invi td.currency,.edit_frm .invoice_layout table.invi td.num,.edit_frm .invoice_layout table.invi th.currency,.edit_frm .invoice_layout table.invi th.num{text-align:right;white-space:nowrap}.edit_frm .invoice_layout table.invi td.keep,.edit_frm .invoice_layout table.invi th.keep{white-space:nowrap}.edit_frm .invoice_layout table.invi table.stbl td,.edit_frm .invoice_layout table.invi table.stbl th{padding:.3rem .5rem}.edit_frm .invoice_layout table.invi table.stbl td:first-child,.edit_frm .invoice_layout table.invi table.stbl th:first-child{padding-left:0}.edit_frm .invoice_layout table.invi table.stbl td:last-child,.edit_frm .invoice_layout table.invi table.stbl th:last-child{padding-right:0}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>td,.edit_frm .invoice_layout table.invi>tr>th{border-width:1px;padding:.3rem .5rem;border-left:none!important;border-right:none!important}.edit_frm .invoice_layout table.invi>tbody>tr>td.aux,.edit_frm .invoice_layout table.invi>tbody>tr>th.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>td.aux,.edit_frm .invoice_layout table.invi>tfoot>tr>th.aux,.edit_frm .invoice_layout table.invi>thead>tr>td.aux,.edit_frm .invoice_layout table.invi>thead>tr>th.aux,.edit_frm .invoice_layout table.invi>tr>td.aux,.edit_frm .invoice_layout table.invi>tr>th.aux{width:0;max-width:0;min-width:0;position:relative;padding:0}.edit_frm .invoice_layout table.invi>tbody>tr>th,.edit_frm .invoice_layout table.invi>tfoot>tr>th,.edit_frm .invoice_layout table.invi>thead>tr>th,.edit_frm .invoice_layout table.invi>tr>th{text-align:left;font-weight:300;background-color:#fff;border-color:#fff;font-size:.8rem;font-style:italic;border-top-style:none;border-bottom-style:none}.edit_frm .invoice_layout table.invi>tbody>tr>td,.edit_frm .invoice_layout table.invi>tfoot>tr>td,.edit_frm .invoice_layout table.invi>thead>tr>td,.edit_frm .invoice_layout table.invi>tr>td{vertical-align:top;font-weight:400;background-color:#f8f8f8;border-color:#f8f8f8;border-top-style:solid;border-bottom-style:solid;user-select:none}.edit_frm .invoice_layout table.invi>tbody>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tfoot>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>thead>tr:hover>td.aux>.axf,.edit_frm .invoice_layout table.invi>tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout table.invi>tbody>tr.isum>td,.edit_frm .invoice_layout table.invi>tfoot>tr.isum>td,.edit_frm .invoice_layout table.invi>thead>tr.isum>td,.edit_frm .invoice_layout table.invi>tr.isum>td{border-top:1px solid #000;background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.sep>td,.edit_frm .invoice_layout table.invi>tfoot>tr.sep>td,.edit_frm .invoice_layout table.invi>thead>tr.sep>td,.edit_frm .invoice_layout table.invi>tr.sep>td{background:#fff}.edit_frm .invoice_layout table.invi>tbody>tr.tsum td,.edit_frm .invoice_layout table.invi>tfoot>tr.tsum td,.edit_frm .invoice_layout table.invi>thead>tr.tsum td,.edit_frm .invoice_layout table.invi>tr.tsum td{font-weight:600;border-top:1px solid #000;border-bottom:1px solid #000}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move{background:url(data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAzMiAzMiIgaWQ9IkxheWVyXzQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDMxIDgsMTggMjQsMTggICAgICIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI0RERERERCIvPjxwb2x5Z29uIGZpbGw9Im5vbmUiIHBvaW50cz0iMTYsMSA4LDE0IDI0LDE0ICAgICAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNEREREREQiLz48L2c+PC9zdmc+) center center/contain no-repeat border-box}.edit_frm .invoice_layout table.invi .sortable>tr>td.aux .ico.move:hover{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIGlkPSJMYXllcl80IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGc+PHBvbHlnb24gZmlsbD0ibm9uZSIgcG9pbnRzPSIxNiwzMSA4LDE4IDI0LDE4ICAgICAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjIiLz48cG9seWdvbiBmaWxsPSJub25lIiBwb2ludHM9IjE2LDEgOCwxNCAyNCwxNCAgICAgIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIyIi8+PC9nPjwvc3ZnPg==)}.edit_frm .invoice_layout table.invi .sortable>tr.sortactive>td.ico{cursor:move}.edit_frm .invoice_layout .btn{background:url("") center center/contain no-repeat content-box #fff;position:absolute;top:.2rem;right:.2rem;height:3rem;width:3rem;padding:.1rem;z-index:11}.edit_frm .invoice_layout .btn.sprev{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout .btn.sdoc{background-image:url(data:image/png;base64,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)}.edit_frm .invoice_layout.freeze::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(50,50,50,.3);user-select:none;cursor:wait;z-index:10;pointer-events:none}.edit_frm .invoice_layout.freeze::before tr:hover>td.aux>.axf{display:inline-flex}.edit_frm .invoice_layout.freeze::after{content:"";position:absolute;top:50%;left:50%;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;border:.4rem solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;z-index:11;pointer-events:none;animation:.8s linear infinite fis_spin}.edit_frm .invoice_layout .dvalidation{margin:0 0 1rem}.edit_frm .invoice_layout .dvalidation.hidden{display:none}.edit_frm .invoice_layout .dvalidation .dvmsg{padding:.4rem .7rem;margin:.25rem 0;border-radius:.2rem;font-size:.9rem;border-left:4px solid #999;background:#f5f5f5}.edit_frm .invoice_layout .dvalidation .dvmsg.error{border-left-color:#c0392b;background:#fdecea;color:#922}.edit_frm .invoice_layout .dvalidation .dvmsg.warning{border-left-color:#e0a800;background:#fff8e1;color:#7a5c00}.edit_frm .invoice_layout .dvalidation .dvmsg.info{border-left-color:#3498db;background:#eaf4fb;color:#1c5a82}.dhist .invtbl{width:100%}.dhist td,.dhist th{padding:.3rem .6rem;text-align:left;vertical-align:top}.dhist tbody tr:nth-child(even){background:#fafafa}.modal-body .lstfrm{display:block;position:relative}.modal-body .lstfrm .li{display:inline-block;background-color:#fff;border:1px solid #e0e0e0;padding:1.7rem .5rem .5rem;border-radius:.2rem;cursor:pointer;position:relative;margin:0 .5rem .5rem 0;box-shadow:1px 1px 3px rgba(50,50,50,.1)}.modal-body .lstfrm .li .lbl{position:absolute;background:#727272;color:#fff;font-size:.8rem;left:0;top:0;right:0;padding:.2rem;border-top-left-radius:inherit;border-top-right-radius:inherit}.adr-conformity{margin-top:.75rem;padding:.6rem .75rem;background:#f3f7fb;border:1px solid #cfe0f0;border-radius:4px;font-size:.85rem;line-height:1.35}.adr-conformity .hd{font-weight:600;margin-bottom:.2rem}.adr-conformity .tx{color:#445}.modal .setstruct.busy{opacity:.6;pointer-events:none}.modal .setstruct div.shint{font-size:.85rem;color:#666;margin:0 0 .8rem}.modal .setstruct div.sblock{margin:0 0 1.4rem}.modal .setstruct div.sblock div.sbhd{font-weight:700;padding:.4rem .6rem;border-top:1.5px solid #000;border-bottom:1px solid #ddd}.modal .setstruct div.sblock div.sbhd.dropok{background-color:#e6f2e6;outline:#5a5 dashed 2px}.modal .setstruct div.sblock table.stbl{width:100%;border-collapse:collapse}.modal .setstruct div.sblock table.stbl th{text-align:left;font-size:.8rem;color:#666;padding:.3rem .4rem;border-bottom:1px solid #ddd}.modal .setstruct div.sblock table.stbl td{padding:.3rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.modal .setstruct div.sblock table.stbl td.grip{width:1.6rem;cursor:grab;color:#999}.modal .setstruct div.sblock table.stbl td.pos,.modal .setstruct div.sblock table.stbl td.qty{width:4rem;white-space:nowrap}.modal .setstruct div.sblock table.stbl td.typ{width:7rem;white-space:nowrap;color:#666;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.typ span.fold{cursor:pointer;margin-right:.35rem;color:#555;display:inline-block;width:1rem}.modal .setstruct div.sblock table.stbl td.ttl span.seti{display:block;margin-bottom:.15rem;color:#888;font-size:.75rem}.modal .setstruct div.sblock table.stbl td.ttl span.seti::before{content:"↳ "}.modal .setstruct div.sblock table.stbl td.ttl span.txt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;line-height:1.3rem;cursor:pointer}.modal .setstruct div.sblock table.stbl td.ttl span.txt.exp{-webkit-line-clamp:unset;display:block;max-height:15.6rem;overflow-y:auto}.modal .setstruct div.sblock table.stbl td.ttl span.cnt{color:#999;font-weight:400;font-size:.85rem}.modal .setstruct div.sblock table.stbl td.act{width:7.5rem;white-space:nowrap;text-align:right}.modal .setstruct div.sblock table.stbl td.act div.ibtn{display:inline-block;cursor:pointer;padding:0 .25rem}.modal .setstruct div.sblock table.stbl td.act div.ibtn.disabled{opacity:.25;cursor:default}.modal .setstruct div.sblock table.stbl tr.srow.isset td.ttl{font-weight:700}.modal .setstruct div.sblock table.stbl tr.srow.hid{display:none}.modal .setstruct div.sblock table.stbl tr.srow.folded td.ttl{font-style:italic}.modal .setstruct div.sblock table.stbl tr.srow.dragging{opacity:.4}.modal .setstruct div.sblock table.stbl tr.srow.dropok td{background-color:#e6f2e6}.modal .setstruct div.sblock table.stbl tr.srow.dropbefore td{border-top:3px solid #5a5}.modal .setstruct div.sblock table.stbl tr.srow.dropafter td{border-bottom:3px solid #5a5}.modal .setstruct div.sblock div.sroot{margin:.3rem 0 .5rem;padding:.4rem .6rem;border:1px dashed #bbb;color:#888;font-size:.85rem}.modal .setstruct div.sblock div.sroot.dropok{background-color:#e6f2e6;border-color:#5a5;color:#363}.modal .setstruct div.sblock div.screate{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem;background-color:#f7f7f7}.modal .setstruct div.sblock div.screate span.lbl{font-size:.85rem;color:#666}.modal .setstruct div.sblock div.screate input[type=text],.modal .setstruct div.sblock div.screate select{padding:.2rem .3rem}.modal .setstruct div.sblock div.screate input[type=text]{flex:1 1 14rem;min-width:10rem} \ No newline at end of file diff --git a/Fuchs/wwwroot/web/tools.js b/Fuchs/wwwroot/web/tools.js index f36c9c0..ceb47a5 100644 --- a/Fuchs/wwwroot/web/tools.js +++ b/Fuchs/wwwroot/web/tools.js @@ -1,5 +1,4 @@ +/*! js-cookie v3.0.1 | MIT */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self,function(){var n=e.Cookies,o=e.Cookies=t();o.noConflict=function(){return e.Cookies=n,o}}())}(this,(function(){"use strict";function e(e){for(var t=1;t+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0