Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion Core/Lib/API/APIModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,13 @@
use FacturaScripts\Core\Where;

/**
* APIModel is the class for any API Model Resource in Dinamic/Model folder.
* Recurso genérico de la API que expone automáticamente todos los modelos de la
* carpeta Dinamic/Model, publicando cada uno con su nombre en plural y admitiendo
* las operaciones GET (listado, ficha y esquema), POST, PUT/PATCH y DELETE.
* Traduce los parámetros filter, operation, sort, limit y offset de la petición a
* cláusulas Where del modelo, validando que las columnas existan y no estén ocultas.
* Los modelos que no deban publicarse se descartan con excludeModel(), que los plugins
* pueden invocar desde su Init::init().
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Rafael San José Tovar <rsanjoseo@gmail.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/API/Base/APIResourceClass.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,12 @@
use FacturaScripts\Core\Tools;

/**
* APIResource is an abstract class for any API Resource.
* Clase base de la que heredan todos los recursos de la API. Recibe la petición y la
* respuesta HTTP, publica los recursos que ofrece mediante getResources() y reparte
* cada llamada al método doGET(), doPOST(), doPUT() o doDELETE() correspondiente según
* el verbo HTTP recibido. Las clases hijas solo necesitan implementar los verbos que
* soporten, y disponen de returnResult(), setOk() y setError() para devolver la
* respuesta en formato JSON con el código de estado adecuado.
*
* @author Rafael San José Tovar (http://www.x-netdigital.com) <rsanjoseo@gmail.com>
* @author Carlos García Gómez <carlos@facturascripts.com>
Expand Down
13 changes: 6 additions & 7 deletions Core/Lib/Accounting/AccountingAccounts.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,12 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Class for calculate/obtain accounting sub-account of:
* (Respecting the additional levels)
*
* - Customer
* - Customer Group
* - Supplier
* - Payment
* Localiza las subcuentas contables que corresponden a clientes, grupos de clientes,
* proveedores, acreedores, formas de pago, impuestos y retenciones dentro del ejercicio
* indicado en la propiedad exercise. Para cada elemento comprueba primero la subcuenta
* asignada al registro, después la del grupo cuando procede, y en último término recurre
* a la cuenta o subcuenta marcada como especial mediante las constantes SPECIAL_*.
* Si la subcuenta no existe todavía en el ejercicio, la crea apoyándose en AccountingCreation.
*
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
* @author Carlos García Gómez <carlos@facturascripts.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/Accounting/AccountingBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,12 @@
use FacturaScripts\Dinamic\Model\Ejercicio;

/**
* Description of AccountingBase
* Clase base de los informes contables que se calculan entre dos fechas, como el libro
* mayor, el balance de sumas y saldos o las cuentas anuales. Proporciona la conexión a
* la base de datos, las fechas de inicio y fin del periodo y el ejercicio sobre el que
* se trabaja, que puede cargarse por código con setExercise() o deducirse de una fecha
* y una empresa con setExerciseFromDate(). Las clases hijas deben implementar generate()
* para lanzar el cálculo y getData() para obtener los saldos de cada apartado.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author nazca <comercial@nazcanetworks.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/Accounting/AccountingClass.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,12 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Base class for creation of accounting processes
* Clase base de los procesos que generan asientos contables a partir de un documento,
* como facturas o recibos. Amplía AccountingAccounts para poder localizar las subcuentas
* implicadas y añade utilidades para crear las partidas del asiento: líneas simples de
* debe o haber, líneas generadas a partir de un array de totales por subcuenta y líneas
* de IVA o recargo de equivalencia con sus datos de registro fiscal. Las clases hijas
* sobrescriben generate() para construir el asiento que corresponda a su documento.
*
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
* @author Carlos García Gómez <carlos@facturascripts.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/Accounting/AccountingClosingBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Description of AccountingClosing
* Clase base de los asientos especiales que se generan al cerrar un ejercicio contable:
* regularización, cierre y apertura. Obtiene mediante SQL los saldos de las subcuentas
* agrupados por canal, crea un asiento por cada canal y le añade una partida por cada
* subcuenta con saldo, más una partida de contrapartida cuando el proceso lo requiere.
* Las clases hijas concretan el concepto, la fecha, el tipo de operación y la consulta
* de saldos. También permite eliminar los asientos ya generados con delete().
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
6 changes: 5 additions & 1 deletion Core/Lib/Accounting/AccountingClosingClosing.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@
use FacturaScripts\Dinamic\Model\Partida;

/**
* Perform closing of account balances for the exercise.
* Genera el asiento de cierre del ejercicio, que salda todas las subcuentas de los
* grupos 1 al 5 llevando cada una a cero por su importe contrario. Antes de crearlo
* elimina cualquier asiento de cierre anterior del mismo ejercicio, y excluye del
* cálculo las partidas que pertenezcan a otro asiento de cierre. Se ejecuta después
* de la regularización y es el paso previo a la apertura del ejercicio siguiente.
*
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
*/
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/Accounting/AccountingClosingOpening.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Perform opening of account balances for the exercise.
* Genera el asiento de apertura del ejercicio siguiente al que se cierra, trasladando
* los saldos de las subcuentas de los grupos 1 al 5 con su mismo signo. Localiza o crea
* el nuevo ejercicio a partir de la fecha de inicio del anterior y, salvo que se indique
* lo contrario con setCopySubAccounts(), copia antes todo el plan de cuentas y subcuentas.
* El saldo de la subcuenta de pérdidas y ganancias se lleva a la subcuenta especial de
* resultado positivo o negativo de ejercicios anteriores según corresponda.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
6 changes: 5 additions & 1 deletion Core/Lib/Accounting/AccountingClosingRegularization.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@
use FacturaScripts\Dinamic\Model\Partida;

