none
Obtener el monto inicial de un punto de venta RRS feed

  • Pregunta

  • Hola 

    Trabajo con SQL Server 2014, estoy haciendo una consulta para saber el monto inicial de un punto de venta.

    Esta es mi consulta

    SELECT mc.MontoInicial  
    FROM dbo.MovimientoCajas mc
    JOIN dbo.Operaciones o ON mc.OperacionId = o.OperacionId
    WHERE o.PuntoEmisionId = 2 AND o.OperacionStatus = 1 
    

    Por lo que veo es suficiente sabiendo el id del punto de emisión. ¿Pensé en obtener el id de operaciones por medio del id de punto de emisión? pero me parece que con saber el punto de emisión es suficiente para saber el monto inicial.

    Espero sus comentarios

    Saludos!


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    jueves, 5 de septiembre de 2019 15:29

Respuestas

  • Hola,

    Si entonces lo que interesa saber es que si se ha aperturado o no la caja una vez obtenida la fecha de emision del comprobante al intentar emitirlo, la SQL seria: 

    SELECT COUNT(*) AS CANTIDAD l  
    FROM Operaciones
    WHERE Fecha = mifecha AND PuntoEmisionId = 2 AND OperacionStatus = 1

    Si cantidad es cero no se aperturo la caja caso contario se aperturo.


    Victor Koch

    • Marcado como respuesta Pedro Ávila jueves, 5 de septiembre de 2019 16:21
    jueves, 5 de septiembre de 2019 16:18

Todas las respuestas

  • Hola,

    Suponiendo que el monto inicial es el primer movimiento:

    SELECT TOP 1 mc.MontoInicial  
    FROM dbo.MovimientoCajas mc
    JOIN dbo.Operaciones o ON mc.OperacionId = o.OperacionId
    WHERE o.PuntoEmisionId = 2 AND o.OperacionStatus = 1 ORDER BY mc.FECHA DESC, mc.Operacionid DESC

    A su vez si se desea el monto inicial de un dia en particular hay que agregar en el where una condicion adicional para la fecha deseada.


    Victor Koch

    jueves, 5 de septiembre de 2019 15:41
  • Hola @Victor

    No estoy buscando por fecha solo es para validar antes de hacer una venta pregunto primero si se a aperturado la caja

    La caja puede darse el caso que no la han cerrado tres días es por eso que pregunto por el campo OperacionStatus cuando es 1 es porque esta abierta.

    ¿No es necesario saber operacionId en movimientoCajas solo con saber el puntoEmisionId se puede obtener el montoInicial en MovimientoCajas?

    Saludos!


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    • Editado Pedro Ávila jueves, 5 de septiembre de 2019 15:53
    jueves, 5 de septiembre de 2019 15:47
  • Hola,

    Si entonces lo que interesa saber es que si se ha aperturado o no la caja una vez obtenida la fecha de emision del comprobante al intentar emitirlo, la SQL seria: 

    SELECT COUNT(*) AS CANTIDAD l  
    FROM Operaciones
    WHERE Fecha = mifecha AND PuntoEmisionId = 2 AND OperacionStatus = 1

    Si cantidad es cero no se aperturo la caja caso contario se aperturo.


    Victor Koch

    • Marcado como respuesta Pedro Ávila jueves, 5 de septiembre de 2019 16:21
    jueves, 5 de septiembre de 2019 16:18