SobreEnvio
in package
Clase que representa un sobre para el envío de documentos al SII.
Este sobre permite enviar facturas (EnvioDTE) y boletas (EnvioBOLETA).
Table of Contents
Constants
- CONFIG = [self::SOBRE_DTE => [ // Máxima cantidad de tipos de documentos en el envío. 'SubTotDTE_max' => 20, // Máxima cantidad de documentos en un envío. 'DTE_max' => 2000, // Tag XML para el envío. 'tag' => 'EnvioDTE', // Schema principal del XML del envío. 'schema' => 'EnvioDTE_v10', ], self::SOBRE_BOLETA => [ // Máxima cantidad de tipos de documentos en el envío. 'SubTotDTE_max' => 2, // Máxima cantidad de documentos en un envío. 'DTE_max' => 1000, // Tag XML para el envío. 'tag' => 'EnvioBOLETA', // Schema principal del XML del envío. 'schema' => 'EnvioBOLETA_v11', ]]
- Configuración (reglas) para el documento XML del envío.
- SOBRE_BOLETA = 1
- Constante que representa que el envío es de boletas.
- SOBRE_DTE = 0
- Constante que representa que el envío es de DTE.
Properties
- $dataProvider : DataProviderInterface
- Proveedor de datos.
- $xmlDocument : XmlDocument
- Instancia del documento XML asociado al sobre.
- $caratula : array<string|int, mixed>
- Datos de la carátula del envío
- $documentos : array<int, AbstractDocumento>
- Arreglo con las instancias de documentos que se enviarán.
- $tipo : int
- Tipo de sobre que se está generando.
Methods
- __construct() : mixed
- Constructor del sobre del envío de DTE al SII.
- agregar() : void
- Agrega un documento al listado que se enviará al SII.
- firmar() : string
- Realiza la firma del sobre del envío.
- getDocumentos() : array<string|int, AbstractDocumento>
- Entrega el listado de documentos incluídos en el sobre.
- getXml() : string
- Obtiene el string XML del sobre con el formato de XmlDocument::getXML().
- getXmlDocument() : XmlDocument
- Genera el documento XML.
- getXmlSignatureNode() : XmlSignatureNode
- Obtiene una instancia del nodo de la firma.
- loadXML() : void
- Permite crear el documento XML del sobre a partir de un string XML.
- saveXml() : string
- Obtiene el string XML del sobre en el formato de XmlDocument::saveXML().
- setCaratula() : array<string|int, mixed>
- Asignar la carátula del sobre del envío.
- validateSchema() : void
- Valida el esquema del XML del sobre del envío.
- validateSignature() : void
- Valida la firma electrónica del documento XML del sobre.
- getSubTotDTE() : array<string|int, mixed>
- Obtiene los datos para generar los tags SubTotDTE.
Constants
CONFIG
Configuración (reglas) para el documento XML del envío.
private
mixed
CONFIG
= [self::SOBRE_DTE => [
// Máxima cantidad de tipos de documentos en el envío.
'SubTotDTE_max' => 20,
// Máxima cantidad de documentos en un envío.
'DTE_max' => 2000,
// Tag XML para el envío.
'tag' => 'EnvioDTE',
// Schema principal del XML del envío.
'schema' => 'EnvioDTE_v10',
], self::SOBRE_BOLETA => [
// Máxima cantidad de tipos de documentos en el envío.
'SubTotDTE_max' => 2,
// Máxima cantidad de documentos en un envío.
'DTE_max' => 1000,
// Tag XML para el envío.
'tag' => 'EnvioBOLETA',
// Schema principal del XML del envío.
'schema' => 'EnvioBOLETA_v11',
]]
SOBRE_BOLETA
Constante que representa que el envío es de boletas.
private
mixed
SOBRE_BOLETA
= 1
SOBRE_DTE
Constante que representa que el envío es de DTE.
private
mixed
SOBRE_DTE
= 0
Este sobre se usa para todo menos boletas.
Properties
$dataProvider
Proveedor de datos.
protected
DataProviderInterface
$dataProvider
$xmlDocument
Instancia del documento XML asociado al sobre.
protected
XmlDocument
$xmlDocument
$caratula
Datos de la carátula del envío
private
array<string|int, mixed>
$caratula
$documentos
Arreglo con las instancias de documentos que se enviarán.
private
array<int, AbstractDocumento>
$documentos
$tipo
Tipo de sobre que se está generando.
private
int
$tipo
Posibles valores:
- SobreEnvio::SOBRE_DTE
- SobreEnvio::SOBRE_BOLETA
Methods
__construct()
Constructor del sobre del envío de DTE al SII.
public
__construct([DataProviderInterface|null $dataProvider = null ]) : mixed
Parameters
- $dataProvider : DataProviderInterface|null = null
agregar()
Agrega un documento al listado que se enviará al SII.
public
agregar(AbstractDocumento $documento) : void
Parameters
- $documento : AbstractDocumento
-
Instancia del documento que se desea agregar al listado del envío.
firmar()
Realiza la firma del sobre del envío.
public
firmar(Certificate $certificate) : string
Parameters
- $certificate : Certificate
-
Instancia que representa la firma electrónica.
Tags
Return values
string —String con el XML firmado.
getDocumentos()
Entrega el listado de documentos incluídos en el sobre.
public
getDocumentos() : array<string|int, AbstractDocumento>
Return values
array<string|int, AbstractDocumento>getXml()
Obtiene el string XML del sobre con el formato de XmlDocument::getXML().
public
getXml() : string
Return values
stringgetXmlDocument()
Genera el documento XML.
public
getXmlDocument() : XmlDocument
Return values
XmlDocumentgetXmlSignatureNode()
Obtiene una instancia del nodo de la firma.
public
getXmlSignatureNode() : XmlSignatureNode
Tags
Return values
XmlSignatureNodeloadXML()
Permite crear el documento XML del sobre a partir de un string XML.
public
loadXML(string $xml) : void
Parameters
- $xml : string
saveXml()
Obtiene el string XML del sobre en el formato de XmlDocument::saveXML().
public
saveXml() : string
Return values
stringsetCaratula()
Asignar la carátula del sobre del envío.
public
setCaratula(array<string|int, mixed> $caratula) : array<string|int, mixed>
Parameters
- $caratula : array<string|int, mixed>
-
Arreglo con datos: RutEnvia, FchResol y NroResol.
Return values
array<string|int, mixed> —Arreglo con la carátula normalizada.
validateSchema()
Valida el esquema del XML del sobre del envío.
public
validateSchema() : void
Este método valida tanto los esquemas de EnvioDTE como el EnvioBOLETA.
Tags
validateSignature()
Valida la firma electrónica del documento XML del sobre.
public
validateSignature() : void
Tags
getSubTotDTE()
Obtiene los datos para generar los tags SubTotDTE.
private
getSubTotDTE() : array<string|int, mixed>
Return values
array<string|int, mixed> —Arreglo con los datos para generar los tags SubTotDTE.