Cómo modificar el Calculator desde un plugin

Para modificar los cálculos de totales y subtotales de los albaranes, factura, etc ... debemos crear una clase que implemente el CalculatorModInterface:

  • FacturaScripts\Core\Contract\CalculatorModInterface

Por convención se llamará CalculatorMod y se ubicará en el directorio Mod del plugin.

Podemos editar o recalcular datos al momento de calcular los totales del documento, ya sea para compras y ventas, o solo para uno de ellos.

Recalcular el total del documento

public function calculate(BusinessDocument &$doc, array &$lines): bool
{
    $doc->total = 'aquí tu cáclulo';
    return true;
}

Recalcular líneas

public function calculateLine(BusinessDocument $doc, BusinessDocumentLine &$line): bool
{
    $line->total = 'aquí tu cáclulo';
    return true;
}

Inicializar registros

public function clear(BusinessDocument &$doc, array &$lines): bool
{
    $doc->total = 0.0;

    foreach ($lines as $line) {
        $line->total = 0.0;
    }

    return true;
}

Archivo Init

Todos los archivos añadidos al Mod de los docuementos, ya sean de compra o venta, se deben añadir al archivo init para cargalos en la ejecución.

use FacturaScripts\Core\Lib\Calculator;

public function init(): void
{
    Calculator::addMod(new Mod\CalculatorMod());
}
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.33374s

Soporte