/**
* Perform regularization of account balances for the exercise.
* Genera el asiento de regularización del ejercicio, que salda las subcuentas de gastos
* e ingresos de los grupos 6 y 7 y lleva la diferencia a la subcuenta especial de
* pérdidas y ganancias, indicando así el resultado del ejercicio. Si no encuentra esa
* subcuenta especial el proceso se detiene con un error. Antes de crear el asiento
* elimina el de regularización anterior, y es el primer paso del cierre contable.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
11 changes: 6 additions & 5 deletions Core/Lib/Accounting/AccountingCreation.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,12 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Class to create accounting subaccounts automatically:
*
* - General
* - Customer
* - Supplier
* Crea de forma automática cuentas y subcuentas contables dentro de un ejercicio,
* comprobando siempre que este permanece abierto. Permite crear una subcuenta a partir
* de su cuenta padre, copiar cuentas y subcuentas de un ejercicio a otro y generar la
* subcuenta de un cliente o proveedor, buscando para ello el primer código libre bajo
* la cuenta indicada y respetando la longitud de subcuenta definida en el ejercicio.
* La utiliza AccountingAccounts cuando la subcuenta buscada todavía no existe.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
5 changes: 4 additions & 1 deletion Core/Lib/Accounting/AccountingPlanExport.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Class to export accounting plans.
* Exporta a un fichero CSV el plan contable de un ejercicio, volcando en una sola tabla
* primero las cuentas y después las subcuentas, con su código, su descripción y la cuenta
* especial asociada. El resultado usa el mismo formato que espera AccountingPlanImport,
* de modo que el plan exportado puede volver a importarse en otro ejercicio o instalación.
*
* @author Carlos García Gómez <carlos@facturapascripts.com>
* @author Oscar G. Villa González <ogvilla@gmail.com>
Expand Down
6 changes: 5 additions & 1 deletion Core/Lib/Accounting/ClosingToAcounting.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Class that performs accounting closures
* Coordina el cierre contable completo de un ejercicio dentro de una única transacción:
* actualiza las cuentas especiales, bloquea las facturas de venta y compra comprobando
* que todas tengan asiento, y lanza en orden la regularización, el cierre y la apertura
* del ejercicio siguiente, marcando por último el ejercicio como cerrado. El método
* delete() deshace el proceso, eliminando los asientos generados y reabriendo el ejercicio.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/Accounting/Ledger.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,12 @@
use FacturaScripts\Dinamic\Model\Partida;

/**
* Description of Ledger
* Genera el informe de libro mayor de una empresa entre dos fechas, recorriendo las
* partidas de los asientos del ejercicio y calculando los saldos acumulados. Según los
* parámetros recibidos puede devolver el listado sin agrupar o agrupado por cuenta o por
* subcuenta, añadiendo en todos los casos una fila final con los totales de debe, haber
* y saldo. Los importes se formatean según el formato de salida indicado, en texto plano
* para CSV y con separadores y negritas cuando el destino es un PDF.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author nazca <comercial@nazcanetworks.com>
Expand Down
6 changes: 5 additions & 1 deletion Core/Lib/AjaxForms/AccountingFooterHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@
use FacturaScripts\Dinamic\Model\Asiento;

/**
* Description of AccountingFooterHTML
* Genera el pie del formulario de edición de asientos contables, con el buscador para
* añadir nuevas subcuentas, el importe del asiento, el aviso de descuadre y los botones
* de guardar, bloquear y eliminar. También recoge los datos enviados por el formulario
* y los aplica sobre el modelo Asiento. Los plugins pueden añadir campos y botones
* propios registrando sus mods con addMod(), que implementan AccountingModInterface.
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
5 changes: 4 additions & 1 deletion Core/Lib/AjaxForms/AccountingHeaderHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@
use FacturaScripts\Dinamic\Model\FacturaProveedor;

/**
* Description of AccountingHeaderHTML
* Genera la cabecera del formulario de edición de asientos contables, con los campos de
* empresa, fecha, concepto, documento, diario, canal y tipo de operación, y traslada al
* modelo Asiento los valores enviados por el formulario. Los plugins pueden añadir sus
* propios campos registrando mods con addMod(), que implementan AccountingModInterface.
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/AccountingLineHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,13 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Description of SalesLineHTML
* Genera el HTML de las partidas del formulario de asientos contables y aplica
* sobre ellas los datos enviados por el usuario, creando, actualizando o
* eliminando partidas según lo recibido. También recalcula el debe, el haber y
* el importe del asiento tras cada cambio, y ofrece un modal por línea con los
* campos de IVA, recargo, base imponible, CIF/NIF, documento y serie.
* Los plugins pueden alterar o añadir campos mediante mods que implementen
* AccountingLineModInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
6 changes: 5 additions & 1 deletion Core/Lib/AjaxForms/AccountingModalHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@
use FacturaScripts\Dinamic\Model\Subcuenta;

/**
* Description of AccountingModalHTML
* Genera el HTML del modal de búsqueda de subcuentas del formulario de asientos
* contables. Filtra las subcuentas por el ejercicio del asiento y por el texto
* introducido, permitiendo ordenar los resultados por código, descripción o
* saldo. Al pulsar sobre una fila se añade una nueva partida al asiento con esa
* subcuenta.
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
9 changes: 9 additions & 0 deletions Core/Lib/AjaxForms/CommonLineHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@
use FacturaScripts\Dinamic\Model\Stock;
use FacturaScripts\Dinamic\Model\Variante;

/**
* Reúne el código común para generar el HTML de las líneas de los documentos de
* compra y de venta: referencia, descripción, cantidad, impuesto, descuentos,
* IRPF, recargo de equivalencia, excepciones de IVA, suplidos y totales de línea.
* Lo utilizan SalesLineHTML y PurchasesLineHTML, que aportan las particularidades
* de cada ámbito. Cachea las variantes y el stock de los productos empleados para
* evitar consultas repetidas, y tiene en cuenta el régimen de IVA del cliente o
* proveedor a la hora de mostrar los impuestos disponibles.
*/
trait CommonLineHTML
{
/** @var string */
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/CommonSalesPurchases.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,13 @@
use FacturaScripts\Dinamic\Model\EstadoDocumento;

/**
* Description of CommonSalesPurchases
* Reúne el código común para generar el HTML de la cabecera y el pie de los
* documentos de compra y de venta: CIF/NIF, fechas, divisa, almacén, serie,
* forma de pago, empresa, estado del documento, enlaces a documentos
* relacionados y botones de acción. Lo utilizan SalesHeaderHTML,
* PurchasesHeaderHTML, SalesFooterHTML y PurchasesFooterHTML. Incluye además
* checkLevel(), que comprueba si el usuario de la sesión tiene nivel suficiente
* para editar determinados campos.
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Daniel Fernández Giménez <contacto@danielfg.es>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/AjaxForms/PurchasesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@
use Throwable;

/**
* Description of PurchasesController
* Controlador base de los documentos de compra (presupuestos, pedidos, albaranes
* y facturas de proveedor). Monta el formulario mediante AJAX combinando
* PurchasesHeaderHTML, PurchasesLineHTML, PurchasesFooterHTML y
* PurchasesModalHTML, y atiende las peticiones de autocompletado de proveedores
* y productos, el recálculo de líneas con Calculator y el guardado del documento.
* Las clases hijas solo deben indicar el modelo con getModelClassName().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/PurchasesFooterHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@
use FacturaScripts\Core\Tools;

/**
* Description of PurchasesFooterHTML
* Genera el HTML del pie del formulario de los documentos de compra: descuentos
* generales, observaciones, los totales del documento (neto, impuestos, IRPF,
* recargo, suplidos y total) y los botones de nueva línea, buscar producto,
* deshacer y guardar. También aplica sobre el modelo los datos de esos campos
* enviados por el usuario.
* Los plugins pueden añadir o modificar campos mediante mods que implementen
* PurchasesModInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/PurchasesHeaderHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,13 @@
use FacturaScripts\Dinamic\Model\Proveedor;

/**
* Description of PurchasesHeaderHTML
* Genera el HTML de la cabecera del formulario de los documentos de compra:
* proveedor, dirección, fechas, número de proveedor, serie, forma de pago,
* divisa, almacén, estado y demás datos generales del documento. También aplica
* sobre el modelo los datos enviados por el usuario, rellenando automáticamente
* los valores del proveedor cuando este cambia.
* Los plugins pueden añadir o modificar campos mediante mods que implementen
* PurchasesModInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/AjaxForms/PurchasesLineHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@
use FacturaScripts\Dinamic\Model\Variante;

/**
* Description of PurchasesLineHTML
* Genera el HTML de las líneas del formulario de los documentos de compra y
* aplica sobre ellas los datos enviados por el usuario, creando, actualizando o
* eliminando líneas según lo recibido. Sobre la base común de CommonLineHTML
* añade los campos propios de las compras y un modal por línea con los datos
* ampliados de cada una. Los plugins pueden añadir o modificar campos mediante
* mods que implementen PurchasesLineModInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/PurchasesModalHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,13 @@
use FacturaScripts\Dinamic\Model\Proveedor;

/**
* Description of PurchasesModalHTML
* Genera el HTML de las ventanas modales del formulario de los documentos de
* compra: la búsqueda de proveedores, la creación rápida de un proveedor nuevo
* y la búsqueda de productos con sus filtros de familia, fabricante, almacén y
* atributos. En el listado de productos muestra el coste, el precio, el stock
* disponible y la referencia de proveedor de cada variante.
* Los plugins pueden añadir o modificar campos y filtros mediante mods que
* implementen PurchasesModalInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down
7 changes: 6 additions & 1 deletion Core/Lib/AjaxForms/SalesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,12 @@
use Throwable;

/**
* Description of SalesController
* Controlador base de los documentos de venta (presupuestos, pedidos, albaranes
* y facturas de cliente). Monta el formulario mediante AJAX combinando
* SalesHeaderHTML, SalesLineHTML, SalesFooterHTML y SalesModalHTML, y atiende
* las peticiones de autocompletado de clientes y productos, el recálculo de
* líneas con Calculator y el guardado del documento.
* Las clases hijas solo deben indicar el modelo con getModelClassName().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
*/
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/SalesFooterHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@
use FacturaScripts\Core\Tools;

/**
* Description of SalesFooterHTML
* Genera el HTML del pie del formulario de los documentos de venta: descuentos
* generales, observaciones, los totales del documento (neto, impuestos, IRPF,
* recargo, suplidos y total) y los botones de nueva línea, buscar producto,
* deshacer y guardar. También aplica sobre el modelo los datos de esos campos
* enviados por el usuario.
* Los plugins pueden añadir o modificar campos mediante mods que implementen
* SalesModInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Daniel Fernández Giménez <contacto@danielfg.es>
Expand Down
8 changes: 7 additions & 1 deletion Core/Lib/AjaxForms/SalesHeaderHTML.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,13 @@
use FacturaScripts\Dinamic\Model\Pais;

/**
* Description of SalesHeaderHTML
* Genera el HTML de la cabecera del formulario de los documentos de venta:
* cliente, dirección de facturación y de envío, fechas, serie, forma de pago,
* divisa, almacén, agente, estado y demás datos generales del documento.
* También aplica sobre el modelo los datos enviados por el usuario, rellenando
* automáticamente los valores del cliente cuando este cambia.
* Los plugins pueden añadir o modificar campos mediante mods que implementen
* SalesModInterface y se registren con addMod().
*
* @author Carlos Garcia Gomez <carlos@facturascripts.com>
* @author Daniel Fernández Giménez <contacto@danielfg.es>
Expand Down
Loading
Loading