FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Selección de registros mediante TTimmer
¡Hola amigos!
Desde Delphi, mediante un TTimmer, se chequea periódicamente una tabla de pedidos (FB 3.0) y se localizan los que hay que transmitir a un servidor remoto. Este proceso funciona por ahora sin problemas. El periodo de tiempo lo estable el cliente a voluntad. Pueden ser pocos segundos, varios minutos incluso horas. Y aquí es dónde se plantea el problema. Supongamos que el tiempo se estable en 60 segundos (para otra cantidad sería exactamente igual). Agotado este tiempo se hace una selección de los pedidos que están pendientes de enviar y se activa el proceso de envío. Esto, como ya dije antes, funciona bien. Pero, ¿y si la selección empieza con pedidos que no están terminados? Es decir, ¿y si en uno a varios pedidos no se ha terminado de introducir todas las líneas?. Evidentemente estos pedidos serían seleccionados y enviados, sólo que con parte de las líneas de detalle que no componen, no todas. He pensado en poner un botón para marcar el pedido una vez que se dé por terminado. Pero, ¿hay alguna otra solución más elegante? Esta me parece un poco 'cutre', no sé que pensáis vosotros. Agradezco sugerencias. Gracias. |
#2
|
||||
|
||||
¿Y cuando se edita algún pedido, cómo lo tratas actualmente?
|
#3
|
||||
|
||||
Ayudaría saber cómo es la operativa y cómo estás implementando los pedidos.
Lo ideal sería que esos pedidos (que no has finalizado), no estuviesen "visibles" para el proceso que los consulta hasta que no estén acabados completamente. Para ello puedes utilizar tablas en memoria o TClientDataset, de forma que puedes ir generando la cabecera y las líneas, pero hasta que no "guardes" el pedido no se graba todo (cabecera y líneas) a la Base de Datos. Si eso no es posible modificarlo, sólo queda que dde alguna manera "marques" el pedido como completado (flag booleano) cuando el pedido ya está completo. Dependiendo de cómo lo estés implementando tendrás que marcar ese flag (o el usuario) cuando ya estés seguro de que ese pedido está finalizado.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Gracias a ambos por responder.
A ver. Se trata de una aplicación que lleva funcionado años, muchos. Añadirle funcionalidad que no afecte a la estructura siempre es posible y, según el caso, factible. Pero cuando hay que 'tocar' cosas que funcionan bien, ¡Uf! Así que haré todo lo posible por no tocar el proceso de confección de pedidos en lo fundamental, máxime cuando es proceso muy, muy complicado. Por supuesto que trabajar con tablas de memoria es una buena idea, de hecho en algunos procesos dentro de esta misma aplicación, la utilizo. Pero aplicar esta técnica a este apartado concreto sería reescribir una buena parte del código y eso no es viable. Por tanto optaré por el marcado 'manual' de los pedidos porque de esta manera me aseguro que, como dice Neftalí, los pedidos no sean visibles al proceso de envío hasta que no estén terminados. No obstante, admito sugerencias. Gracias de nuevo. |
#5
|
||||
|
||||
¿Y cuando se edita algún pedido, cómo lo tratas actualmente?
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear arbol mediante registros en una base de datos. | Rc96 | Varios | 2 | 29-08-2017 10:02:36 |
Buscar o agregar registros mediante DBCombobox o LookupComboBox...? | Phacko | Conexión con bases de datos | 2 | 14-02-2005 09:17:55 |
Seleccion incorrecta de registros Con Codigo SQL!! | jmedina | SQL | 8 | 13-12-2004 18:36:52 |
modificar registros mediante cgi-webbroker | [[JONAS]] | Internet | 1 | 19-05-2004 18:40:24 |
seleccion de (n) Registros ? | IVAND | SQL | 5 | 19-05-2003 16:22:34 |
|