TOPCAB implemented
Ir a la navegación
Ir a la búsqueda
Descripción
El objeto TOPCAB_implemented (Cabecera de ordenes de pago OPCAB.) extiende a ORDENES PAGO.
Identidad
- Ancestro: TcmpCABECERA_pragma_XTD_implemented
- Carpeta: C:\DevelopPrx\implemented
- Archivo: OPCAB_implemented.pas
Declaración
type TOPCAB_implemented = class(TCMPCABECERA_PRAGMA_XTD_implemented) private FLiquida_Moneda: String; FLiquida_Fecha: TDatetime; FLiquida_Cotizacion: Double; FLiquidando: Boolean; protected function Redondear(aNumero: Double; aDecs: Integer): Double; public property Liquida_Fecha: TDatetime read FLiquida_Fecha write FLiquida_Fecha; property Liquida_Moneda: String read FLiquida_Moneda write FLiquida_Moneda; property Liquida_Cotizacion: Double read FLiquida_Cotizacion write FLiquida_Cotizacion; property Liquidando: Boolean read FLiquidando; constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Loaded; override; procedure GetPopupOptions(Sender: TprxPopupMenu); override; function PuedeRegistrar(var aMsg: String; aOP: String): Boolean; override; procedure Totalizar; function EsCodigoTemporario: Boolean; procedure LiquidarClick(Sender: TObject); overload; procedure LiquidarClick(aLiquida_Moneda: String; aLiquida_Fecha: TDatetime; aLiquida_Cotizacion: Double; aLiquida_Retenciones: Boolean; aLiquidaOriginal: Boolean); overload; procedure CalcularRetenciones(aLiquida_Fecha: TDatetime; aLiquida: Boolean); function UpdateBatchXtd(AffectRecords: TAffectRecords = arAll): Boolean; override; function ReabrirComprobante: Boolean; override; published end;
Implementación
function PuedeRegistrar(var aMsg: String; aOP: String): Boolean
Verifica con COMPROBANTES/PERIODOS si el comprobante tiene una fecha válida según la fecha de liquidación y no la del comprobante.
function Redondear(aNumero: Double; aDecs: Integer): Double
Función que redondea un cálculo a dos decimales usando SQL.
procedure Totalizar
Totaliza los comprobantes y los asigna a los FDEBITOS y FCREDITOS, luego calcula el neto restando también las FRETENCIONES.
procedure LiquidarClick
Calcula la liquidación de la orden de pago:
- Primero aplica la cotización de liquidación a cada comprobante cuando corresponda, con eso calcula el nuevo monto a pagar.
- Con los nuevos importes calcula las retenciones.
- Refresca los totales del comprobante.
- Actualiza los datos del comprobante en la base de datos.
procedure CalcularRetenciones(aLiquida_Fecha: TDatetime; aLiquida: Boolean)
Calcula las retenciones del comprobante.