FacturaScripts

ApiEditDocument extends ApiEditDocument
in package
uses ExtensionsTrait

Class created by Core/Internal/PluginsDeploy

Table of Contents

Constants

API_VERSION  : mixed = 3
INCIDENT_EXPIRATION_TIME  : mixed = 600
IP_LIST  : mixed = 'api-ip-list'
MAX_INCIDENT_COUNT  : mixed = 5

Properties

$apiKey  : ApiKey
$extensionCache  : array<string|int, mixed>
Cache for extension lookups by method name.
$extensions  : array<string|int, mixed>
Stores class extensions.
$model  : string
$request  : Request
$response  : Response
$url  : string

Methods

__call()  : mixed
Executes the first matched extension.
__construct()  : mixed
Inicializa el controlador asociado a una ruta.
addExtension()  : void
clearExtensions()  : void
Clears all registered extensions.
getExtensions()  : array<string|int, mixed>
Returns a list of all registered extension names.
getPageData()  : array<string|int, mixed>
Devuelve los metadatos de la página, como el nombre, título, icono y ubicación en el menú.
hasExtension()  : bool
pipe()  : mixed
pipeFalse()  : bool
removeExtension()  : bool
Removes all extensions with the specified name.
run()  : void
Ejecuta el ciclo principal del controlador para procesar la petición actual.
applyLineFields()  : void
Asigna a la línea los campos recibidos en el array de datos.
checkCompany()  : bool
Comprueba que la empresa (idempresa) no se cambia, porque rompería la numeración, la contabilidad y el stock asociado al documento.
checkSubject()  : bool
Comprueba que el sujeto (codcliente / codproveedor) no se cambia.
checkWarehouse()  : bool
Comprueba que el almacén (codalmacen) no se cambia, porque descuadraría el stock de las líneas existentes.
db()  : DataBase
decodeLines()  : array<string|int, mixed>|null
Decodifica y valida la lista de líneas recibida por la API.
editDocument()  : bool
editLockedDocument()  : bool
Edita un documento no editable: solo se permiten los campos desbloqueados (femail, idestado, idestado_ant, numdocs, pagada). Cualquier intento de modificar la cabecera o las líneas se rechaza con 422.
getUriParam()  : string
loadModel()  : bool
processInvoicePaid()  : void
runResource()  : void
syncLines()  : bool
Sincroniza las líneas del documento (full sync): las líneas con idlinea existente se modifican, las que no traen idlinea se crean y las líneas existentes ausentes del payload se borran (revirtiendo el stock).
toBool()  : bool
Convierte un valor a booleano.
updateHeader()  : bool
Actualiza la cabecera del documento con los campos permitidos. No toca el sujeto ni el almacén (ya validados como inmutables), ni la clave primaria, la numeración (numero, codigo, codejercicio) ni el estado (idestado), que deben cambiarse por sus mecanismos propios y no por asignación directa.
buildExtensionCache()  : void
Builds and caches sorted extensions for a method name.

Constants

INCIDENT_EXPIRATION_TIME

public mixed INCIDENT_EXPIRATION_TIME = 600

Properties

$extensionCache

Cache for extension lookups by method name.

protected static array<string|int, mixed> $extensionCache = []

$extensions

Stores class extensions.

protected static array<string|int, mixed> $extensions = []

Methods

__call()

Executes the first matched extension.

public __call(string $name[, array<string|int, mixed> $arguments = [] ]) : mixed
Parameters
$name : string
$arguments : array<string|int, mixed> = []
Tags
throws
BadMethodCallException

__construct()

Inicializa el controlador asociado a una ruta.

public __construct(string $className[, string $url = '' ]) : mixed
Parameters
$className : string

Nombre de la clase final del controlador.

$url : string = ''

Ruta solicitada por el usuario.

addExtension()

public static addExtension(mixed $extension[, int $priority = 100 ]) : void
Parameters
$extension : mixed
$priority : int = 100

Priority for all methods in this extension (0-1000, default 100)

