FacturaScripts

Asiento extends ModelOnChangeClass
in package
Uses ModelTrait, ExerciseRelationTrait

The accounting entry. It is related to an exercise and consists of games.

Tags
author

Carlos García Gómez [email protected]

author

Artex Trading sa [email protected]

Table of Contents

AUDIT_CHANNEL  = 'audit'
DATE_STYLE  = 'd-m-Y'
DATETIME_STYLE  = 'd-m-Y H:i:s'
HOUR_STYLE  = 'H:i:s'
OPERATION_CLOSING  = 'C'
OPERATION_GENERAL  = null
OPERATION_OPENING  = 'A'
OPERATION_REGULARIZATION  = 'R'
RENUMBER_LIMIT  = 1000
$canal  : int
Accounting channel. For statistics purpose.
$codejercicio  : string
Exercise code.
$concepto  : string
Accounting entry concept.
$documento  : string
Document associated with the accounting entry.
$editable  : bool
True if it is editable, but false.
$fecha  : string
Date of the accounting entry.
$idasiento  : int
Primary key.
$iddiario  : int
Diary identifier.
$idempresa  : int
Foreign Key with Empresas table.
$importe  : float|int
Amount of the accounting entry.
$numero  : string
Accounting entry number. It will be modified when renumbering.
$operacion  : string
It establishes whether the accounting entry is of a special operation: - opening - regularization - closing
$dataBase  : DataBase
It provides direct access to the database.
$fields  : array<string|int, mixed>
List of fields in the table.
$previousData  : array<string|int, mixed>
Previous data array.
$checkedTables  : array<string|int, mixed>
List of already tested tables.
__construct()  : mixed
ModelClass constructor.
accumulateAmounts()  : mixed
Accumulate the amounts of the detail in the document
addExtension()  : mixed
Adds an extension to this model.
all()  : array<string|int, static>
Returns all models that correspond to the selected filters.
changePrimaryColumnValue()  : bool
Change the value of the primary column in the model and the database.
clear()  : mixed
codeModelAll()  : array<string|int, CodeModel>
Allows to use this model as source in CodeModel special model.
codeModelSearch()  : array<string|int, CodeModel>
Allows to use this model as source in CodeModel special model.
count()  : int
Returns the number of records in the model that meet the condition.
delete()  : bool
Remove the model data from the database.
editable()  : bool
exists()  : bool
Returns true if the model data is stored in the database.
get()  : static|false
Returns the model whose primary column corresponds to the value $cod
getExercise()  : Ejercicio
getLines()  : array<string|int, Partida>
getModelFields()  : array<string|int, mixed>
Returns the list of fields in the table.
getNewLine()  : Partida
initTotals()  : mixed
Initializes the total fields
install()  : string
isBalanced()  : bool
Returns TRUE if accounting entry is balanced.
loadFromCode()  : bool
Fill the class with the registry values whose primary column corresponds to the value $cod, or according to the condition where indicated, if value is not reported in $cod.
loadFromData()  : mixed
Assign the values of the $data array to the model properties.
modelClassName()  : string
Returns the name of the class of the model.
newCode()  : int
Returns the following code for the reported field or the primary key of the model.
pipe()  : mixed
Executes all $name methods added from the extensions.
pipeFalse()  : bool
Executes all $name methods added from the extensions until someone returns false.
primaryColumn()  : string
primaryColumnValue()  : mixed
Returns the current value of the main column of the model.
primaryDescription()  : string
Descriptive identifier for humans of the data record
primaryDescriptionColumn()  : string
renumber()  : bool
Renumber the accounting entries of the given exercise.
save()  : bool
setDate()  : bool
tableName()  : string
test()  : bool
toArray()  : array<string|int, mixed>
Returns an array with the model fields values.
url()  : string
Returns the url where to see / modify the data.
loadModelFields()  : mixed
Loads table fields if is necessary.
modelName()  : string
Returns the name of the model.
onChange()  : bool
This method is called before save (update) when some field has changed.
onDelete()  : mixed
This method is called after a record is removed from the database.
onInsert()  : mixed
This method is called after a new record is saved on the database (saveInsert).
onUpdate()  : mixed
This method is called after a record is updated on the database (saveUpdate).
renumberAccEntries()  : bool
Update accounting entry numbers.
saveInsert()  : bool
Inserts this data as a new record in database.
saveUpdate()  : bool
Update the model data in the database.
setPreviousData()  : mixed
Saves previous values.
toolBox()  : ToolBox
checkTable()  : bool
Checks and updates the structure of the table if necessary.
getBoolValueForField()  : bool|null
Returns the boolean value for the field.
getFloatValueForField()  : float|null
Returns the float value for the field.
getIntegerValueForField()  : int|null
Returns the integer value by controlling special cases for the PK and FK.
getOrderBy()  : string
Convert an array of filters order by in string.
getRecord()  : array<string|int, mixed>
Read the record whose primary column corresponds to the value $cod or the first that meets the indicated condition.

