Ver Mensaje Individual
  #4  
Antiguo 08-06-2018
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Si utilizas bases de datos, puedes generar campos calculados en vistas o directamente en el SQL

Código SQL [-]
SELECT ARTICULO, UNIDADES, PRECIO, (UNIDADES * PRECIO) AS TOTAL
FROM DETALLE_PEDIDO
WHERE
NRO_PEDIDO = :NRO_PEDIDO

Por otro lado puedes crear campos calculados en un Dataset.
Luego, en el evento OnGetText del campo puedes poner cualquier cosa que puedas hacer con Delphi.
Código Delphi [-]
procedure DataModule.DetallePedidosARTICULOGetText(...Text : string...);
begin
   Text := UpperCase(DetallePedidosARTICULO.AsString);
end;

El Dataset también tiene un evento OnCalcFields en el que puedes dar valores a los campos calculados
Código Delphi [-]
procedure DataModule.DetallePedidosCalcFields(...);
begin
   DetallePedidosCOMISION.AsFloat := DetallePedidosPRECIO.AsFloat * 20 /100;
   DetallePedidosGANANCIA.AsFloat := DetallePedidosPRECIO.AsFloat - DetallePedidosPRECIO_COSTE.AsFloat;
end;
Responder Con Cita