BusinessDocument
extends BusinessDocument
in package
Class created by Core/Internal/PluginsDeploy
Table of Contents
Properties
- $cifnif : string
- CIF/NIF del cliente o proveedor.
- $codalmacen : string
- Almacén del documento.
- $coddivisa : string
- Currency of the document.
- $codejercicio : string
- Exercise code.
- $codigo : string
- Identificador único para humanos.
- $codpago : string
- $codserie : string
- $dtopor1 : float
- Porcentaje de descuento.
- $dtopor2 : float
- Porcentaje de descuento.
- $fecha : string
- Fecha del documento.
- $femail : string
- Fecha en la que se envió el documento por email.
- $hora : string
- Hora del documento.
- $idempresa : int
- $irpf : float|int
- Retención por defecto del documento. Cada línea puede tener una retención diferente.
- $neto : float|int
- Suma del pvptotal de las líneas. Total del documento antes de impuestos.
- $netosindto : float|int
- Suma del pvptotal de las líneas. Total del documento antes de impuestos y descuentos globales.
- $nick : string
- Usuario que creó este documento. Modelo User.
- $numdocs : int
- Número de documentos adjuntos.
- $numero : string
- Número del documento. Único dentro de la serie.
- $observaciones : string
- Observaciones del documento.
- $operacion : string
- Indicates the type of document operation, example: intra-community
- $tasaconv : float|int
- Rate of conversion to Euros of the selected currency.
- $total : float|int
- Suma total del documento, con impuestos.
- $totaleuros : float|int
- Total expresado en euros, si no fuera la divisa del documento.
- $totalirpf : float|int
- Suma total de las retenciones de IRPF de las líneas.
- $totaliva : float|int
- Suma del IVA de las líneas.
- $totalrecargo : float|int
- Suma total del recargo de equivalencia de las líneas.
- $totalsuplidos : float|int
- Suma total de las líneas de suplidos.
- $attributes : array<string|int, mixed>
- The model's attributes.
- $dataBase : DataBase
- It provides direct access to the database.
- $dont_copy_fields : array<string|int, mixed>
- $original : array<string|int, mixed>
- The model's original attributes.
Methods
- __construct() : mixed
- __get() : mixed
- __isset() : bool
- __set() : void
- __unset() : void
- addExtension() : void
- all() : array<string|int, mixed>
- changeId() : bool
- changePrimaryColumnValue() : bool
- clear() : void
- Restablece los valores de todas las propiedades del modelo.
- clearCache() : void
- count() : int
- create() : static|null
- delete() : bool
- deleteWhere() : bool
- dontCopyField() : void
- dontCopyFields() : array<string|int, mixed>
- exists() : bool
- find() : static|null
- findOrCreate() : static|null
- findWhere() : static|null
- get() : mixed
- getApiFieldsToHide() : array<string|int, string>
- Devuelve los nombres de campos que no deben exponerse en la API (ni en GET, ni en el schema). Los modelos con datos sensibles deben sobrescribir este método.
- getAttachedFiles() : array<string|int, mixed>
- getAuditChannel() : string
- getCompany() : Empresa
- getDirty() : array<string|int, mixed>
- Devuelve un array asociativo con los campos modificados y sus valores actuales.
- getEUDiscount() : float
- Devuelve el Descuento Unificado Equivalente.
- getExercise() : Ejercicio
- getLines() : array<string|int, mixed>
- Devuelve las líneas asociadas al documento.
- getModelFields() : array<string|int, mixed>
- getNewLine() : mixed
- Devuelve una nueva línea para este documento.
- getNewProductLine() : mixed
- Devuelve una nueva línea para este documento completada con los datos del producto.
- getOriginal() : mixed|null
- Devuelve el valor original de un campo, si no se indica campo devuelve todo el array original
- getPaymentMethod() : FormaPago
- getSerie() : Serie
- getSubject() : mixed
- Devuelve el sujeto de este documento.
- getTotalDiscounts() : float
- Devuelve el descuento total de todo el documento.
- hasChanged() : bool
- hasColumn() : bool
- hasExtension() : bool
- id() : mixed
- install() : string
- Esta función se ejecuta al crear la tabla del modelo. Devuelve el SQL que se ejecutará después de la creación de la tabla. Útil para insertar valores por defecto.
- isDirty() : bool
- Comprueba si los campos del modelo han sido modificados.
- load() : bool
- Carga un modelo dada su primary key
- loadFromCode() : bool
- Carga un registro del modelo utilizando un código y opcionalmente condiciones adicionales.
- loadFromData() : void
- loadWhere() : bool
- Carga el primer registro que coincida con las condiciones especificadas.
- loadWhereEq() : bool
- modelClassName() : string
- newCode() : mixed
- paid() : bool
- pipe() : mixed
- pipeFalse() : bool
- primaryColumn() : string
- primaryColumnValue() : mixed
- primaryDescription() : mixed
- primaryDescriptionColumn() : string
- Devuelve la descripción de la columna que es la clave primaria del modelo.
- reload() : bool
- save() : bool
- Guarda los datos del modelo en la base de datos.
- setAuthor() : bool
- Establece el autor de este documento.
- setCurrency() : void
- setDate() : bool
- Asigna la fecha y busca un ejercicio contable.
- setIntracomunitaria() : bool
- setSubject() : bool
- Establece el sujeto de este documento.
- setWarehouse() : bool
- Establece el almacén y la empresa de este documento.
- subjectColumn() : mixed
- Devuelve el nombre de la columna del sujeto.
- subjectColumnValue() : string
- syncOriginal() : void
- table() : DbQuery
- tableName() : string
- test() : bool
- Devuelve True si no hay errores en los valores de las propiedades.
- toArray() : array<string|int, mixed>
- Devuelve un array con los campos y valores del modelo.
- totalSum() : float
- update() : bool
- Actualiza el modelo con los valores proporcionados en el array
- updateOrCreate() : static|null
- updateSubject() : bool
- Actualiza los datos del sujeto en este documento.
- url() : string
- Genera una URL para el modelo según el tipo especificado.
- belongsTo() : object|null
- Define una relación uno a uno.
- db() : DataBase
- Devuelve la instancia de la base de datos actual.
- hasMany() : array<string|int, mixed>
- Define a one-to-many relationship.
- loadModelFields() : void
- onChange() : bool
- Comprueba los campos modificados antes de actualizar la base de datos.
- onDelete() : void
- Este método se llama al eliminar un registro de la base de datos.
- onInsert() : void
- Este método se llama al insertar un nuevo registro en la base de datos (saveInsert).
- onUpdate() : void
- Este método se llama al insertar un nuevo registro en la base de datos (saveUpdate).
- saveInsert() : bool
- saveUpdate() : bool
- Este método se llama al actualizar un registro existente en la base de datos.
Properties
$cifnif
CIF/NIF del cliente o proveedor.
public
string
$cifnif
$codalmacen
Almacén del documento.
public
string
$codalmacen
$coddivisa
Currency of the document.
public
string
$coddivisa
$codejercicio
Exercise code.
public
string
$codejercicio
$codigo
Identificador único para humanos.
public
string
$codigo
$codpago
public
string
$codpago
$codserie
public
string
$codserie
$dtopor1
Porcentaje de descuento.
public
float
$dtopor1
$dtopor2
Porcentaje de descuento.
public
float
$dtopor2
$fecha
Fecha del documento.
public
string
$fecha
$femail
Fecha en la que se envió el documento por email.
public
string
$femail
$hora
Hora del documento.
public
string
$hora
$idempresa
public
int
$idempresa
$irpf
Retención por defecto del documento. Cada línea puede tener una retención diferente.
public
float|int
$irpf
$neto
Suma del pvptotal de las líneas. Total del documento antes de impuestos.
public
float|int
$neto
$netosindto
Suma del pvptotal de las líneas. Total del documento antes de impuestos y descuentos globales.
public
float|int
$netosindto
$nick
Usuario que creó este documento. Modelo User.
public
string
$nick
$numdocs
Número de documentos adjuntos.
public
int
$numdocs
$numero
Número del documento. Único dentro de la serie.
public
string
$numero
$observaciones
Observaciones del documento.
public
string
$observaciones
$operacion
Indicates the type of document operation, example: intra-community
public
string
$operacion
$tasaconv
Rate of conversion to Euros of the selected currency.
public
float|int
$tasaconv
$total
Suma total del documento, con impuestos.
public
float|int
$total
$totaleuros
Total expresado en euros, si no fuera la divisa del documento.
public
float|int
$totaleuros
totaleuros = total / tasaconv No es necesario rellenarlo, al hacer save() se calcula el valor.
$totalirpf
Suma total de las retenciones de IRPF de las líneas.
public
float|int
$totalirpf
$totaliva
Suma del IVA de las líneas.
public
float|int
$totaliva
$totalrecargo
Suma total del recargo de equivalencia de las líneas.
public
float|int
$totalrecargo
$totalsuplidos
Suma total de las líneas de suplidos.
public
float|int
$totalsuplidos
$attributes
The model's attributes.
protected
array<string|int, mixed>
$attributes
= []
$dataBase
It provides direct access to the database.
protected
static DataBase
$dataBase
$dont_copy_fields
protected
static array<string|int, mixed>
$dont_copy_fields
= ['codejercicio', 'codigo', 'codigorect', 'fecha', 'femail', 'hora', 'idasiento', 'idestado', 'idfacturarect', 'neto', 'netosindto', 'numero', 'pagada', 'total', 'totalirpf', 'totaliva', 'totalrecargo', 'totalsuplidos']
$original
The model's original attributes.
protected
array<string|int, mixed>
$original
= []
Methods
__construct()
public
__construct([array<string|int, mixed> $data = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
__get()
public
__get(string $key) : mixed
Parameters
- $key : string
__isset()
public
__isset(string $key) : bool
Parameters
- $key : string
Return values
bool__set()
public
__set(string $key, mixed $value) : void
Parameters
- $key : string
- $value : mixed
__unset()
public
__unset(string $key) : void
Parameters
- $key : string
addExtension()
public
abstract static addExtension(mixed $extension[, int $priority = 100 ]) : void
Parameters
- $extension : mixed
- $priority : int = 100
all()
public
abstract static all([array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ][, int $offset = 0 ][, int $limit = 0 ]) : array<string|int, mixed>
Parameters
- $where : array<string|int, mixed> = []
- $order : array<string|int, mixed> = []
- $offset : int = 0
- $limit : int = 0
Return values
array<string|int, mixed>changeId()
public
changeId(mixed $new_id) : bool
Parameters
- $new_id : mixed
Return values
boolchangePrimaryColumnValue()
public
changePrimaryColumnValue(mixed $new_id) : bool
replace with changeId()
Parameters
- $new_id : mixed
Return values
boolclear()
Restablece los valores de todas las propiedades del modelo.
public
clear() : void
clearCache()
public
clearCache() : void
count()
public
abstract static count([array<string|int, mixed> $where = [] ]) : int
Parameters
- $where : array<string|int, mixed> = []
Return values
intcreate()
public
abstract static create(array<string|int, mixed> $data) : static|null
Parameters
- $data : array<string|int, mixed>
Return values
static|nulldelete()
public
delete() : bool
Return values
booldeleteWhere()
public
abstract static deleteWhere(array<string|int, mixed> $where) : bool
Parameters
- $where : array<string|int, mixed>
Return values
booldontCopyField()
public
static dontCopyField(string $field) : void
Parameters
- $field : string
dontCopyFields()
public
static dontCopyFields() : array<string|int, mixed>
Return values
array<string|int, mixed>exists()
public
exists() : bool
Return values
boolfind()
public
abstract static find(mixed $code) : static|null
Parameters
- $code : mixed
Return values
static|nullfindOrCreate()
public
abstract static findOrCreate(array<string|int, mixed> $where[, array<string|int, mixed> $data = [] ]) : static|null
Parameters
- $where : array<string|int, mixed>
- $data : array<string|int, mixed> = []
Return values
static|nullfindWhere()
public
abstract static findWhere(array<string|int, mixed> $where[, array<string|int, mixed> $order = [] ]) : static|null
Parameters
- $where : array<string|int, mixed>
- $order : array<string|int, mixed> = []
Return values
static|nullget()
public
get(mixed $code) : mixed
Use find() instead
Parameters
- $code : mixed
getApiFieldsToHide()
Devuelve los nombres de campos que no deben exponerse en la API (ni en GET, ni en el schema). Los modelos con datos sensibles deben sobrescribir este método.
public
getApiFieldsToHide() : array<string|int, string>
Return values
array<string|int, string>getAttachedFiles()
public
getAttachedFiles() : array<string|int, mixed>
Return values
array<string|int, mixed>getAuditChannel()
public
getAuditChannel() : string
Return values
stringgetCompany()
public
getCompany() : Empresa
Return values
EmpresagetDirty()
Devuelve un array asociativo con los campos modificados y sus valores actuales.
public
getDirty() : array<string|int, mixed>
Return values
array<string|int, mixed>getEUDiscount()
Devuelve el Descuento Unificado Equivalente.
public
getEUDiscount() : float
Return values
floatgetExercise()
public
getExercise([string $codejercicio = '' ]) : Ejercicio
Parameters
- $codejercicio : string = ''
Return values
EjerciciogetLines()
Devuelve las líneas asociadas al documento.
public
abstract getLines() : array<string|int, mixed>
Return values
array<string|int, mixed>getModelFields()
public
abstract getModelFields() : array<string|int, mixed>
Return values
array<string|int, mixed>getNewLine()
Devuelve una nueva línea para este documento.
public
abstract getNewLine([array<string|int, mixed> $data = [] ][, array<string|int, mixed> $exclude = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
- $exclude : array<string|int, mixed> = []
getNewProductLine()
Devuelve una nueva línea para este documento completada con los datos del producto.
public
abstract getNewProductLine(mixed $reference) : mixed
Parameters
- $reference : mixed
getOriginal()
Devuelve el valor original de un campo, si no se indica campo devuelve todo el array original
public
getOriginal([string|null $key = null ]) : mixed|null
Parameters
- $key : string|null = null
Return values
mixed|null —Devuelve el valor original del campo o null si no existe
getPaymentMethod()
public
getPaymentMethod() : FormaPago
Return values
FormaPagogetSerie()
public
getSerie() : Serie
Return values
SeriegetSubject()
Devuelve el sujeto de este documento.
public
abstract getSubject() : mixed
getTotalDiscounts()
Devuelve el descuento total de todo el documento.
public
getTotalDiscounts() : float
Este cálculo tiene en cuenta tanto los descuentos globales aplicados al documento como los descuentos individuales aplicados en cada una de las líneas.
OJO, sin tener en cuenta impuestos. Se redondea el resultado con los decimales configurados por el sistema para evitar problemas de precisión en coma flotante.
Return values
float —Descuento total calculado.
hasChanged()
public
hasChanged(string $field) : bool
replace with isDirty()
Parameters
- $field : string
Return values
boolhasColumn()
public
hasColumn(string $columnName) : bool
Parameters
- $columnName : string
Return values
boolhasExtension()
public
abstract hasExtension(mixed $extension) : bool
Parameters
- $extension : mixed
Return values
boolid()
public
id() : mixed
install()
Esta función se ejecuta al crear la tabla del modelo. Devuelve el SQL que se ejecutará después de la creación de la tabla. Útil para insertar valores por defecto.
public
install() : string
Return values
stringisDirty()
Comprueba si los campos del modelo han sido modificados.
public
isDirty([string|null $key = null ]) : bool
Devuelve true si hay cambios, false en caso contrario.
Si introduces un parámetro key, comprueba solo ese campo
Parameters
- $key : string|null = null
Return values
bool —true si ha sido modificado, false en caso contrario
load()
Carga un modelo dada su primary key
public
load(mixed $code) : bool
Parameters
- $code : mixed
-
Código o identificador del registro a cargar
Return values
bool —Devuelve true si se encontró y cargó un registro exitosamente.
loadFromCode()
Carga un registro del modelo utilizando un código y opcionalmente condiciones adicionales.
public
loadFromCode(mixed $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : bool
Usar load() cuando solo se necesita cargar por código, o loadWhere() cuando se requieren condiciones WHERE u ordenamiento adicionales.
IMPORTANTE: Este método está deprecado. Se recomienda usar las alternativas siguientes:
- Si solo se proporciona $code: usar directamente load($code)
- Si se proporciona $code junto con $where o $order: usar loadWhere() con las condiciones apropiadas
Este método actúa como wrapper que redirige a load() cuando solo se proporciona el código, o a loadWhere() cuando se incluyen condiciones WHERE u ordenamiento adicionales.
Parameters
- $code : mixed
-
Código o identificador del registro a cargar. Se usa únicamente cuando no se proporcionan condiciones WHERE adicionales.
- $where : array<string|int, mixed> = []
-
Array de instancias de Where o DatabaseWhere que definen condiciones de filtrado adicionales. Si se proporciona, el método delega a loadWhere(). Por defecto es un array vacío.
- $order : array<string|int, mixed> = []
-
Array asociativo que define el ordenamiento de los resultados. Las claves son nombres de columnas y los valores la dirección del ordenamiento. Por defecto es un array vacío.
Return values
bool —Retorna true si se encontró y cargó un registro exitosamente. Retorna false si no se encontró ningún registro.
loadFromData()
public
loadFromData([array<string|int, mixed> $data = [] ][, array<string|int, mixed> $exclude = [] ][, bool $sync = true ]) : void
Parameters
- $data : array<string|int, mixed> = []
- $exclude : array<string|int, mixed> = []
- $sync : bool = true
loadWhere()
Carga el primer registro que coincida con las condiciones especificadas.
public
loadWhere(array<string|int, mixed> $where[, array<string|int, mixed> $order = [] ]) : bool
Este método consulta la tabla asociada al modelo aplicando las condiciones WHERE proporcionadas y el ordenamiento especificado. Si encuentra un registro, carga sus datos en la instancia actual del modelo. Si no encuentra ningún registro, limpia la instancia y retorna false.
Parameters
- $where : array<string|int, mixed>
-
Array de instancias de Where o DatabaseWhere que definen las condiciones de filtrado para la consulta. Cada elemento representa una condición que debe cumplir el registro a cargar.
- $order : array<string|int, mixed> = []
-
Array asociativo que define el ordenamiento de los resultados. Las claves son nombres de columnas y los valores indican la dirección del ordenamiento (ej: ['id' => 'DESC', 'nombre' => 'ASC']). Por defecto es un array vacío (sin ordenamiento específico).
Return values
bool —Retorna true si se encontró y cargó un registro exitosamente. Retorna false si no se encontró ningún registro que cumpla las condiciones.
loadWhereEq()
public
loadWhereEq(string $field, mixed $value) : bool
Parameters
- $field : string
- $value : mixed
Return values
boolmodelClassName()
public
abstract modelClassName() : string
Return values
stringnewCode()
public
newCode([string $field = '' ][, array<string|int, mixed> $where = [] ]) : mixed
Parameters
- $field : string = ''
- $where : array<string|int, mixed> = []
paid()
public
paid() : bool
Return values
boolpipe()
public
abstract pipe(mixed $name, mixed ...$arguments) : mixed
Parameters
- $name : mixed
- $arguments : mixed
pipeFalse()
public
abstract pipeFalse(mixed $name, mixed ...$arguments) : bool
Parameters
- $name : mixed
- $arguments : mixed
Return values
boolprimaryColumn()
public
static primaryColumn() : string
Return values
stringprimaryColumnValue()
public
primaryColumnValue() : mixed
Use id() instead
Attributes
- #[Deprecated]
- $reason: 'Use id() instead'
- $replacement: '%class%->id()'
primaryDescription()
public
primaryDescription() : mixed
primaryDescriptionColumn()
Devuelve la descripción de la columna que es la clave primaria del modelo.
public
primaryDescriptionColumn() : string
Return values
stringreload()
public
reload() : bool
Return values
boolsave()
Guarda los datos del modelo en la base de datos.
public
save() : bool
Return values
boolsetAuthor()
Establece el autor de este documento.
public
abstract setAuthor(mixed $user) : bool
Parameters
- $user : mixed
Return values
boolsetCurrency()
public
setCurrency(string $coddivisa[, bool $purchase = false ]) : void
Parameters
- $coddivisa : string
- $purchase : bool = false
setDate()
Asigna la fecha y busca un ejercicio contable.
public
setDate(string $date, string $hour) : bool
Parameters
- $date : string
- $hour : string
Return values
boolsetIntracomunitaria()
public
setIntracomunitaria() : bool
Return values
boolsetSubject()
Establece el sujeto de este documento.
public
abstract setSubject(mixed $subject) : bool
Parameters
- $subject : mixed
Return values
boolsetWarehouse()
Establece el almacén y la empresa de este documento.
public
setWarehouse(string $codalmacen) : bool
Parameters
- $codalmacen : string
Return values
boolsubjectColumn()
Devuelve el nombre de la columna del sujeto.
public
abstract subjectColumn() : mixed
subjectColumnValue()
public
subjectColumnValue() : string
Return values
stringsyncOriginal()
public
syncOriginal() : void
table()
public
abstract static table() : DbQuery
Return values
DbQuerytableName()
public
abstract static tableName() : string
Return values
stringtest()
Devuelve True si no hay errores en los valores de las propiedades.
public
test() : bool
Return values
booltoArray()
Devuelve un array con los campos y valores del modelo.
public
toArray([bool $dynamic_attributes = false ]) : array<string|int, mixed>
Parameters
- $dynamic_attributes : bool = false
-
Si es true, añade también los atributos dinámicos al array resultante
Return values
array<string|int, mixed> —Array asociativo con los campos y valores del modelo
totalSum()
public
abstract static totalSum(string $field[, array<string|int, mixed> $where = [] ]) : float
Parameters
- $field : string
- $where : array<string|int, mixed> = []
Return values
floatupdate()
Actualiza el modelo con los valores proporcionados en el array
public
update(array<string|int, mixed> $values) : bool
Parameters
- $values : array<string|int, mixed>
-
Array asociativo con los campos y valores a actualizar
Return values
bool —Devuelve true si la actualización se ha realizado correctamente, false en caso
updateOrCreate()
public
abstract static updateOrCreate(array<string|int, mixed> $where, array<string|int, mixed> $data) : static|null
Parameters
- $where : array<string|int, mixed>
- $data : array<string|int, mixed>
Return values
static|nullupdateSubject()
Actualiza los datos del sujeto en este documento.
public
abstract updateSubject() : bool
Return values
boolurl()
Genera una URL para el modelo según el tipo especificado.
public
url([string $type = 'auto' ][, string $list = 'List' ]) : string
Parameters
- $type : string = 'auto'
-
Tipo de URL a generar. Puede ser 'auto', 'edit', 'list' o 'new'.
- $list : string = 'List'
-
Nombre de la lista a utilizar en la URL cuando el tipo es 'list' o 'auto'.
Return values
string —URL generada para el modelo
belongsTo()
Define una relación uno a uno.
protected
belongsTo(string $modelName, string $foreignKey) : object|null
Parameters
- $modelName : string
- $foreignKey : string
Return values
object|nulldb()
Devuelve la instancia de la base de datos actual.
protected
static db() : DataBase
Return values
DataBasehasMany()
Define a one-to-many relationship.
protected
hasMany(string $modelName, string $foreignKey[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : array<string|int, mixed>
Parameters
- $modelName : string
- $foreignKey : string
- $where : array<string|int, mixed> = []
- $order : array<string|int, mixed> = []
Return values
array<string|int, mixed>loadModelFields()
protected
abstract loadModelFields() : void
onChange()
Comprueba los campos modificados antes de actualizar la base de datos.
protected
onChange(string $field) : bool
Parameters
- $field : string
Return values
boolonDelete()
Este método se llama al eliminar un registro de la base de datos.
protected
onDelete() : void
onInsert()
Este método se llama al insertar un nuevo registro en la base de datos (saveInsert).
protected
onInsert() : void
onUpdate()
Este método se llama al insertar un nuevo registro en la base de datos (saveUpdate).
protected
onUpdate() : void
saveInsert()
protected
saveInsert() : bool
Return values
boolsaveUpdate()
Este método se llama al actualizar un registro existente en la base de datos.
protected
saveUpdate() : bool
Return values
bool —Devuelve true si la actualización se realizó correctamente, false en caso contrario