Constants

AUDIT_CHANNEL

public mixed AUDIT_CHANNEL = 'audit'

DATE_STYLE

public mixed DATE_STYLE = 'd-m-Y'

DATETIME_STYLE

public mixed DATETIME_STYLE = 'd-m-Y H:i:s'

HOUR_STYLE

public mixed HOUR_STYLE = 'H:i:s'

OPERATION_CLOSING

public mixed OPERATION_CLOSING = 'C'

OPERATION_GENERAL

public mixed OPERATION_GENERAL = null

OPERATION_OPENING

public mixed OPERATION_OPENING = 'A'

OPERATION_REGULARIZATION

public mixed OPERATION_REGULARIZATION = 'R'

RENUMBER_LIMIT

public mixed RENUMBER_LIMIT = 1000

Properties

$canal

Accounting channel. For statistics purpose.

public int $canal

$concepto

Accounting entry concept.

public string $concepto

$documento

Document associated with the accounting entry.

public string $documento

$editable

True if it is editable, but false.

public bool $editable

$fecha

Date of the accounting entry.

public string $fecha

$idasiento

Primary key.

public int $idasiento

$iddiario

Diary identifier.

public int $iddiario

$idempresa

Foreign Key with Empresas table.

public int $idempresa

$importe

Amount of the accounting entry.

public float|int $importe

$numero

Accounting entry number. It will be modified when renumbering.

public string $numero

$operacion

It establishes whether the accounting entry is of a special operation: - opening - regularization - closing

public string $operacion

$dataBase

It provides direct access to the database.

protected static DataBase $dataBase

$fields

List of fields in the table.

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

$previousData

Previous data array.

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

$checkedTables

List of already tested tables.

private static array<string|int, mixed> $checkedTables = []

Methods

__construct()

ModelClass constructor.

public __construct([array<string|int, mixed> $data = [] ]) : mixed
Parameters
$data : array<string|int, mixed> = []
Return values
mixed

accumulateAmounts()

Accumulate the amounts of the detail in the document

public accumulateAmounts(array<string|int, mixed> &$detail) : mixed
Parameters
$detail : array<string|int, mixed>
Return values
mixed

addExtension()

Adds an extension to this model.

public abstract static addExtension(mixed $extension) : mixed
Parameters
$extension : mixed
Return values
mixed

all()

Returns all models that correspond to the selected filters.

public all([array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ], int $offset[, int $limit = 50 ]) : array<string|int, static>
Parameters
$where : array<string|int, mixed> = []

filters to apply to model records.

$order : array<string|int, mixed> = []

fields to use in the sorting. For example ['code' => 'ASC']

$offset : int
$limit : int = 50
Return values
array<string|int, static>

changePrimaryColumnValue()

Change the value of the primary column in the model and the database.

public changePrimaryColumnValue(mixed $newValue) : bool
Parameters
$newValue : mixed
Return values
bool

clear()

public clear() : mixed
Return values
mixed

codeModelAll()

Allows to use this model as source in CodeModel special model.

public codeModelAll([string $fieldCode = '' ]) : array<string|int, CodeModel>
Parameters
$fieldCode : string = ''
Return values
array<string|int, CodeModel>

codeModelSearch()

Allows to use this model as source in CodeModel special model.

public codeModelSearch(string $query[, string $fieldCode = '' ][, array<string|int, DataBaseWhere$where = [] ]) : array<string|int, CodeModel>
Parameters
$query : string
$fieldCode : string = ''
$where : array<string|int, DataBaseWhere> = []
Return values
array<string|int, CodeModel>

count()

Returns the number of records in the model that meet the condition.

public count([array<string|int, DataBaseWhere$where = [] ]) : int
Parameters
$where : array<string|int, DataBaseWhere> = []

filters to apply to model records.

Return values
int

delete()

Remove the model data from the database.

public delete() : bool
Return values
bool

editable()

public editable() : bool
Return values
bool

exists()

Returns true if the model data is stored in the database.

public exists() : bool
Return values
bool

get()

Returns the model whose primary column corresponds to the value $cod

public get(string $code) : static|false
Parameters
$code : string
Return values
static|false

getModelFields()

Returns the list of fields in the table.

public abstract getModelFields() : array<string|int, mixed>
Return values
array<string|int, mixed>

initTotals()

Initializes the total fields

public initTotals() : mixed
Return values
mixed

install()

public install() : string
Return values
string

isBalanced()

Returns TRUE if accounting entry is balanced.

public isBalanced() : bool
Return values
bool

loadFromCode()

Fill the class with the registry values whose primary column corresponds to the value $cod, or according to the condition where indicated, if value is not reported in $cod.

