Gutschrift: Beleg-Upload auch fuer Sachwerte + kein Unterschriftsblock bei Geld
- Beleg-Upload jetzt fuer beide Arten: bei Geld die Ueberweisungs- bestaetigung, bei Sachwert das unterschriebene Dokument. ReceiptControls in der Liste fuer Geld UND Sachwert (Label je nach Typ). Endpoint war schon typ-agnostisch. - PDF-Unterschriftsblock nur noch bei Sachwert - eine Ueberweisung wird nicht unterschrieben (Beleg = hochgeladene Ueberweisungsbestaetigung). Bei Geld entfaellt der Unterschrift/Ort-Block; im Formular sind Ort + 'Unterschrift am' bei Geld ausgeblendet. Verifiziert: beide PDFs erzeugen sauber (je 1 Seite). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -158,16 +158,21 @@ export async function generateCreditNotePdf(creditNoteId: number): Promise<{ buf
|
||||
}
|
||||
|
||||
// ---- Unterschriftsblock ----
|
||||
doc.moveDown(3);
|
||||
const y = doc.y;
|
||||
const place = cn.place || company.city || '';
|
||||
doc.fontSize(10).fillColor('#000');
|
||||
doc.text('_______________________________', 50, y);
|
||||
doc.text('_______________________________', 320, y);
|
||||
doc.fontSize(8).fillColor('#666');
|
||||
doc.text(`Ort/Datum${place ? ` (${place})` : ''}`, 50, y + 14);
|
||||
doc.text('Unterschrift', 320, y + 14);
|
||||
doc.fillColor('#000');
|
||||
// Nur bei Sachwert: das Dokument wird vom Kunden unterschrieben. Bei einer
|
||||
// Geld-Überweisung ist keine Unterschrift nötig – als Beleg dient die
|
||||
// hochgeladene Überweisungsbestätigung.
|
||||
if (cn.type === 'SACHWERT') {
|
||||
doc.moveDown(3);
|
||||
const y = doc.y;
|
||||
const place = cn.place || company.city || '';
|
||||
doc.fontSize(10).fillColor('#000');
|
||||
doc.text('_______________________________', 50, y);
|
||||
doc.text('_______________________________', 320, y);
|
||||
doc.fontSize(8).fillColor('#666');
|
||||
doc.text(`Ort/Datum${place ? ` (${place})` : ''}`, 50, y + 14);
|
||||
doc.text('Unterschrift', 320, y + 14);
|
||||
doc.fillColor('#000');
|
||||
}
|
||||
|
||||
// ---- Fußzeile (Firmendaten) ----
|
||||
// Position aus der Seitengeometrie berechnen, damit die Fußzeile am
|
||||
|
||||
Reference in New Issue
Block a user