Documentación de la Clase de Cálculo de Funciones
Esta clase se utiliza para manejar funciones críticas relacionadas con la valorización de transacciones y el cálculo de impuestos en un sistema de gestión. Las funciones que se pueden ejecutar son:
calcularImpuestocalcularVolumenVentacalcularVolumenProduccioncalcularVolumenStockcalcularPrecioUnitarioxUnidadVolumencalcularBaseImponible
Orden de Ejecución de Funciones
Para transacciones que requieren valorización y cálculo de impuestos, como una factura, el orden recomendado de ejecución es:
calcularPrecioUnitarioxUnidadVolumencalcularBaseImponiblecalcularImpuesto
Configuración Necesaria
Para que la clase funcione correctamente, es necesario configurar ciertas claves de desarrollo en los esquemas correspondientes.
Esquema de Transacción/Colección Principal
En el esquema definido en Bloc DynamicCrudBloc dentro de OnEstablecerColeccionDynamicCrud, deben configurarse las siguientes claves:
"transaccion" {
"keyDesarrollo": [
"keyMonedaComprobante",
"keyMonedaItem",
"keyCliente",
"keyComprobante",
"keyFechaComprobante",
"keyDetalle",
"keyProducto",
"keyIdVolumen",
"keyVolumen",
"keyCantidad",
"keyListaPrecio",
"keyFechaVigenciaLPrecio",
"keyPrecioUnitario",
"keyEstadoProducto",
"keyDescuento",
"keyDetalleFiscal",
"keyImpuestoPercibirInDetalleFiscal",
"keyTotalBaseImponibleInDetalleFiscal",
"keyTotalTasaInDetalleFiscal",
"keyFiscal",
"keyImporteTotalDescuento",
"keyImporteBaseImponible",
"keyImporteImpInterno",
"keyImporteTasa",
"keyImporteOtros"
],
}
Colecciones Complementarias
Se deben configurar los siguientes esquemas complementarios:
Cliente
"cliente": {
"coleccion": "cliente",
"keyDesarrollo": [
"keyIvaPersona",
"keyDetalleFiscal",
"keyImpuestoPercibirInDetalleFiscal"
]
}
Producto
"producto": {
"coleccion": "producto",
"keyDesarrollo": [
"keyDescripcionProducto",
"keyDetalleFiscal",
"keyImpuestoPercibirInDetalleFiscal",
"keyIdUnidadVolumenPredeterminado",
"keyVolumenProduccion",
"keyIdVolumenInVolumenProduccion",
"keyVolumenInVolumenProduccion",
"keyRedondeoInVolumenProduccion",
"keyVolumenVenta",
"keyIdVolumenInVolumenVenta",
"keyVolumenInVolumenVenta",
"keyRedondeoInVolumenVenta",
"keyCategoriaProducto",
"keyFamiliaProducto"
]
}
Comprobante
"comprobante": {
"coleccion": "comprobante",
"keyDesarrollo": [
"keyDescripcionComprobante",
"keyDetalleFiscal",
"keyImpuestoPercibirInDetalleFiscal",
"keyidTipoComprobanteFiscal"
]
}
Lista de Precio
"listaPrecio": {
"coleccion": "listaPrecio",
"keyDesarrollo": [
"keyDescripcion",
"keyFechaVigenciaPrecio",
"keyUnidadVolumen",
"keyMoneda"
]
}
Detalle Lista de Precio
"detalleListaPrecio": {
"coleccion": "detalleListaPrecio",
"keyDesarrollo": [
"keyListaPrecio",
"keyFechaVigencia",
"keyFamiliaProducto",
"keyCategoriaProducto",
"keyEstadoProducto",
"keyImporte"
]
}
Cotización
"cotizacion": {
"coleccion": "cotizacion",
"keyDesarrollo": [
"keyFechaCotizacion",
"keyCotizaciones",
"keyMonedaOrigenInCotizaciones",
"keyMonedaDestinoInCotizaciones",
"keyCotizacionInCotizaciones"
]
}
Otros Esquemas
"ivaPersona": {"coleccion": "ivaPersona"},
"familiaImpuestoPercibir": {"coleccion": "familiaImpuestoPercibir"},
"impuestoPercibir": {"coleccion": "impuestoPercibir"},
"tipoComprobanteFiscal": {"coleccion": "tipoComprobanteFiscal"}
Conclusión
Configurar correctamente estas claves en los esquemas de desarrollo garantiza que las funciones de cálculo se ejecuten de manera eficiente y precisa, facilitando la gestión de transacciones y cálculos fiscales en el sistema.