QUE TAL, COMO ESTAN, ESTOY HACIENDO UNA CONDICION, Y NO ME ESTA RESULTANDO, TEGO UNA VARIABLE DESCONTAR, Y DICE QUE SI DESCONTAR ES MAYOR AL CAMPO DESCUENTOS ME SALTE UN SHOWMESSAGE NO DEBE INGRESAR UN MONTO MAYOR AL DESCUENTO, HASTA AHI TODO BIEN, PERO CUANDO LE DOY ACEPTAR CONTINUA TODO EL PROCESO, LO QUE QUIERO ES QUE NO CONTINUE HASTA QUE CUMPLA LA CONDICION, OJALA ME ENTIENDAN Y PUEDAN AYUDARME CON ESTO, DESDE YA MUCHAS GRACIAS.....
Código Delphi
[-]
IF DESCONTAR>DM.Q_LIQ.FieldValues['DESCUENTOS'] THEN
BEGIN
SHOWMESSAGE('NO DEBE INGRESAR UN MONTO MAYOR AL DESCUENTO ');
END
ELSE
IF DM.Q_LIQ.FieldValues['SUELDO']<>0 THEN
BEGIN
DM.Q_LIQ.FieldValues['DESCUENTOS']:=DESCONTAR;
DM.Q_LIQ.FieldValues['DIFERENCIA']:=DESCONTAR-DM.CONSULTA.FieldValues['SUM'];
IF DESCONTAR>DM.Q_LIQ.FieldValues['SUELDO'] THEN
BEGIN
SHOWMESSAGE('SUELDO A COBRAR '+FLOATTOSTR(0)+'');
END
ELSE
SHOWMESSAGE('SUELDO A COBRAR '+FLOATTOSTR((DM.Q_LIQ.FieldValues['SUELDO']-DESCONTAR))+'');
END
ELSE
IF DM.Q_LIQ.FieldValues['SUELDO']<>0 THEN
BEGIN
DM.Q_LIQ.FieldValues['DESCUENTOS']:=DESCONTAR;
DM.Q_LIQ.FieldValues['DIFERENCIA']:=(DM.CONSULTA.FieldValues['SUM'])*-1;
END;
PANEL15.Visible:=FALSE;
PANEL1.Visible:=TRUE;
EDIT1.SetFocus;
PANEL15.Visible:=FALSE;
IF EDIT8.Text<>'' THEN
BEGIN
DM.CONSULTA.CLOSE;
DM.CONSULTA.SQL.Clear;
DM.CONSULTA.SQL.Add('SELECT MAX(COD_DESCUENTO) FROM DETALLE_DESCUENTOS WHERE COD_LIQUIDACION='+#39+COD_LIQUIDACION.Text+#39);
DM.CONSULTA.Open;
IF DM.Q_DET_DESC.Active=FALSE THEN DM.Q_DET_DESC.Open;
DM.Q_DET_DESC.Append;
IF DM.CONSULTA.FieldValues['MAX']<>NULL THEN
DM.Q_DET_DESC.FieldValues['COD_DESCUENTO']:=DM.CONSULTA.FieldValues['MAX']+1 ELSE
DM.Q_DET_DESC.FieldValues['COD_DESCUENTO']:=1;
DM.Q_DET_DESC.FieldValues['COD_LIQUIDACION']:=COD_LIQUIDACION.Text;
DM.Q_DET_DESC.FieldValues['IMPORTE']:=STRTOFLOAT(EDIT8.Text)*-1;
DM.Q_DET_DESC.FieldValues['CONCEPTO']:=EDIT9.Text;
DM.Q_DET_DESC.Post;
DM.Transaction.CommitRetaining;
END;
SHOWMESSAGE('LA NUEVA DIFERENCIA ES DE '+FLOATTOSTR(DM.Q_LIQ.FieldValues['DIFERENCIA'])+'');
PANEL1.Visible:=TRUE;
EDIT1.SetFocus;
end;