clearExtensions()

Clears all registered extensions.

public static clearExtensions() : void

getExtensions()

Returns a list of all registered extension names.

public static getExtensions() : array<string|int, mixed>
Return values
array<string|int, mixed>

getPageData()

Devuelve los metadatos de la página, como el nombre, título, icono y ubicación en el menú.

public getPageData() : array<string|int, mixed>

Este método se consulta durante la construcción y no debe depender de que el usuario esté autenticado.

Return values
array<string|int, mixed>

hasExtension()

public hasExtension(mixed $name) : bool
Parameters
$name : mixed
Return values
bool

pipe()

public pipe(string $name, array<string|int, mixed> ...$arguments) : mixed
Parameters
$name : string
$arguments : array<string|int, mixed>

pipeFalse()

public pipeFalse(string $name, array<string|int, mixed> ...$arguments) : bool
Parameters
$name : string
$arguments : array<string|int, mixed>
Return values
bool

removeExtension()

Removes all extensions with the specified name.

public static removeExtension(string $name) : bool
Parameters
$name : string
Return values
bool —

True if at least one extension was removed

run()

Ejecuta el ciclo principal del controlador para procesar la petición actual.

public run() : void

El kernel invoca este método una vez después de construir el controlador.

applyLineFields()

Asigna a la línea los campos recibidos en el array de datos.

protected applyLineFields(BusinessDocumentLine &$line, array<string|int, mixed> $data, bool $isNew) : void

Si un campo no viene en los datos se conserva el valor actual de la línea, salvo la cantidad, que en una línea nueva ($isNew) toma 1 por defecto.

Parameters
$line : BusinessDocumentLine
$data : array<string|int, mixed>
$isNew : bool

checkCompany()

Comprueba que la empresa (idempresa) no se cambia, porque rompería la numeración, la contabilidad y el stock asociado al documento.

protected checkCompany(BusinessDocument &$doc) : bool
Parameters
$doc : BusinessDocument
Return values
bool

checkWarehouse()

Comprueba que el almacén (codalmacen) no se cambia, porque descuadraría el stock de las líneas existentes.

protected checkWarehouse(BusinessDocument &$doc) : bool
Parameters
$doc : BusinessDocument
Return values
bool

decodeLines()

Decodifica y valida la lista de líneas recibida por la API.

protected decodeLines(mixed $data) : array<string|int, mixed>|null
Parameters
$data : mixed
Return values
array<string|int, mixed>|null

editLockedDocument()

Edita un documento no editable: solo se permiten los campos desbloqueados (femail, idestado, idestado_ant, numdocs, pagada). Cualquier intento de modificar la cabecera o las líneas se rechaza con 422.

protected editLockedDocument(BusinessDocument &$doc) : bool
Parameters
$doc : BusinessDocument
Return values
bool

getUriParam()

protected getUriParam(string $num) : string
Parameters
$num : string
Return values
string

syncLines()

Sincroniza las líneas del documento (full sync): las líneas con idlinea existente se modifican, las que no traen idlinea se crean y las líneas existentes ausentes del payload se borran (revirtiendo el stock).

protected syncLines(BusinessDocument &$doc) : bool
Parameters
$doc : BusinessDocument
Return values
bool

toBool()

Convierte un valor a booleano.

protected toBool(mixed $value) : bool

Acepta: true, false, 1, 0, "1", "0", "true", "false"

Parameters
$value : mixed
Return values
bool

updateHeader()

Actualiza la cabecera del documento con los campos permitidos. No toca el sujeto ni el almacén (ya validados como inmutables), ni la clave primaria, la numeración (numero, codigo, codejercicio) ni el estado (idestado), que deben cambiarse por sus mecanismos propios y no por asignación directa.

protected updateHeader(BusinessDocument &$doc) : bool
Parameters
$doc : BusinessDocument
Return values
bool

buildExtensionCache()

Builds and caches sorted extensions for a method name.

private buildExtensionCache(string $name) : void
Parameters
$name : string
On this page

Search results