Cita:
Empezado por AzidRain
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:
¿Que estoy haciendo mal?