Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2021
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 24-03-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y cuando se edita algún pedido, cómo lo tratas actualmente?
Responder Con Cita
  #3  
Antiguo 24-03-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
Responder Con Cita
  #4  
Antiguo 26-03-2021
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 26-03-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y cuando se edita algún pedido, cómo lo tratas actualmente?
Responder Con Cita
Respuesta



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
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


La franja horaria es GMT +2. Ahora son las 23:02:46.


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