diff --git a/Lib/Tickets/BaseTicket.php b/Lib/Tickets/BaseTicket.php index 5739a18..fbfc2b2 100644 --- a/Lib/Tickets/BaseTicket.php +++ b/Lib/Tickets/BaseTicket.php @@ -18,6 +18,7 @@ use FacturaScripts\Dinamic\Model\User; use Mike42\Escpos\PrintConnectors\DummyPrintConnector; use Mike42\Escpos\Printer; +use FacturaScripts\Dinamic\Model\Contacto; /** * @author Carlos Garcia Gomez @@ -560,7 +561,31 @@ protected static function setHeader(ModelClass $model, TicketPrinter $printer, s // imprimimos la fecha y el cliente if (in_array($model->modelClassName(), ['PresupuestoCliente', 'PedidoCliente', 'AlbaranCliente', 'FacturaCliente'])) { static::$escpos->text(static::sanitize(static::$i18n->trans('date') . ': ' . $model->fecha . ' ' . $model->hora) . "\n"); - static::$escpos->text(static::sanitize(static::$i18n->trans('customer') . ': ' . $model->nombrecliente) . "\n\n"); + static::$escpos->text(static::sanitize(static::$i18n->trans('customer') . ': ' . $model->nombrecliente) . "\n"); + + // si se debe imprimir la dirección de envio + if ($printer->print_shipping_address) { + static::$escpos->text(static::sanitize(static::$i18n->trans('address') . ': ')); + $shippingAddress = new Contacto(); + + if(empty($model->idcontactoenv) && empty($model->direccion)){ + // si las dos están vacías entonces un - + static::$escpos->text(static::sanitize(' - ')); + + } else if ($shippingAddress->load($model->idcontactoenv)) { + // si existe el contacto de envio lo imprimimos + static::$escpos->text(static::sanitize($shippingAddress->direccion) . "\n"); + static::$escpos->text(static::sanitize( + $shippingAddress->codpostal . ' (' . $shippingAddress->ciudad . '), ' . $shippingAddress->provincia + ) . ", "); + + }else{ + // sino imprimimos la direccion de factura + static::$escpos->text(static::sanitize($model->direccion) . "\n"); + } + } + + static::$escpos->text("\n"); } // añadimos la cabecera diff --git a/Model/TicketPrinter.php b/Model/TicketPrinter.php index a30e245..edf2ab9 100644 --- a/Model/TicketPrinter.php +++ b/Model/TicketPrinter.php @@ -102,6 +102,9 @@ class TicketPrinter extends ModelClass /** @var bool */ public $print_stored_logo; + /** @var bool */ + public $print_shipping_address; + /** @var int */ public $title_font_size; @@ -127,6 +130,7 @@ public function clear(): void $this->print_lines_total = true; $this->print_payment_methods = false; $this->print_stored_logo = false; + $this->print_shipping_address = false; $this->title_font_size = 2; } diff --git a/Table/tickets_printers.xml b/Table/tickets_printers.xml index d666a51..aa761e5 100644 --- a/Table/tickets_printers.xml +++ b/Table/tickets_printers.xml @@ -71,6 +71,11 @@ boolean false + + print_shipping_address + boolean + false + print_invoice_receipts boolean diff --git a/Translation/en_EN.json b/Translation/en_EN.json index 7d015c8..fc25ccd 100644 --- a/Translation/en_EN.json +++ b/Translation/en_EN.json @@ -96,6 +96,9 @@ "unknown-device": "Unknown device", "vendor-id": "Vendor ID", "vendor-product-id-required-to-print": "Vendor ID and Product ID are required to print.", + "you-can-adjust-parameters": "You can adjust the parameters if necessary.", + "last-activity": "Last activity", + "print-shipping-address": "Print shipping address", "websocket-error": "Error connecting to the WebSocket", "you-can-adjust-parameters": "You can adjust the parameters if necessary." } \ No newline at end of file diff --git a/Translation/es_ES.json b/Translation/es_ES.json index 1722d99..d611644 100644 --- a/Translation/es_ES.json +++ b/Translation/es_ES.json @@ -96,6 +96,9 @@ "unknown-device": "Dispositivo desconocido", "vendor-id": "Vendor ID", "vendor-product-id-required-to-print": "El Vendor ID y el Product ID son necesarios para imprimir.", + "you-can-adjust-parameters": "Puede ajustar los parámetros si es necesario.", + "last-activity": "Última actividad", + "print-shipping-address": "Imprimir dirección de envío", "websocket-error": "Error al conectar al websocket", "you-can-adjust-parameters": "Puede ajustar los parámetros si es necesario." } \ No newline at end of file diff --git a/XMLView/EditTicketPrinter.xml b/XMLView/EditTicketPrinter.xml index 69b26ee..ce36f9a 100644 --- a/XMLView/EditTicketPrinter.xml +++ b/XMLView/EditTicketPrinter.xml @@ -53,6 +53,9 @@ + + +