Para el cálculo de las ventas, se están utilizando los importes de las lineas de las facturas de clientes, pero mediante la consulta SQL: ''sum(lfc.pvptotal) as pvptotal Con esa consulta NO se obtiene el importe una vez aplicados los descuentos globales de las facturas correspondientes a esas lineas. La consulta SQL que si lo obtendría sería esta otra: ``sum((lfc.pvptotal)((100-fc.dtopor1)/100)((100-fc.dtopor2)/100)) as pvptotal
Además se podría implementar una segunda opción al imforme, para obtener los datos una vez aplicado el impuesto correspondiente, mediante esta otra consulta SQL: ``sum((lfc.pvptotal)((100-fc.dtopor1)/100)((100-fc.dtopor2)/100)*((100+lfc.iva)/100)) as pvptotal
En el archivo ...\Plugins\Informes\Lib\Informes\ResultReport.php se tendría que añadir, después del
$dataBase = new DataBase(); sobre la linea 805, esto:
``switch (self::$tiposql) {
case 'withvat':
// Total Con IVA
$ConsultaTipo = "sum((lfc.pvptotal)((100-fc.dtopor1)/100)((100-fc.dtopor2)/100)((100+lfc.iva)/100)) as pvptotal";
break;
case 'withoutvat':
// Total Sin IVA
$ConsultaTipo = "sum((lfc.pvptotal)((100-fc.dtopor1)/100)*((100-fc.dtopor2)/100)) as pvptotal";
break;
}
La variable ``$sql de después, quedaría modificada de esta forma:
``$sql = "select lfc.referencia,"
. " " . $ConsultaTipo
. " from lineas{$tablename} as lfc"
En el archivo ...\Plugins\Informes\View\ReportResult.html.twig se añadiría, sobre la linea 60, esto:
<div class="col-lg-2 col-sm-6 mb-2">
<select class="form-control" id="tiposql">
<!-- Datos IVA Incluido en las lineas de facturas, menos dtos globales en factura -->
<option value="withvat" selected>{{ trans('using-data-with-vat') }}</option>
<!-- Datos IVA No Incluido en las lineas de facturas, menos dtos globales en factura -->
<option value="withoutvat">{{ trans('using-data-without-vat') }}</option>
</select>
</div>
En ese mismo archivo, en la ``function sendForm(formData) { añadiríamos lo siguiente:
``formData.append('tiposql', $('#tiposql option:selected').val());
En ese mismo archivo, después de:
``$(document).on('change', '#selectExercise', function () {
initPage();
});
Añadiriamos esto otro:
``$(document).on('change', '#tiposql', function () {
initPage();
});
También se tendrían que incluir en las traducciones los términos utilizados que no estén ya incluidos
No hay un plazo máximo para implementar esto
Tal cual lo he indicado, no precisa mas de 5 minutos
Esta tarea fué rechazada.