public loadFromCode(string $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : bool

Initializes the values of the class if there is no record that meet the above conditions. Returns True if the record exists and False otherwise.

Parameters
$code : string
$where : array<string|int, mixed> = []
$order : array<string|int, mixed> = []
Return values
bool

loadFromData()

Assign the values of the $data array to the model properties.

public loadFromData([array<string|int, mixed> $data = [] ][, array<string|int, mixed> $exclude = [] ]) : mixed
Parameters
$data : array<string|int, mixed> = []
$exclude : array<string|int, mixed> = []
Return values
mixed

modelClassName()

Returns the name of the class of the model.

public abstract modelClassName() : string
Return values
string

newCode()

Returns the following code for the reported field or the primary key of the model.

public newCode([string $field = '' ][, array<string|int, mixed> $where = [] ]) : int
Parameters
$field : string = ''
$where : array<string|int, mixed> = []
Return values
int

pipe()

Executes all $name methods added from the extensions.

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

pipeFalse()

Executes all $name methods added from the extensions until someone returns false.

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

primaryColumn()

public static primaryColumn() : string
Return values
string

primaryColumnValue()

Returns the current value of the main column of the model.

public primaryColumnValue() : mixed
Return values
mixed

primaryDescription()

Descriptive identifier for humans of the data record

public primaryDescription() : string
Return values
string

primaryDescriptionColumn()

public primaryDescriptionColumn() : string
Return values
string

renumber()

Renumber the accounting entries of the given exercise.

public renumber(string $codejercicio) : bool
Parameters
$codejercicio : string
Return values
bool

save()

public save() : bool
Return values
bool

setDate()

public setDate(string $date) : bool
Parameters
$date : string
Return values
bool

tableName()

public static tableName() : string
Return values
string

test()

public test() : bool
Return values
bool

toArray()

Returns an array with the model fields values.

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

url()

Returns the url where to see / modify the data.

public url([string $type = 'auto' ][, string $list = 'List' ]) : string
Parameters
$type : string = 'auto'
$list : string = 'List'
Return values
string

loadModelFields()

Loads table fields if is necessary.

protected abstract loadModelFields(DataBase &$dataBase, string $tableName) : mixed
Parameters
$dataBase : DataBase
$tableName : string
Return values
mixed

modelName()

Returns the name of the model.

protected abstract modelName() : string
Return values
string

onChange()

This method is called before save (update) when some field has changed.

protected onChange(string $field) : bool
Parameters
$field : string
Return values
bool

onDelete()

This method is called after a record is removed from the database.

protected onDelete() : mixed
Return values
mixed

onInsert()

This method is called after a new record is saved on the database (saveInsert).

protected onInsert() : mixed
Return values
mixed

onUpdate()

This method is called after a record is updated on the database (saveUpdate).

protected onUpdate() : mixed
Return values
mixed

renumberAccEntries()

Update accounting entry numbers.

protected renumberAccEntries(array<string|int, mixed> &$entries, int &$number) : bool
Parameters
$entries : array<string|int, mixed>
$number : int
Return values
bool

saveInsert()

Inserts this data as a new record in database.

protected saveInsert([array<string|int, mixed> $values = [] ]) : bool
Parameters
$values : array<string|int, mixed> = []
Return values
bool

saveUpdate()

Update the model data in the database.

protected saveUpdate([array<string|int, mixed> $values = [] ]) : bool
Parameters
$values : array<string|int, mixed> = []
Return values
bool

setPreviousData()

Saves previous values.

protected setPreviousData([array<string|int, mixed> $fields = [] ]) : mixed
Parameters
$fields : array<string|int, mixed> = []
Return values
mixed

checkTable()

Checks and updates the structure of the table if necessary.

private checkTable() : bool
Return values
bool

getBoolValueForField()

Returns the boolean value for the field.

private getBoolValueForField(array<string|int, mixed> $field, mixed $value) : bool|null
Parameters
$field : array<string|int, mixed>
$value : mixed
Return values
bool|null

getFloatValueForField()

Returns the float value for the field.

private getFloatValueForField(array<string|int, mixed> $field, string $value) : float|null
Parameters
$field : array<string|int, mixed>
$value : string
Return values
float|null

getIntegerValueForField()

Returns the integer value by controlling special cases for the PK and FK.

private getIntegerValueForField(array<string|int, mixed> $field, string $value) : int|null
Parameters
$field : array<string|int, mixed>
$value : string
Return values
int|null

getOrderBy()

Convert an array of filters order by in string.

private getOrderBy(array<string|int, mixed> $order) : string
Parameters
$order : array<string|int, mixed>
Return values
string

getRecord()

Read the record whose primary column corresponds to the value $cod or the first that meets the indicated condition.

private getRecord(string $code[, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $order = [] ]) : array<string|int, mixed>
Parameters
$code : string
$where : array<string|int, mixed> = []
$order : array<string|int, mixed> = []
Return values
array<string|int, mixed>

Search results