Closed moumour closed 9 months ago
Καλησπερα @moumour και sorry για την ταλαιπωρία Εν όψει της 19 που έχει αρκετές αλλαγές για τα Ελληνικά δεδομένα πάτησα σε νεώτερο κώδικα Αν δεν μπορείς να αναβαθμίσεις στην 18
Άλλαξε στο pdf_moon_mask4greece.modules.php από
$tab_height = $this->page_hauteur - $this->tab_top - $this->heightforfooter - $this->heightforfreetext - $this->getHeightForQRInvoice(1, $object, $langs);
σε
$tab_height = $this->page_hauteur - $this->tab_top - $this->heightforfooter - $this->heightforfreetext;
και αν σπάσει κάτι άλλο επειδη δεν μπορώ να δοκιμάσω σε 16 και 17...
Χρησιμοποίησε την 4.0.0 και άλλαξε από
// You can add more thing under header here, if you increase $extra_under_address_shift too.
$extra_under_address_shift = 0;
$qrcodestring = '';
if (!empty($conf->global->INVOICE_ADD_ZATCA_QR_CODE)) {
$qrcodestring = $object->buildZATCAQRString();
} elseif (!empty($conf->global->INVOICE_ADD_SWISS_QR_CODE)) {
$qrcodestring = $object->buildSwitzerlandQRString();
}
if ($qrcodestring) {
$qrcodecolor = array('25', '25', '25');
// set style for QR-code
$styleQr = array(
'border' => false,
'padding' => 0,
'fgcolor' => $qrcodecolor,
'bgcolor' => false, //array(255,255,255)
'module_width' => 1, // width of a single module in points
'module_height' => 1 // height of a single module in points
);
$pdf->write2DBarcode($qrcodestring, 'QRCODE,M', $this->marge_gauche, $this->tab_top - 5, 25, 25, $styleQr, 'N');
$extra_under_address_shift += 25;
}
σε
// You can add more thing under header here, if you increase $extra_under_address_shift too.
$extra_under_address_shift = 0;
$qrcodestring = '';
if (getDolGlobalString('INVOICE_ADD_ZATCA_QR_CODE')) {
$qrcodestring = $object->buildZATCAQRString();
} elseif (getDolGlobalString('INVOICE_ADD_SWISS_QR_CODE') == '1') {
$qrcodestring = $object->buildSwitzerlandQRString();
} elseif (getDolGlobalString('INVOICE_ADD_GREEK_QR_CODE')) {
$extrafields = new ExtraFields($this->db);
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
$object->fetch($rowid);
$object->fetch_optionals($rowid,$extralabels);
if (!empty($url)) {
$doc->loadHTML($url);
$aTags = $doc->getElementsByTagName('a');
$qrcodestring = $aTags->item(0)->getAttribute('href');
} else {
$qrcodestring = $object->array_options['options_mydata_reply_QR'];
}
}
if ($qrcodestring) {
$qrcodecolor = array('25', '25', '25');
// set style for QR-code
$styleQr = array(
'border' => false,
'padding' => 0,
'fgcolor' => $qrcodecolor,
'bgcolor' => false, //array(255,255,255)
'module_width' => 1, // width of a single module in points
'module_height' => 1 // height of a single module in points
);
if (getDolGlobalString('INVOICE_ADD_GREEK_QR_CODE') == '1') {
if (getDolGlobalInt('INVOICE_SHOW_SHIPPING_ADDRESS')) {
$pdf->SetAlpha(0.5);
$t_posx = 105;
$t_posy = 40 * $pdf->getPageHeight() / 150;
$pdf->write2DBarcode($qrcodestring, 'QRCODE,M', $t_posx, $t_posy, 19, 19, $styleQr, 'N');
$pdf->SetAlpha(1);
} elseif (!getDolGlobalInt('INVOICE_SHOW_SHIPPING_ADDRESS')) {
$pdf->SetAlpha(0.5);
$t_posx = 80;
$t_posy = 36 * $pdf->getPageHeight() / 150;
$pdf->write2DBarcode($qrcodestring, 'QRCODE,M', $t_posx, $t_posy, 19, 19, $styleQr, 'N');
$pdf->SetAlpha(1);}
$extra_under_address_shift += 5;
} elseif (getDolGlobalString('INVOICE_ADD_GREEK_QR_CODE') == '2') {
$pdf->SetAlpha(0.5);
$pdf->write2DBarcode($qrcodestring, 'QRCODE,M', $this->marge_gauche, 245, 200, 19, $styleQr, 'N');
$pdf->SetXY(55,275);
$pdf->SetAlpha(1);
}
}
Για να έχεις το QR
Το έκανα upgrade σε 18 και δουλεύει.
Στην έκδοση 4.0.2 και 4.0.1 στην δημιουργία του pdf βγάζει error Fatal error: Uncaught Error: Call to undefined method pdf_moon_mask4greece::getHeightForQRInvoice() in page ../custom/mask4greece/core/modules/facture/doc/pdf_moon_mask4greece.modules.php:530 Στην 4.0.0 λειτουργεί. Linux, php 7.4, dolibarr 17.x το έχω δοκιμάσει και σε dolibarr 16.x και λαμβάνω το ίδιο μύνημα.