FacturaScripts

AccountingPlanImport
in package

Importa un plan contable (cuentas y subcuentas) en un ejercicio desde un fichero CSV o XML, dentro de una transacción. Actualiza primero la tabla de cuentas especiales y, si algo falla, revierte todos los cambios.

Tags

Raul Jimenez [email protected]

collaborator

Daniel Fernández Giménez [email protected]

Table of Contents

Properties

$dataBase  : DataBase
$exercise  : Ejercicio
Ejercicio sobre el que se importa el plan contable.

Methods

__construct()  : mixed
importCSV()  : bool
Importa el plan contable desde un fichero CSV en el ejercicio indicado.
importXML()  : bool
Importa el plan contable desde un fichero XML en el ejercicio indicado, procesando en orden grupos, epígrafes, cuentas y subcuentas dentro de una transacción. Si algo falla, se revierte todo.
createAccount()  : bool
Crea una cuenta en el ejercicio si no existe. Si ya existe con ese código, la deja como está (no actualiza descripción ni cuenta especial).
createSubaccount()  : bool
Crea una subcuenta en el ejercicio si no existe, ajustando además la longitud de subcuenta del ejercicio al tamaño del primer código importado.
getData()  : SimpleXMLElement|array<string|int, mixed>
Devuelve el contenido del XML como SimpleXMLElement, o un array vacío si el fichero no existe.
importCuenta()  : bool
Importa las cuentas del XML (nodo <cuenta>) creándolas bajo su epígrafe.
importEpigrafe()  : bool
Importa los epígrafes del XML (nodo <epigrafes>) creándolos bajo su grupo.
importEpigrafeGroup()  : bool
Importa los grupos del XML (nodo <grupo_epigrafes>) como cuentas raíz.
importSubcuenta()  : bool
Importa las subcuentas del XML (nodo <subcuenta>) bajo su cuenta padre.
processCsvData()  : bool
Lee el CSV (código, descripción, cuenta especial) y, deduciendo los niveles de la jerarquía por la longitud de los códigos, crea cuentas para la longitud mínima e intermedia, y subcuentas para la longitud máxima. El padre de cada código se localiza buscando otro código que sea prefijo suyo.
searchParent()  : string
Devuelve el código padre del código indicado: el código más largo de la lista que sea prefijo del actual (sin incluirlo a sí mismo).
updateSpecialAccounts()  : void
Actualiza la tabla de cuentas especiales desde el CSV de datos por defecto (Core/Data) antes de importar el plan, para que los códigos de cuenta especial referenciados estén disponibles.

Properties

Methods

importCSV()

Importa el plan contable desde un fichero CSV en el ejercicio indicado.

public importCSV(string $filePath, string $codejercicio) : bool

Todo el proceso se ejecuta en una transacción: si algo falla, se revierte.

Parameters
$filePath : string
$codejercicio : string
Return values
bool

importXML()

Importa el plan contable desde un fichero XML en el ejercicio indicado, procesando en orden grupos, epígrafes, cuentas y subcuentas dentro de una transacción. Si algo falla, se revierte todo.

public importXML(string $filePath, string $codejercicio) : bool
Parameters
$filePath : string
$codejercicio : string
Return values
bool

createAccount()

Crea una cuenta en el ejercicio si no existe. Si ya existe con ese código, la deja como está (no actualiza descripción ni cuenta especial).

protected createAccount(string $code, string $definition[, string|null $parentCode = '' ][, string|null $codcuentaesp = '' ]) : bool
Parameters
$code : string
$definition : string
$parentCode : string|null = ''
$codcuentaesp : string|null = ''
Return values
bool

createSubaccount()

Crea una subcuenta en el ejercicio si no existe, ajustando además la longitud de subcuenta del ejercicio al tamaño del primer código importado.

protected createSubaccount(string $code, string $description, string $parentCode[, string|null $codcuentaesp = '' ]) : bool
Parameters
$code : string
$description : string
$parentCode : string
$codcuentaesp : string|null = ''
Return values
bool

getData()

Devuelve el contenido del XML como SimpleXMLElement, o un array vacío si el fichero no existe.

protected getData(string $filePath) : SimpleXMLElement|array<string|int, mixed>
Parameters
$filePath : string
Return values
SimpleXMLElement|array<string|int, mixed>

importCuenta()

Importa las cuentas del XML (nodo <cuenta>) creándolas bajo su epígrafe.

protected importCuenta(SimpleXMLElement $data) : bool
Parameters
$data : SimpleXMLElement
Return values
bool

importEpigrafe()

Importa los epígrafes del XML (nodo <epigrafes>) creándolos bajo su grupo.

protected importEpigrafe(SimpleXMLElement $data) : bool
Parameters
$data : SimpleXMLElement
Return values
bool

importEpigrafeGroup()

Importa los grupos del XML (nodo <grupo_epigrafes>) como cuentas raíz.

protected importEpigrafeGroup(SimpleXMLElement $data) : bool
Parameters
$data : SimpleXMLElement
Return values
bool

importSubcuenta()

Importa las subcuentas del XML (nodo <subcuenta>) bajo su cuenta padre.

protected importSubcuenta(SimpleXMLElement $data) : bool
Parameters
$data : SimpleXMLElement
Return values
bool

processCsvData()

Lee el CSV (código, descripción, cuenta especial) y, deduciendo los niveles de la jerarquía por la longitud de los códigos, crea cuentas para la longitud mínima e intermedia, y subcuentas para la longitud máxima. El padre de cada código se localiza buscando otro código que sea prefijo suyo.

protected processCsvData(string $filePath) : bool
Parameters
$filePath : string
Return values
bool

searchParent()

Devuelve el código padre del código indicado: el código más largo de la lista que sea prefijo del actual (sin incluirlo a sí mismo).

protected searchParent(array<string|int, mixed> &$accountCodes, string $account) : string
Parameters
$accountCodes : array<string|int, mixed>
$account : string
Return values
string

updateSpecialAccounts()

Actualiza la tabla de cuentas especiales desde el CSV de datos por defecto (Core/Data) antes de importar el plan, para que los códigos de cuenta especial referenciados estén disponibles.

protected updateSpecialAccounts() : void
On this page

Search results