Saltar al contenido principal

Defaults de Impresion por Empresa

Los defaults de impresion son la configuracion predeterminada de impresion que se aplica automaticamente a las nuevas terminales POS de la empresa. Permiten estandarizar el comportamiento sin obligar al administrador a llenar los campos de impresion en cada caja nueva.

Endpoint API: GET/PUT /api/companyprintingdefaults


Cuando se aplican

Los defaults se aplican al crear una nueva terminal (POSTerminal). Solo se rellenan los campos que el administrador no especifico explicitamente.

Crear terminal "Caja 4"

PrinterType vacio? → heredar DefaultPrinterType de la empresa
PaperWidth vacio? → heredar DefaultPaperWidth
Copies = 0? → heredar DefaultCopies
Encoding vacio? → heredar DefaultEncoding
FooterText vacio? → heredar DefaultFooterText
... etc.

Una vez creada la terminal, los cambios posteriores en los defaults no afectan a las terminales existentes — solo a las nuevas.


Campos disponibles

CampoTipoPredeterminado del sistema
DefaultPrinterTypeEnum (PrinterType)None
DefaultPaperWidthstring ("58mm" / "80mm" / "Letter")80mm
DefaultCopiesint (1-5)1
DefaultEncodingstring (CP437/CP850/CP858/CP1252)CP850
DefaultFooterTextstring (max 500)(vacio)
DefaultOpenCashDrawerboolfalse
DefaultSilentPrintbooltrue
DefaultPrintShowLogobooltrue
DefaultPrintShowProductDescriptionbooltrue
DefaultPrintShowUnitPricebooltrue
DefaultPrintShowUnitOfMeasureboolfalse
DefaultPrintShowBarcodeboolfalse
DefaultPrintShowTaxBreakdownbooltrue
AllowedPrinterTypesstring CSV (ids enum)null (todas permitidas)
RequireSilentPrintboolfalse

Restricciones por empresa

AllowedPrinterTypes

Lista CSV de los enteros del enum PrinterType que el operador puede elegir. Util cuando una empresa quiere limitar el catalogo a estrategias soportadas oficialmente.

Ejemplos:

ValorSignificado
null o vacioTodas las estrategias permitidas
"3,4"Solo Red TCP (3) y Bluetooth ESC/POS (4)
"2,6,9,10"QZ Tray, WindowsDriver, WebPRNT y Web Bluetooth

Mapping numero → estrategia:

IDPrinterType
0None
1Browser
2QZTray
3NetworkEscPos
4BluetoothEscPos
5UsbEscPos
6WindowsDriver
7Sunmi
8Imin
9WebPrnt
10WebBluetooth
11AndroidIntent

RequireSilentPrint

Cuando es true, el asistente filtra recomendaciones que requieran HTTPS sin satisfacerlo o que no sean silenciosas (ej. Browser). Util en operaciones de alto volumen donde no se tolera el dialogo del navegador.


API

GET /api/companyprintingdefaults/bycompany

Devuelve los defaults de la empresa autenticada (extraida del JWT). La primera vez que se llama, crea automaticamente una fila con valores del sistema.

Response 200:

{
"id": 1,
"companyId": 12,
"defaultPrinterType": 0,
"defaultPaperWidth": "80mm",
"defaultCopies": 1,
"defaultEncoding": "CP850",
"defaultFooterText": null,
"defaultOpenCashDrawer": false,
"defaultSilentPrint": true,
"defaultPrintShowLogo": true,
"defaultPrintShowProductDescription": true,
"defaultPrintShowUnitPrice": true,
"defaultPrintShowUnitOfMeasure": false,
"defaultPrintShowBarcode": false,
"defaultPrintShowTaxBreakdown": true,
"allowedPrinterTypes": null,
"requireSilentPrint": false,
"createdAt": "2026-04-26T16:48:00Z",
"updatedAt": null
}

PUT /api/companyprintingdefaults

Actualiza los defaults. El companyId del body se ignora — siempre se usa el del JWT (multi-tenant safe).

Request body: UpdateCompanyPrintingDefaultsDTO (mismos campos que el response).


Modelo de datos

Tabla CompanyPrintingDefaults:

IndiceColumnaNotas
IX_CompanyPrintingDefaults_CompanyId (UNIQUE)CompanyIdUna fila por empresa

FK Companies(Id) con ON DELETE CASCADE.


Buenas practicas

Para una empresa con varias sucursales

Configurar los defaults con la estrategia mas comun:

  • Si la mayoria de terminales son Star WiFi → DefaultPrinterType = 9 (WebPrnt).
  • Si la mayoria son PC + termica USB → DefaultPrinterType = 2 (QZTray).

Asi, al crear una terminal en una nueva sucursal, casi todo viene heredado y solo hay que llenar el campo PrinterTarget (IP / nombre).

Para una empresa con politica de cumplimiento

  • RequireSilentPrint = true evita que un operador deje terminales con dialogo del navegador.
  • AllowedPrinterTypes = "3,9,10" restringe a las 3 estrategias aprobadas.

Para una empresa con marca personalizada

  • DefaultFooterText = "Gracias por su compra. Visite www.miempresa.com" aparece en todos los recibos nuevos.
  • DefaultPrintShowLogo = true asegura que el logo de la empresa siempre aparezca.

Lecturas relacionadas