Ver Mensaje Individual
  #14  
Antiguo 03-01-2016
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Reputación: 14
ZiriusB Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
Todo esto huele a un mal diseño desde la base de datos...y la implementación igual o peor. Al ejecutar el sistema tenemos que conocer: ubicación de la caja-terminal, sucursal donde trabaja y día en que estamos. Con esos datos hay que ir a la base de datos y pedirle el saldo final del día anterior. El chiste aquí es que el corte se tiene que hacer al final de las operaciones y no al principio. Al finalizar cada día de trabajo se debe cacular y almacenar el saldo final del día (no importa en que fecha real se realice). Si la tienda o negocio permance abierto las 24 horas, se hace un cierre antes de las 24 horas y en su caso cualquier excedente corresponde al dia siguiente. El usuario no tiene por qué capturar cual es su saldo inicial pues eso se puede calcular fácilmente a partir de los datos almacenados. El hacerlo como lo planteas no solo es incorrecto sino que induce a errores, fraudes y demás pues el usuario puede poner lo que le plazca sin que sea validado por nadie.

Revisa mejor tu proceso (sin código) como lo realizan, mejóralo, asegúralo y entonces ya lo programas; de lo contrario es un barril sin fondo informático.
Buenas tardes, vi varios ejemplos en la red de sistemas en los que se pedia el monto de apertura de caja al abrir el sistema, por eso mi implementacion era así, sin embargo tome tu consejo y ahora el monto inicial de caja lo calcula automáticamente del monto que quedo del día anterior...

Ahora otro problema que planteo acá mismo ya que tiene que ver con algo parecido, tengo mi formulario de inicio de sesión donde me pide usuario y contraseña (formlogin), si el usuario y la contraseña son correctos entonces se cierra y abre el form donde están los menúes y opciones (formprincipal)

Código Delphi [-]
    Formlogin := TFormloginCreate(NIL);
    try
      Formlogin.ShowModal;
    finally
      Formlogin.Free;
    end;

Este es el codigo que tengo en el formprincipal, hasta ahi todo bien, al ejecutar la aplicacion me abre el formlogin y si la contraseña y el usuario son correcto me abre el formprincipal, el problema es que en el formlogin tengo dos botones "Ingresar" y "Cancelar", al darle click al boton cancelar me abre el formprincipal y lo cierra inmediatamente.

Asi valido en el formlogin al dar clic en el "boton aceptar":
Código Delphi [-]
    if (edtusuario.Text='') or (edtpassword.Text='') then
      begin
      ShowMessage('Rellene los campos necesarios');
      end

    else

    begin
    if (edtusuario.Text=ADOingresa.FieldByName('nombuser').asstring) and (edtpassword.Text=password) then
      begin
      Muser:= ADOingresa.FieldByName('idusuario').asinteger;
      form20.Close;
      end

    else

    begin
    ShowMessage('Datos incorrectos, verifique su usuario o contraseña');
    end;
    end;

en el boton cancelar tengo:

Código Delphi [-]
Application.terminate

¿Que estoy haciendo mal?
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita