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
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>
hasExtension()  : bool
pipe()  : mixed
pipeFalse()  : bool
removeExtension()  : bool
Removes all extensions with the specified name.
run()  : void
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
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()

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

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()

public getPageData() : array<string|int, mixed>
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

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

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