LibreDTE

LoaderWorker extends AbstractWorker
in package
implements LoaderWorkerInterface uses StrategiesAwareTrait

Worker "billing.book.loader".

Normaliza los datos de entrada de cualquier tipo de libro tributario desde cualquier formato de origen (array, CSV, XML, etc.).

Construye el nombre de estrategia como {tipo}.{formato} donde:

  • tipo proviene de BookBagInterface::getTipo().
  • formato proviene de la opción format del bag (por defecto 'array').

Ejemplos de estrategias disponibles:

  • libro_ventas.array, libro_ventas.csv, libro_ventas.xml
  • libro_compras.array, libro_compras.csv
  • libro_boletas.array
  • libro_guias.array
  • resumen_ventas_diarias.array
Attributes
#[Worker]
$name: 'loader'
$component: 'book'
$package: 'billing'

Table of Contents

Interfaces

LoaderWorkerInterface
Interfaz para el worker `billing.book.loader`.

Properties

$optionsSchema  : array<string, array<string, mixed>>
Esquema de las opciones del worker.

Methods

__construct()  : mixed
load()  : BookBagInterface
Carga y normaliza los datos de entrada de un libro tributario.

Properties

$optionsSchema

Esquema de las opciones del worker.

protected array<string, array<string, mixed>> $optionsSchema = ['format' => ['types' => 'string', 'default' => 'array']]

Methods

__construct()

public __construct([iterable<string|int, mixed> $strategies = [] ]) : mixed
Parameters
$strategies : iterable<string|int, mixed> = []

load()

Carga y normaliza los datos de entrada de un libro tributario.

public load(BookBagInterface $bag) : BookBagInterface
Parameters
$bag : BookBagInterface

Datos de entrada del libro, junto con su tipo y el emisor.

Attributes
#[Operation]
$parameters: ['bag' => ['example' => ['tipo' => TipoLibro::VENTAS, 'caratula' => ['RutEmisorLibro' => '76192083-9', 'PeriodoTributario' => '2024-01'], 'detalle' => [['TpoDoc' => 33, 'NroDoc' => 1, 'TasaImp' => 19, 'FchDoc' => '2024-01-10', 'RUTDoc' => '12345678-9', 'RznSoc' => 'Empresa Compradora SpA', 'MntNeto' => 100000, 'MntIVA' => 19000, 'MntTotal' => 119000]], 'certificate' => ['certificate' => '', 'privateKey' => ''], 'emisor' => ['rut' => '76192083-9', 'razon_social' => 'SASCO SpA']]]]
Return values
BookBagInterface

Los mismos datos, con la carátula y el detalle ya normalizados.

On this page

Search results