DocumentBag
in package
implements
DocumentBagInterface
Contenedor de datos del documento tributario electrónico.
Permite "mover" un documento, junto a otros datos asociados, por métodos de manera sencilla y, sobre todo, extensible.
Table of Contents
Interfaces
- DocumentBagInterface
- Interfaz para el contenedor de un documento.
Properties
- $optionsSchema : array<string|int, mixed>
- Reglas de esquema de las opciones del documento.
- $caf : CafInterface|null
- Código de Asignación de Folios (CAF) para timbrar el Documento Tributario Electrónico (DTE) que se generará.
- $certificate : CertificateInterface|null
- Certificado digital (firma electrónica) para la firma del documento.
- $data : array<string|int, mixed>|null
- Arreglo con los datos normalizados consolidados con el timbre y la firma si existen en la bolsa.
- $document : DocumentInterface|null
- Entidad con el documento tributario electrónico generado.
- $documentType : TipoDocumentoInterface|null
- Entidad que representa al tipo de documento tributario que está contenido en esta bolsa.
- $emisor : EmisorInterface|null
- Emisor del documento tributario.
- $inputData : string|null
- Datos originales de entrada que se utilizarán para construir el documento tributario.
- $normalizedData : array<string|int, mixed>|null
- Datos normalizados del documento tributario.
- $options : DataContainerInterface|null
- Opciones para los workers asociados al documento.
- $parsedData : array<string|int, mixed>|null
- Datos de entrada procesados (parseados).
- $receptor : ReceptorInterface|null
- Receptor del documento tributario.
- $timbre : array<string|int, mixed>|null
- Arreglo con la estructura del nodo TED del documento.
- $xmlDocument : XmlInterface|null
- Instancia del documento XML asociada al DTE.
Methods
- __construct() : mixed
- Constructor del contenedor.
- getAlias() : string
- Entrega el alias del tipo de documento que contiene la bolsa.
- getBuilderOptions() : array<string|int, mixed>
- Obtiene las opciones del constructor del documento.
- getCaf() : CafInterface|null
- Obtiene el CAF para timbrar el documento.
- getCertificate() : CertificateInterface|null
- Obtiene el certificado para firmar el documento.
- getCodigoTipoDocumento() : int|null
- getData() : array<string|int, mixed>|null
- Obtiene los datos del documento.
- getDocument() : DocumentInterface|null
- Obtiene el documento tributario electrónico.
- getDocumentType() : TipoDocumentoInterface|null
- Obtiene el tipo de documento tributario electrónico.
- getDocumentTypeId() : int|null
- Obtiene el código numérico del documento tributario electrónico.
- getEmisor() : EmisorInterface|null
- Obtiene el emisor del documento.
- getId() : string
- Entrega el ID del documento.
- getInputData() : string|null
- Obtiene los datos de entrada del documento.
- getNormalizedData() : array<string|int, mixed>|null
- Obtiene los datos normalizados del documento.
- getNormalizerOptions() : array<string|int, mixed>
- Obtiene las opciones del normalizador del documento.
- getOptions() : DataContainerInterface|null
- Obtiene las opciones del documento.
- getParsedData() : array<string|int, mixed>|null
- Obtiene los datos procesados (parseados) del documento.
- getParserOptions() : array<string|int, mixed>
- Obtiene las opciones del procesador (parser) del documento.
- getReceptor() : ReceptorInterface|null
- Obtiene el receptor del documento.
- getRendererOptions() : array<string|int, mixed>
- Obtiene las opciones del renderizador del documento.
- getSanitizerOptions() : array<string|int, mixed>
- Obtiene las opciones del sanitizador del documento.
- getTimbre() : array<string|int, mixed>|null
- Obtiene el timbre del documento.
- getTipoDocumento() : TipoDocumentoInterface|null
- getValidatorOptions() : array<string|int, mixed>
- Obtiene las opciones del validador del documento.
- getXmlDocument() : XmlInterface|null
- Obtiene el documento XML.
- setCaf() : static
- Asigna el CAF para timbrar el documento.
- setCertificate() : static
- Asigna el certificado para firmar el documento.
- setDocument() : static
- Asigna el documento tributario electrónico.
- setDocumentType() : static
- Asigna el tipo de documento tributario electrónico.
- setEmisor() : static
- Asigna el emisor del documento.
- setInputData() : static
- Asignar los datos de entrada del documento.
- setNormalizedData() : static
- Asigna los datos normalizados del documento.
- setOptions() : static
- Asigna las opciones del documento.
- setParsedData() : static
- Asigna los datos procesados (parseados) del documento.
- setReceptor() : static
- Asigna el receptor del documento.
- setTimbre() : static
- Asigna el timbre del documento.
- setTipoDocumento() : static
- setXmlDocument() : static
- Asigna el documento XML.
- withCaf() : DocumentBagInterface
- Retorna una nueva bolsa con los datos del DTE e incluye un archivo CAF.
- withCertificate() : DocumentBagInterface
- Retorna una nueva bolsa con los datos del DTE e incluye un certificado.
Properties
$optionsSchema
Reglas de esquema de las opciones del documento.
protected
array<string|int, mixed>
$optionsSchema
= ['builder' => ['types' => 'array', 'default' => []], 'normalizer' => ['types' => 'array', 'default' => []], 'parser' => ['types' => 'array', 'default' => []], 'renderer' => ['types' => 'array', 'default' => []], 'sanitizer' => ['types' => 'array', 'default' => []], 'validator' => ['types' => 'array', 'default' => []]]
El formato del esquema es el utilizado por Symfony\Component\OptionsResolver\OptionsResolver.
Acá solo se indicarán los índices que deben pueden existir en las opciones. No se define el esquema de cada opción pues cada clase que utilice estas opciones deberá resolver y validar sus propias opciones.
$caf
Código de Asignación de Folios (CAF) para timbrar el Documento Tributario Electrónico (DTE) que se generará.
private
CafInterface|null
$caf
$certificate
Certificado digital (firma electrónica) para la firma del documento.
private
CertificateInterface|null
$certificate
$data
Arreglo con los datos normalizados consolidados con el timbre y la firma si existen en la bolsa.
private
array<string|int, mixed>|null
$data
= null
$document
Entidad con el documento tributario electrónico generado.
private
DocumentInterface|null
$document
$documentType
Entidad que representa al tipo de documento tributario que está contenido en esta bolsa.
private
TipoDocumentoInterface|null
$documentType
= null
$emisor
Emisor del documento tributario.
private
EmisorInterface|null
$emisor
= null
$inputData
Datos originales de entrada que se utilizarán para construir el documento tributario.
private
string|null
$inputData
El formato de estos datos puede ser cualquiera soportado por los parsers.
$normalizedData
Datos normalizados del documento tributario.
private
array<string|int, mixed>|null
$normalizedData
Son los datos con todos sus campos necesarios ya determinados, calculados y validados.
La estructura de estos datos depende de los normalizadores.
Importante: si se desactiva la normalización este arreglo contendrá lo mismo que $parsedData pues no se tocarán los datos de entrada procesados.
$options
Opciones para los workers asociados al documento.
private
DataContainerInterface|null
$options
Se definen los siguientes índices para las opciones:
-
builder
: Opciones para los constructores. -
normalizer
: Opciones para los normalizadores. -
parser
: Opciones para los analizadores sintácticos. -
renderer
: Opciones para los renderizadores. -
sanitizer
: Opciones para los sanitizadores. -
validator
: Opciones para los validadores.
Se usarán las opciones por defecto en cada worker si no se indican los índices en el arreglo $options.
$parsedData
Datos de entrada procesados (parseados).
private
array<string|int, mixed>|null
$parsedData
Están en el formato estándar de LibreDTE. Que es básicamente el oficial del SII. Con algunas extensiones, como los datos "extras".
Estos son los datos que se usarán para construir el documento. Estos datos no están normaliados, solo parseados.
$receptor
Receptor del documento tributario.
private
ReceptorInterface|null
$receptor
= null
$timbre
Arreglo con la estructura del nodo TED del documento.
private
array<string|int, mixed>|null
$timbre
= null
$xmlDocument
Instancia del documento XML asociada al DTE.
private
XmlInterface|null
$xmlDocument
Methods
__construct()
Constructor del contenedor.
public
__construct([string|array<string|int, mixed>|stdClass|null $inputData = null ][, array<string|int, mixed>|null $parsedData = null ][, array<string|int, mixed>|null $normalizedData = null ][, array<string|int, mixed>|DataContainerInterface|null $options = null ][, XmlInterface|null $xmlDocument = null ][, CafInterface|null $caf = null ][, CertificateInterface|null $certificate = null ][, DocumentInterface|null $document = null ][, TipoDocumentoInterface|null $documentType = null ][, EmisorInterface|null $emisor = null ][, ReceptorInterface|null $receptor = null ]) : mixed
Recibe los datos en diferentes formatos para pasarlos a los setters que los normalizan y asignan al contenedor.
Parameters
- $inputData : string|array<string|int, mixed>|stdClass|null = null
- $parsedData : array<string|int, mixed>|null = null
- $normalizedData : array<string|int, mixed>|null = null
- $options : array<string|int, mixed>|DataContainerInterface|null = null
- $xmlDocument : XmlInterface|null = null
- $caf : CafInterface|null = null
- $certificate : CertificateInterface|null = null
- $document : DocumentInterface|null = null
- $documentType : TipoDocumentoInterface|null = null
- $emisor : EmisorInterface|null = null
- $receptor : ReceptorInterface|null = null
getAlias()
Entrega el alias del tipo de documento que contiene la bolsa.
public
getAlias() : string
Return values
stringgetBuilderOptions()
Obtiene las opciones del constructor del documento.
public
getBuilderOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getCaf()
Obtiene el CAF para timbrar el documento.
public
getCaf() : CafInterface|null
Return values
CafInterface|nullgetCertificate()
Obtiene el certificado para firmar el documento.
public
getCertificate() : CertificateInterface|null
Return values
CertificateInterface|nullgetCodigoTipoDocumento()
public
getCodigoTipoDocumento() : int|null
Return values
int|nullgetData()
Obtiene los datos del documento.
public
getData() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetDocument()
Obtiene el documento tributario electrónico.
public
getDocument() : DocumentInterface|null
Return values
DocumentInterface|nullgetDocumentType()
Obtiene el tipo de documento tributario electrónico.
public
getDocumentType() : TipoDocumentoInterface|null
Return values
TipoDocumentoInterface|nullgetDocumentTypeId()
Obtiene el código numérico del documento tributario electrónico.
public
getDocumentTypeId() : int|null
Return values
int|nullgetEmisor()
Obtiene el emisor del documento.
public
getEmisor() : EmisorInterface|null
Return values
EmisorInterface|nullgetId()
Entrega el ID del documento.
public
getId() : string
Return values
stringgetInputData()
Obtiene los datos de entrada del documento.
public
getInputData() : string|null
Return values
string|nullgetNormalizedData()
Obtiene los datos normalizados del documento.
public
getNormalizedData() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetNormalizerOptions()
Obtiene las opciones del normalizador del documento.
public
getNormalizerOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getOptions()
Obtiene las opciones del documento.
public
getOptions() : DataContainerInterface|null
Return values
DataContainerInterface|nullgetParsedData()
Obtiene los datos procesados (parseados) del documento.
public
getParsedData() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetParserOptions()
Obtiene las opciones del procesador (parser) del documento.
public
getParserOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getReceptor()
Obtiene el receptor del documento.
public
getReceptor() : ReceptorInterface|null
Return values
ReceptorInterface|nullgetRendererOptions()
Obtiene las opciones del renderizador del documento.
public
getRendererOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getSanitizerOptions()
Obtiene las opciones del sanitizador del documento.
public
getSanitizerOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getTimbre()
Obtiene el timbre del documento.
public
getTimbre() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetTipoDocumento()
public
getTipoDocumento() : TipoDocumentoInterface|null
Return values
TipoDocumentoInterface|nullgetValidatorOptions()
Obtiene las opciones del validador del documento.
public
getValidatorOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getXmlDocument()
Obtiene el documento XML.
public
getXmlDocument() : XmlInterface|null
Return values
XmlInterface|nullsetCaf()
Asigna el CAF para timbrar el documento.
public
setCaf(CafInterface|null $caf) : static
Parameters
- $caf : CafInterface|null
Return values
staticsetCertificate()
Asigna el certificado para firmar el documento.
public
setCertificate(CertificateInterface|null $certificate) : static
Parameters
- $certificate : CertificateInterface|null
Return values
staticsetDocument()
Asigna el documento tributario electrónico.
public
setDocument(DocumentInterface|null $document) : static
Parameters
- $document : DocumentInterface|null
Return values
staticsetDocumentType()
Asigna el tipo de documento tributario electrónico.
public
setDocumentType(TipoDocumentoInterface|null $documentType) : static
Parameters
- $documentType : TipoDocumentoInterface|null
Return values
staticsetEmisor()
Asigna el emisor del documento.
public
setEmisor(EmisorInterface|null $emisor) : static
Parameters
- $emisor : EmisorInterface|null
Return values
staticsetInputData()
Asignar los datos de entrada del documento.
public
setInputData(string|array<string|int, mixed>|stdClass|null $inputData) : static
Parameters
- $inputData : string|array<string|int, mixed>|stdClass|null
Return values
staticsetNormalizedData()
Asigna los datos normalizados del documento.
public
setNormalizedData(array<string|int, mixed>|null $normalizedData) : static
Parameters
- $normalizedData : array<string|int, mixed>|null
Return values
staticsetOptions()
Asigna las opciones del documento.
public
setOptions(array<string|int, mixed>|DataContainerInterface|null $options) : static
Parameters
- $options : array<string|int, mixed>|DataContainerInterface|null
Return values
staticsetParsedData()
Asigna los datos procesados (parseados) del documento.
public
setParsedData(array<string|int, mixed>|null $parsedData) : static
Parameters
- $parsedData : array<string|int, mixed>|null
Return values
staticsetReceptor()
Asigna el receptor del documento.
public
setReceptor(ReceptorInterface|null $receptor) : static
Parameters
- $receptor : ReceptorInterface|null
Return values
staticsetTimbre()
Asigna el timbre del documento.
public
setTimbre(array<string|int, mixed>|null $timbre) : static
Parameters
- $timbre : array<string|int, mixed>|null
Return values
staticsetTipoDocumento()
public
setTipoDocumento(TipoDocumentoInterface|null $tipoDocumento) : static
Parameters
- $tipoDocumento : TipoDocumentoInterface|null
Return values
staticsetXmlDocument()
Asigna el documento XML.
public
setXmlDocument(XmlInterface|null $xmlDocument) : static
Parameters
- $xmlDocument : XmlInterface|null
Return values
staticwithCaf()
Retorna una nueva bolsa con los datos del DTE e incluye un archivo CAF.
public
withCaf(CafInterface $caf) : DocumentBagInterface
Parameters
- $caf : CafInterface
Return values
DocumentBagInterfacewithCertificate()
Retorna una nueva bolsa con los datos del DTE e incluye un certificado.
public
withCertificate(CertificateInterface $certificate) : DocumentBagInterface
Parameters
- $certificate : CertificateInterface