Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 24
AzidRain Va camino a la fama
Mi buen Delphius ya lo acaba de decir el buen Casi...

Las transacciones, fuera de lo que se podría pensar, fueron diseñadas para mantener a toda costa la integridad de los datos no tanto para la concurrencia. Digamos que esto fue un efecto adicional.

Ahora respecto a tus dudas...

En el caso del POS que ejemplificas:

1.- Una transacción solo comienza cuando:
El operador (cajero) escanea o digita un producto desde que se terminó la última transacción.
2.- Una transacción solo termina cuando:
El operador entrega el cambio al cliente (previo cálculo del sistema)

En los sistemas de POS además de todo ello hay que considerar que el operador debe ser capaz de seguir cobrando (como sea) aun y cuando no tenga comunicación con el servidor (ah verdad) y ahi es donde viene el chiste del asunto de los POS.

El enfoque de IBM en su ya viejo SO especial para POS prácticamente es un estandar mundial ya que es muy confiable y evita este tipo de problemas (aun y cuando los displays no se ven bonitos ni nada de esas jaladas que muchos nos inventamos). Ese sistema es ROBUSTO con mayúsculas ya que prácticamente tienes que destruir todo para que no haya forma de recuperarse de algún problema. Y el enfoque que usaron ellos: simple....KISS
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #2  
Antiguo 28-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
A ver, a ver:

Código Delphi [-]
var
__iNumFactura:integer;
begin
__try
____StartTransaction;
____iNumFactura := HacerFacturaNueva(now); // crea la factura
____CobrarFactura( iNumFactura ); // hace el apunte en caja 
____DescontarInventario( iNumFactura ); // descuenta el artículo del inventario de artículos
____Post;
____Commit;
__except
____Rollback;
__end;
end;

Si se me corta la luz, me anula la transacción?, porque la verdad esa parte no la entendi, porque que pasa si se corta la luz justo en el instante del post, lo otro lo entendi, pero esto, la verdad que no.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #3  
Antiguo 28-04-2008
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.695
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por MaMu Ver Mensaje
A ver, a ver:
Si se me corta la luz, me anula la transacción?, porque la verdad esa parte no la entendi, porque que pasa si se corta la luz justo en el instante del post, lo otro lo entendi, pero esto, la verdad que no.
No es que te anule la transacción, lo que ocurre es que los datos no se guardan "realmente" hasta que confirmas (commit) la transacción.
Te recomiendo que leas esto y el tema sobre transacciones de este libro, seguro que así te queda claro.
Responder Con Cita
  #4  
Antiguo 28-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Claro, pero a eso me referia, si se corta despues del commit?

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #5  
Antiguo 28-04-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 24
gluglu Va por buen camino
Si se corta la luz después del commit, 'todos' los cambios habrán sido escritos ya al disco duro o dispositivo de almacenamiento. Con lo cual no habrá pérdida de ningun dato y se preservará la integridad de todos los datos en su conjunto.

Si se estropea el disco duro ....
__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 28-04-2008
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.695
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por gluglu Ver Mensaje
Si se corta la luz después del commit, 'todos' los cambios habrán sido escritos ya al disco duro o dispositivo de almacenamiento. Con lo cual no habrá pérdida de ningun dato y se preservará la integridad de todos los datos en su conjunto.

Si se estropea el disco duro ....
Replicación o RAID, jeje
Responder Con Cita
  #7  
Antiguo 28-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Replicación o RAID, jeje
Más una política de resguardo y recuperación de backups. Algo que parece que se nos olvida muchas veces. No tiene que ser demasiado elaborado, pero es aconsejable que esté bien definido el proceso; que sea explícito.

De nada sirve llevar un replicación y backups si no se fomenta esta actividad. Ya sea que se haga en forma manual o automática, si las personas que intervienen no tienen asimilado la idea, el uso, ventajas y práctica... de nada sirve.

A veces uno no ve y pone en práctica las cosas hasta que le pasa. Y hasta me atrevo a decir que le pasan muchas veces e igualmente continuan. Por ejemplo en mi caso: fue necesario haber estropeado varios discos para aprender una valiosa lección. ¡Los backups son necesarios!

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diferencias entre Firebird e Interbase David Firebird e Interbase 6 28-04-2007 16:14:47
Diferencias entre Delphi Rabata Varios 4 27-10-2005 17:02:05
Diferencias entre OnActivate y OnPaint FunBit OOP 4 02-09-2005 16:40:22
Diferencias Entre Componentes Ado Y Dbexpress mendozasoftware Firebird e Interbase 6 06-05-2005 02:43:14
Diferencias entre FREE y DESTROY bustio OOP 1 23-06-2004 05:48:35


La franja horaria es GMT +2. Ahora son las 04:27:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi