LibreDTE

DocumentBagManagerWorker extends AbstractWorker
in package
implements DocumentBagManagerWorkerInterface

Clase para el administrador de la bolsa con los datos de un DTE.

Attributes
#[Worker]
$name: 'document_bag_manager'
$component: 'document'
$package: 'billing'

Table of Contents

Interfaces

DocumentBagManagerWorkerInterface
Interfaz para que administra una bolsa con los datos de un documento tributario.

Properties

$documentBagClass  : mixed
$builderWorker  : BuilderWorkerInterface
$emisorFactory  : EmisorFactoryInterface
$normalizerWorker  : NormalizerWorkerInterface
$parserWorker  : ParserWorkerInterface
$receptorFactory  : ReceptorFactoryInterface
$repositoryManager  : RepositoryManagerInterface
$sanitizerWorker  : SanitizerWorkerInterface
$validatorWorker  : ValidatorWorkerInterface
$xmlService  : XmlServiceInterface

Methods

__construct()  : mixed
create()  : DocumentBagInterface
Crea la bolsa con los datos del documento a partir de datos de origen.
normalize()  : DocumentBagInterface
Normaliza una bolsa con datos de un documento tributario.
ensureDocument()  : void
Asegura que existan un DTE en la bolsa si existe un XmlDocument para poder crearlo y no está asignado previamente.
ensureEmisor()  : void
Asegura que existan el emisor en la bolsa si existe el dTE para poder determinarlo y no está asignado previamente.
ensureNormalizedData()  : void
Asegura que existan los datos normalizados en la bolsa si existen datos parseados para poder determinarlo y no está asignado previamente.
ensureParsedData()  : void
Asegura que existan datos parseados en la bolsa si existen datos de entrada para poder determinarlo y no está asignado previamente.
ensureReceptor()  : void
Asegura que existan el emisor en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.
ensureTipoDocumento()  : void
Asegura que exista un tipo de documento en la bolsa si existen datos para poder determinarlo y no está asignado previamente.
ensureXmlDocument()  : void
Asegura que existan un documento XML en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.

Properties

$documentBagClass

protected mixed $documentBagClass = \libredte\lib\Core\Package\Billing\Component\Document\Support\DocumentBag::class

Methods

__construct()

public __construct(XmlServiceInterface $xmlService, BuilderWorkerInterface $builderWorker, ParserWorkerInterface $parserWorker, NormalizerWorkerInterface $normalizerWorker, SanitizerWorkerInterface $sanitizerWorker, ValidatorWorkerInterface $validatorWorker, RepositoryManagerInterface $repositoryManager, EmisorFactoryInterface $emisorFactory, ReceptorFactoryInterface $receptorFactory) : mixed
Parameters
$xmlService : XmlServiceInterface
$builderWorker : BuilderWorkerInterface
$parserWorker : ParserWorkerInterface
$normalizerWorker : NormalizerWorkerInterface
$sanitizerWorker : SanitizerWorkerInterface
$validatorWorker : ValidatorWorkerInterface
$repositoryManager : RepositoryManagerInterface
$emisorFactory : EmisorFactoryInterface
$receptorFactory : ReceptorFactoryInterface

create()

Crea la bolsa con los datos del documento a partir de datos de origen.

public create(string|array<string|int, mixed>|XmlDocumentInterface|DocumentInterface $source[, bool $normalizeAll = true ]) : DocumentBagInterface
Parameters
$source : string|array<string|int, mixed>|XmlDocumentInterface|DocumentInterface

Datos de origen.

$normalizeAll : bool = true

Indica si se deben normalizar todos los datos de la bolsa al crearla o solo los mínimos.

Return values
DocumentBagInterface

ensureEmisor()

Asegura que existan el emisor en la bolsa si existe el dTE para poder determinarlo y no está asignado previamente.

protected ensureEmisor(DocumentBagInterface $bag) : void

El emisor también se pueden crear si existen un XmlDocument, datos normalizados o datos parseados.

Requiere: $bag->getDocument(), $bag->getXmlDocument(), $bag->getNormalizedData() o $bag->getParsedData().

Parameters
$bag : DocumentBagInterface

ensureNormalizedData()

Asegura que existan los datos normalizados en la bolsa si existen datos parseados para poder determinarlo y no está asignado previamente.

protected ensureNormalizedData(DocumentBagInterface $bag) : void

Los datos normalizados también se pueden crear si existe un XmlDocument o un DTE.

Requiere: $bag->getParsedData() o $bag->getXmlDocument() o $bag->getDocument().

Parameters
$bag : DocumentBagInterface

ensureParsedData()

Asegura que existan datos parseados en la bolsa si existen datos de entrada para poder determinarlo y no está asignado previamente.

protected ensureParsedData(DocumentBagInterface $bag) : void

Requiere: $bag->getInputData().

Además, si los datos no usan la estrategia por defecto de parseo se debe indicar en las opciones de la bolsa.

Parameters
$bag : DocumentBagInterface

ensureReceptor()

Asegura que existan el emisor en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.

protected ensureReceptor(DocumentBagInterface $bag) : void

El emisor también se pueden crear si existe un XmlDocument o un DTE.

Requiere: $bag->getNormalizedData() o $bag->getXmlDocument() o $bag->getDocument().

Parameters
$bag : DocumentBagInterface

ensureXmlDocument()

Asegura que existan un documento XML en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.

protected ensureXmlDocument(DocumentBagInterface $bag) : void

El XmlDocument también se puede crear si existe DTE.

Requiere: $bag->getNormalizedData() o $bag->getDocument().

Parameters
$bag : DocumentBagInterface

        
On this page

Search results