BookBagInterface
extends
OptionsAwareInterface, JsonSerializable
in
Interfaz para el contenedor de datos de un libro tributario.
Transporta el tipo de libro, la carátula, los detalles, el certificado digital y las opciones de procesamiento.
El flujo normal con los workers de billing.book:
- El usuario crea un bag con
tipo,caratulaydetallescrudos. LoaderWorkernormaliza los detalles según tipo y formato de entrada.BuilderWorkergenera el XML y retorna la entidad libro resultante.
Table of Contents
Methods
- getBook() : BookInterface|null
- Obtiene el libro resultante de la construcción.
- getBookAuth() : array<string|int, mixed>|null
- Obtiene los datos de la autorización del emisor para emitir el libro.
- getBuilderOptions() : array<string, mixed>
- Obtiene las opciones del `BuilderWorker`.
- getCaratula() : array<string, mixed>
- Obtiene la carátula del libro.
- getCertificate() : CertificateInterface|null
- Obtiene el certificado digital.
- getData() : array<string|int, mixed>|null
- Obtiene los datos del libro.
- getDetalle() : array<int, array<string, mixed>>
- Obtiene los detalles del libro.
- getEmisor() : EmisorInterface|null
- Obtiene el emisor del libro.
- getInputData() : array<string|int, mixed>|string
- Obtiene los datos de entrada del libro.
- getLoaderOptions() : array<string, mixed>
- Obtiene las opciones del `LoaderWorker`.
- getRendererOptions() : array<string, mixed>
- Obtiene las opciones del `RendererWorker`.
- getTipo() : TipoLibro
- Obtiene el tipo de libro tributario.
- getValidatorOptions() : array<string, mixed>
- Obtiene las opciones del `ValidatorWorker`.
- setBook() : static
- Asigna el libro resultante de la construcción.
- setCaratula() : static
- Asigna la carátula del libro.
- setCertificate() : static
- Asigna el certificado digital para firmar el XML del libro.
- setDetalle() : static
- Asigna los detalles del libro.
- setEmisor() : static
- Asigna el emisor del libro.
- setInputData() : static
- Asigna los datos de entrada del libro.
- toArray() : array<string|int, mixed>
- Entrega los datos de la bolsa como un arreglo.
- withCertificate() : static
- Retorna una nueva bolsa con el mismo contenido pero con el certificado reemplazado.
Methods
getBook()
Obtiene el libro resultante de la construcción.
public
getBook() : BookInterface|null
Retorna null si el BuilderWorker aún no ha completado la construcción.
Return values
BookInterface|nullgetBookAuth()
Obtiene los datos de la autorización del emisor para emitir el libro.
public
getBookAuth() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetBuilderOptions()
Obtiene las opciones del `BuilderWorker`.
public
getBuilderOptions() : array<string, mixed>
Return values
array<string, mixed>getCaratula()
Obtiene la carátula del libro.
public
getCaratula() : array<string, mixed>
Return values
array<string, mixed>getCertificate()
Obtiene el certificado digital.
public
getCertificate() : CertificateInterface|null
Return values
CertificateInterface|nullgetData()
Obtiene los datos del libro.
public
getData() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetDetalle()
Obtiene los detalles del libro.
public
getDetalle() : array<int, array<string, mixed>>
Es el detalle normalizado con todos los campos en el orden correcto que
espera el BuilderWorker para construir el XML del libro.
Return values
array<int, array<string, mixed>>getEmisor()
Obtiene el emisor del libro.
public
getEmisor() : EmisorInterface|null
Return values
EmisorInterface|nullgetInputData()
Obtiene los datos de entrada del libro.
public
getInputData() : array<string|int, mixed>|string
Si es un arreglo son los datos crudos. Si es un string podrá ser un CSV,
XML, JSON, etc, dependiendo del formato de entrada en las opciones del
LoaderWorker.
Return values
array<string|int, mixed>|stringgetLoaderOptions()
Obtiene las opciones del `LoaderWorker`.
public
getLoaderOptions() : array<string, mixed>
La clave format determina el formato de entrada (por defecto 'array').
El LoaderWorker construye el nombre de estrategia como {tipo}.{format}.
Return values
array<string, mixed>getRendererOptions()
Obtiene las opciones del `RendererWorker`.
public
getRendererOptions() : array<string, mixed>
Return values
array<string, mixed>getTipo()
Obtiene el tipo de libro tributario.
public
getTipo() : TipoLibro
Determina qué estrategias se usan los workers.
Return values
TipoLibrogetValidatorOptions()
Obtiene las opciones del `ValidatorWorker`.
public
getValidatorOptions() : array<string, mixed>
Return values
array<string, mixed>setBook()
Asigna el libro resultante de la construcción.
public
setBook(BookInterface $book) : static
Parameters
- $book : BookInterface
Return values
staticsetCaratula()
Asigna la carátula del libro.
public
setCaratula(array<string, mixed> $caratula) : static
La estructura del arreglo varía según el tipo de libro:
- Compras/Ventas:
RutEmisorLibro,PeriodoTributario,TipoOperacion,TipoLibro,TipoEnvio,FchResol,NroResol. - Boletas/Guías: igual que compras/ventas pero sin
TipoOperacion. - RVD:
RutEmisor,FchResol,NroResol,Correlativo,SecEnvio(sinPeriodoTributario; las fechas se calculan desde los detalles).
Parameters
- $caratula : array<string, mixed>
Return values
staticsetCertificate()
Asigna el certificado digital para firmar el XML del libro.
public
setCertificate(CertificateInterface $certificate) : static
Si no se proporciona certificado, el XML se genera sin firma electrónica.
Parameters
- $certificate : CertificateInterface
Return values
staticsetDetalle()
Asigna los detalles del libro.
public
setDetalle(array<int, array<string, mixed>> $detalles) : static
Es el detalle normalizado con todos los campos en el orden correcto que
espera el BuilderWorker para construir el XML del libro.
Parameters
- $detalles : array<int, array<string, mixed>>
Return values
staticsetEmisor()
Asigna el emisor del libro.
public
setEmisor(EmisorInterface $emisor) : static
Parameters
- $emisor : EmisorInterface
Return values
staticsetInputData()
Asigna los datos de entrada del libro.
public
setInputData(array<string|int, mixed>|string $inputData) : static
Si es un arreglo son los datos crudos. Si es un string podrá ser un CSV,
XML, JSON, etc, dependiendo del formato de entrada en las opciones del
LoaderWorker.
Parameters
- $inputData : array<string|int, mixed>|string
Return values
statictoArray()
Entrega los datos de la bolsa como un arreglo.
public
toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>withCertificate()
Retorna una nueva bolsa con el mismo contenido pero con el certificado reemplazado.
public
withCertificate(CertificateInterface $certificate) : static
Parameters
- $certificate : CertificateInterface