Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
| Doc. Ref. 28557 Título: Los métodos CDoc en Hexa V9 Autor: Soltec Última actualización: 17/08/2018#pedido #factura #albaran #conversión #importes |
Los métodos CDoc en Hexa V.9
El objeto CDoc instanciado por defecto em Hexa V.9 dispone de un conjunto de métodos relacionados con el cálculo de los documentos (Pedidos, albaranes facturas...
Los métodos disponibles son los siguientes:
-
CDoc.CBasTot(Condicion, Orden, Opciones)
Calcula los importes de un documento (pedido, albaran o factura de cliente o proveedor.
Parámetros en Opciones: "Documento" indica el tipo de documento del que se quiere actualizar ("Pedido", "FacturaProveedor", etc.). "CalcularLineas" indica si se debe recalcular las líneas del documento, "SumarLineas" indica se se debe realizar y actualizar la sima de las líneas en el documento, "CalcularDocumento indica si se debe realizar los cálculos de los inportes totales del documento (descuentos, impuestos, etc.), "Cambiar" indica si se debe actualizar los valores calculados en la base de datos o solo devolver como resultado si los valores son diferentes o no.
Ejemplo:
CDoc.CBasTot("Year(Fecha)=2015", "Prefijo ASC, Numero ASC", "Documento=Factura CalculaLineas=Si SumarLineas=Si CalcularDocumento=Si Cambiar=Si")Es especialmente útil en importaciones de datos o cuando se genera un documento en un script y se desea calcular o comprobar los importes totales.
-
CDoc.CBasTot0(Condicion, Orden, Opciones)
Pone a cero los importes totales de un documento.
Parámetros en Opciones: "Documento" indica el tipo de documento del que se quiere actualizar ("Pedido", "FacturaProveedor", etc.).
Ejemplo:
CDoc.CBasTot0("Prefijo='A' AND Numero=1234", "Prefijo ASC, Numero ASC", "Documento=Albaran CalculaLineas=Si SumarLineas=Si CalcularDocumento=Si Cambiar=Si")
CMovBase(Codigo, Tipo, Cambiar, Precision)
Calcula los importes de un registro de Movimiento (linea de albarán o fatcura) o MovimientoPrevisto (línea de pedido u órden de fabricación
Parámetros: "Codigo" indica el registro a calcular, Tipo es cadena vacía para Movimiento y "Previsto" para Movimiento Previsto, Cambiar indica si se debe modificar o sólo informar de la diferencia (True/False), Precisión indica la precisón del cálculo (tener en cuenta que en las lineas de documentos, hay casos en que para valores unitarios o cantuidades muy pequeñas, los cálculos se pueden hacer con más decimales que los correspondientes a la moneda.
Ejemplo:
CDoc.CMovBase(123456,"",True,6)
Es, sobre todo, utilizado por otros métodos de esta clase.
CDoc.CDicIL(Condicion, Orden, Opciones)
Adapta los campos de Importe IVA de un documento para hacerlos cuadrar con un cierto total.
Parámetros en Opciones: "Documento" indica el tipo de documento del que se quiere actualizar ("Pedido", "FacturaProveedor", etc.). "Total" indica el importe total que queremos obtener
Ejemplo:
CDoc.CBasTot("Prefijo='T' AND Numero=456789", "Prefijo ASC, Numero ASC", "Documento=Factura Total=25,99")
Es útil cuando necesitamos que un documento cuadre con un importe total cuando el calculo correcto se diferencia de 1 céntimo respecto al que deseamos.
CDoc.CBasTotContr(Condicion, Orden, Opciones)
Calcula los importes de un contrato con cliente o proveedor.
Parámetros en Opciones: "Persona" indica si es "Cliente" o "Proveedor". "CalcularLineas" indica si se debe recalcular las líneas del documento, "SumarLineas" indica se se debe realizar y actualizar la sima de las líneas en el documento, "CalcularDocumento indica si se debe realizar los cálculos de los inportes totales del documento (descuentos, impuestos, etc.), "Cambiar" indica si se debe actualizar los valores calculados en la base de datos o solo devolver como resultado si los valores son diferentes o no.
Ejemplo:
CDoc.CBasTotContr("Numero=853", "Numero ASC", "Persona=Cliente CalculaLineas=Si SumarLineas=Si CalcularDocumento=Si Cambiar=Si")
CDoc.CBasTot0Contr(Condicion, Orden, Opciones)
Pone a cero los importes totales de un contrato.
Parámetros en Opciones: "Persona" indica si es "Cliente" o "Proveedor".
Ejemplo:
CDoc.CBasTotContr0("Numero=853", "Numero ASC", "Persona=Cliente")
Métodos de cálculo que no afectan a registros de la base de datos:
- CDoc.CBaseMovimiento(Cantidad, Precio, Descuento, Precision)
Calcula el importe resultado de una cantidad con un precio y un descuento.
- CDoc.CBasePVMovimiento(Cantidad, CostePuntoVerde, Precision)
Calcula el importe de punto verde de una cantidad con un coste del punto verde y un descuento.
- CDoc.CNeto(Bruto, Descuento, Descuento2, Precision)
Calcula el importe resultado de un precio y dos descuentos aplicados sucesivamente.
- CDoc.CDescuento(Bruto, Descuento, Precision)
Calcula el importe de descuento resultado de una importe un descuento.
- CDoc.CRE(Base, PorcentajeRE, Precision)
Calcula el importe de recargo de equivalencia de un importe y un porcentaje.
- CDoc.CIVA(Base, TipoIVA, Precision)
Calcula el importe de IVA de una importe y un porcentaje de IVA.
- CDoc.CRecargoFinanciero(BaseNeta, PorcentajeRecargoFinanciero, Precision)
Calcula el importe de recargo fincnaciero de una cantidad y un porcentaje de recargo.
- CDoc.CIRPF(BaseNeta, PorcentajeIRPF, Precision)
Calcula el importe de IRPF de un importe y un porcentaje.
En todos los casos, el parámetro "Precision" indica el número de decimales a aplicar en el resultado.
