AbstractLibroComprasVentasArrayLoaderStrategy
extends AbstractArrayLoaderStrategy
in package
Estrategia base de carga desde array para Libro de Compras/Ventas.
Normaliza cada registro de detalle según el esquema LibroCV_v10.xsd:
añade valores por defecto, calcula IVA cuando falta, normaliza estructuras
de IVA no recuperable y otros impuestos, y calcula el monto total.
Table of Contents
Properties
- $repositoryManager : RepositoryManagerInterface
Methods
- __construct() : mixed
- load() : BookBagInterface
- {@inheritDoc}
- normalize() : BookBagInterface
- {@inheritDoc}
- normalizeCaratula() : array<string|int, mixed>
- Normaliza la carátula del libro.
- normalizeDetalle() : array<string|int, mixed>
- Normaliza un registro del detalle del libro.
- calcularIvaRetenidoDetalle() : int
- Calcula el IVA retenido del detalle.
Properties
$repositoryManager read-only
private
RepositoryManagerInterface
$repositoryManager
Methods
__construct()
public
__construct(RepositoryManagerInterface $repositoryManager) : mixed
Parameters
- $repositoryManager : RepositoryManagerInterface
load()
{@inheritDoc}
public
load(BookBagInterface $bag) : BookBagInterface
Parameters
- $bag : BookBagInterface
Return values
BookBagInterfacenormalize()
{@inheritDoc}
protected
normalize(BookBagInterface $bag) : BookBagInterface
Parameters
- $bag : BookBagInterface
Return values
BookBagInterfacenormalizeCaratula()
Normaliza la carátula del libro.
protected
normalizeCaratula(BookBagInterface $bag) : array<string|int, mixed>
Normaliza la carátula del libro de compra/venta.
Parameters
- $bag : BookBagInterface
Return values
array<string|int, mixed>normalizeDetalle()
Normaliza un registro del detalle del libro.
protected
normalizeDetalle(array<string|int, mixed> $detalle) : array<string|int, mixed>
Normaliza un registro de detalle del libro de compra/venta.
El orden de las claves determina el orden de los elementos en el XML,
que debe respetar el esquema LibroCV_v10.xsd.
Parameters
- $detalle : array<string|int, mixed>
Return values
array<string|int, mixed>calcularIvaRetenidoDetalle()
Calcula el IVA retenido del detalle.
private
calcularIvaRetenidoDetalle(array<string|int, mixed> $detalle) : int
Se calcula revisando los "otros impuestos" y sumando todos aquellos que son retención de IVA.
Parameters
- $detalle : array<string|int, mixed>
-
El detalle del libro de compra/venta.
Return values
int —El IVA retenido del detalle.