LibreDTE

ArrayLoaderStrategy extends AbstractArrayLoaderStrategy
in package
implements LoaderStrategyInterface

Estrategia `libro_guias.array` del `LoaderWorker`.

Normaliza los detalles del Libro de Guías de Despacho desde un arreglo PHP.

Attributes
#[Strategy]
$name: 'libro_guias.array'
$worker: 'loader'
$component: 'book'
$package: 'billing'

Table of Contents

Interfaces

LoaderStrategyInterface
Interfaz para las estrategias del `LoaderWorker`.

Methods

load()  : BookBagInterface
{@inheritDoc}
normalize()  : BookBagInterface
{@inheritDoc}
normalizeCaratula()  : array<string, mixed>
Normaliza la carátula del libro.
normalizeDetalle()  : array<string, mixed>
Normaliza un registro del detalle del libro.
assertNumbers()  : void
Verifica que los montos y la tasa de una guía sean números.

Methods

normalizeCaratula()

Normaliza la carátula del libro.

protected normalizeCaratula(BookBagInterface $bag) : array<string, mixed>

Normaliza la carátula del libro de guías de despacho.

Parameters
$bag : BookBagInterface
Return values
array<string, mixed>

normalizeDetalle()

Normaliza un registro del detalle del libro.

protected normalizeDetalle(array<string, mixed> $detalle) : array<string, mixed>

Normaliza un detalle del libro de guías de despacho.

El orden de las claves determina el orden de los elementos en el XML.

Los montos son números enteros y la tasa es un número: el texto que llega de un CSV se acepta si se puede convertir, y uno que no es un número es un error que dice en qué guía y en qué campo está. Los valores del detalle no se reemplazan por los convertidos.

Parameters
$detalle : array<string, mixed>
Return values
array<string, mixed>

assertNumbers()

Verifica que los montos y la tasa de una guía sean números.

private assertNumbers(array<string, mixed> $detalle) : void

Un valor que no está (false, vacío o null) no se verifica. Si uno no es un número, el error dice en qué guía y en qué campo está.

Parameters
$detalle : array<string, mixed>
On this page

Search results