Ver Mensaje Individual
  #2  
Antiguo 22-03-2024
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No he leido el código, pero según tu mensaje, creo que la aplicación que hace el pool de impresión solo deberá tener en cuenta comandas "viejas" (con una antigüedad de más de "5" segundos).

De esta manera, si los terminales tardan 1 o 2 segundos en transmitir las líneas de la comanda, siempre verás comandas completas.

Algo así (firebird):
Código Delphi [-]
{
NOW es la fecha y hora del servidor Firebird
(1/24/60/60) es un segundo (1 día / 24 horas / 60 minutos / 60 segundos)
}
 
      qry_geral.SQL.Text := 'SELECT PC.ID, ID_COMANDA, FCH_HORA, ID_CODSKU, ' +
        'DESCRIP, QTY, PRECIO, ID_CUENTA, ID_MESERO, TOT_COMENSAL,'+
        'ID_SECC_PREPAR, TIPSKU, DESCRIP_OLD, ID_GRUPO, MESAUNIDA,' +
        'ESTATUS,US.NOMBRE AS NAME_MESERO ' +
        'FROM p_POOL_CMDAS PC ' +
        'JOIN m_USUARIOS US ON PC.ID_MESERO = US.CVE ' +
        'WHERE ESTATUS <> "EN" ' +

        'AND  FCH_HORA < 'NOW' - 5*(1/24/60/60)' +

        'ORDER BY ID_GRUPO, ID ';
Responder Con Cita