AbstractLibroComprasVentasBuilderStrategy
extends AbstractStrategy
in package
AbstractYes
Estrategia base de construcción para Libro de Compras/Ventas.
Recibe el bag con detalles ya normalizados por el LoaderWorker,
calcula los totales del período y genera el XML según LibroCV_v10.xsd.
Table of Contents
Properties
- $totalDefault : array<string, mixed>
- Valores por defecto de los totales del período por tipo de documento.
- $xmlEncoder : XmlEncoderInterface
Methods
- __construct() : mixed
- build() : LibroComprasVentasInterface
- Construye el Libro de Compras/Ventas a partir del bag normalizado.
- calculateTotalesPeriodo() : array<int|string, array<string, mixed>>
- Calcula los totales del período agrupados por TpoDoc.
Properties
$totalDefault
Valores por defecto de los totales del período por tipo de documento.
private
array<string, mixed>
$totalDefault
= ['TpoDoc' => null, 'TotDoc' => 0, 'TotAnulado' => false, 'TotOpExe' => false, 'TotMntExe' => 0, 'TotMntNeto' => 0, 'TotMntIVA' => 0, 'TotIVAPropio' => false, 'TotIVATerceros' => false, 'TotLey18211' => false, 'TotMntActivoFijo' => false, 'TotMntIVAActivoFijo' => false, 'TotIVANoRec' => false, 'TotIVAUsoComun' => false, 'FctProp' => false, 'TotCredIVAUsoComun' => false, 'TotIVAFueraPlazo' => false, 'TotOtrosImp' => false, 'TotIVARetTotal' => false, 'TotIVARetParcial' => false, 'TotImpSinCredito' => false, 'TotMntTotal' => 0, 'TotIVANoRetenido' => false, 'TotMntNoFact' => false, 'TotMntPeriodo' => false, 'TotPsjNac' => false, 'TotPsjInt' => false, 'TotTabPuros' => false, 'TotTabCigarrillos' => false, 'TotTabElaborado' => false, 'TotImpVehiculo' => false]
El orden de las claves determina el orden de los elementos en el XML.
$xmlEncoder
private
XmlEncoderInterface
$xmlEncoder
Methods
__construct()
public
__construct(XmlEncoderInterface $xmlEncoder) : mixed
Parameters
- $xmlEncoder : XmlEncoderInterface
build()
Construye el Libro de Compras/Ventas a partir del bag normalizado.
public
build(BookBagInterface $bag) : LibroComprasVentasInterface
Parameters
- $bag : BookBagInterface
Return values
LibroComprasVentasInterfacecalculateTotalesPeriodo()
Calcula los totales del período agrupados por TpoDoc.
private
calculateTotalesPeriodo(array<int, array<string, mixed>> &$detalles) : array<int|string, array<string, mixed>>
Parameters
- $detalles : array<int, array<string, mixed>>