Anuncio

Colapsar
No hay anuncio todavía.

Query para sacar la informacion detalalda de depositos

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Query para sacar la informacion detalalda de depositos

    Hola muy buenas tardes, Les comento un poquito, soy muy nuevo para esto de las consultas en Query
    asi que pedi a un amigo que me ayudara a desarrollar una consulta que me diera todo lo referente a pagos ya sea por transferencia, cheques, tarjetas de credito y pago de contado, ya que necesitan hacer una cobranza y resulta que el contador pues no deja su sistema antiguo en fin necesito relacionar todos los depositos a las facturas donde cada movimiento tiene un numero interno al final de todo el reporte deben de entrelasarte. dejo el scrip del query con la esperanza de que alguien me abra los ojos y me ayude ha saber por que no me ejecuta.

    -- Transferencias
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Transferencia') 'Medio de pago',
    T0.[TrsfrSum] 'Monto MXP',
    T0.[TrsfrSumFC] 'Monto USD',
    T3.[AcctName] 'Cuenta',
    ('')'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN OACT T3 ON T0.TrsfrAcct = T3.AcctCode
    WHERE
    T0.Canceled='N'
    -- Efectivo
    UNION ALL
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Efectivo') 'Medio de pago',
    T0.[CashSum] 'Monto MXP',
    T0.[CashSumFC] 'Monto USD',
    T3.[AcctName] 'Cuenta',
    ('')'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN INVH T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN OACT T3 ON T0.CashAcct = T3.AcctCode
    WHERE
    T0.[CashSum]>1 and T0.Canceled='N'
    -- Cheque
    UNION ALL
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Cheque') 'Medio de pago',
    T0.[CheckSum] 'Monto MXP',
    T0.[CheckSumFC] 'Monto USD',
    T3.[AcctNum] 'Cuenta',
    T3.[CheckNum] 'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN RCT3 T3 ON T0.DocEntry = T3.DocNum
    WHERE
    T0.Canceled='N'
    -- Tarjeta
    UNION ALL
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Cheque') 'Medio de pago',
    T0.[CheckSum] 'Monto MXP',
    T0.[CheckSumFC] 'Monto USD',
    T3.[CrCardNum] 'Cuenta',
    T3.[CreditSum] 'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN RCT3 T3 ON T0.DocEntry = T3.DocNum
    WHERE
    T0.Canceled='N'
    GROUP BY
    T2.[CardCode],
    T2.[CardName],
    T2.[DocNum],
    T2.[FolioPref],
    T2.[FolioNum],
    T2.[DocDate],
    T2.[DocDueDate],
    T0.[DocNum],
    T0.[DocDate],
    T0.[CheckSum],
    T0.[CheckSumFC],
    T3.[AcctNum],
    T3.[CheckNum],
    T0.[Comments],

  • #2
    Hola te lo arregle por encima , tienes que ejecutarlo uno a uno, desde el select hasta el UNION y asi sucesivamente

    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref] 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Transferencia') 'Medio de pago',
    T0.[TrsfrSum] 'Monto MXP',
    T0.[TrsfrSumFC] 'Monto USD',
    T3.[AcctName] 'Cuenta',
    ('')'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN OACT T3 ON T0.TrsfrAcct = T3.AcctCode
    WHERE
    T0.Canceled='N'
    -- Efectivo
    UNION ALL
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Efectivo') 'Medio de pago',
    T0.[CashSum] 'Monto MXP',
    T0.[CashSumFC] 'Monto USD',
    T3.[AcctName] 'Cuenta',
    ('')'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN OACT T3 ON T0.CashAcct = T3.AcctCode
    WHERE
    T0.[CashSum]>1 and T0.Canceled='N'
    -- Cheque
    UNION ALL
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Cheque') 'Medio de pago',
    T0.[CheckSum] 'Monto MXP',
    T0.[CheckSumFC] 'Monto USD',
    T3.[CreditAcct] 'Cuenta',
    T3.[CrCardNum] 'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN RCT3 T3 ON T0.DocEntry = T3.DocNum
    WHERE
    T0.Canceled='N'
    -- Tarjeta
    UNION ALL
    SELECT
    T2.[CardCode] 'Proveedor',
    T2.[CardName] 'Nombre',
    T2.[DocNum] 'Factura',
    T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
    T2.[DocDate] 'Fecha factura',
    T2.[DocDueDate] 'Fecha vence',
    T0.[DocNum] 'Num. Pago',
    T0.[DocDate] 'Fecha de pago',
    ('Cheque') 'Medio de pago',
    T0.[CheckSum] 'Monto MXP',
    T0.[CheckSumFC] 'Monto USD',
    T3.[CrCardNum] 'Cuenta',
    T3.[CreditSum] 'Cheque',
    T0.[Comments] 'Comentarios'
    FROM
    ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
    INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
    INNER JOIN RCT3 T3 ON T0.DocEntry = T3.DocNum
    WHERE
    T0.Canceled='N'
    GROUP BY
    T2.[CardCode],
    T2.[CardName],
    T2.[DocNum],
    T2.[FolioPref],
    T2.[FolioNum],
    T2.[DocDate],
    T2.[DocDueDate],
    T0.[DocNum],
    T0.[DocDate],
    T0.[CheckSum],
    T0.[CheckSumFC],
    T3.[CreditAcct],
    T3.[CrCardNum],
    T0.[Comments],
    T3.CreditSum

    Comentario


    • #3
      te ayudo

      Hola te lo arregle por encima , tienes que ejecutarlo uno a uno, desde el select hasta el UNION y asi sucesivamente

      SELECT
      T2.[CardCode] 'Proveedor',
      T2.[CardName] 'Nombre',
      T2.[DocNum] 'Factura',
      T2.[FolioPref] 'Folio',
      T2.[DocDate] 'Fecha factura',
      T2.[DocDueDate] 'Fecha vence',
      T0.[DocNum] 'Num. Pago',
      T0.[DocDate] 'Fecha de pago',
      ('Transferencia') 'Medio de pago',
      T0.[TrsfrSum] 'Monto MXP',
      T0.[TrsfrSumFC] 'Monto USD',
      T3.[AcctName] 'Cuenta',
      ('')'Cheque',
      T0.[Comments] 'Comentarios'
      FROM
      ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
      INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
      INNER JOIN OACT T3 ON T0.TrsfrAcct = T3.AcctCode
      WHERE
      T0.Canceled='N'
      -- Efectivo
      UNION ALL
      SELECT
      T2.[CardCode] 'Proveedor',
      T2.[CardName] 'Nombre',
      T2.[DocNum] 'Factura',
      T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
      T2.[DocDate] 'Fecha factura',
      T2.[DocDueDate] 'Fecha vence',
      T0.[DocNum] 'Num. Pago',
      T0.[DocDate] 'Fecha de pago',
      ('Efectivo') 'Medio de pago',
      T0.[CashSum] 'Monto MXP',
      T0.[CashSumFC] 'Monto USD',
      T3.[AcctName] 'Cuenta',
      ('')'Cheque',
      T0.[Comments] 'Comentarios'
      FROM
      ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
      INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
      INNER JOIN OACT T3 ON T0.CashAcct = T3.AcctCode
      WHERE
      T0.[CashSum]>1 and T0.Canceled='N'
      -- Cheque
      UNION ALL
      SELECT
      T2.[CardCode] 'Proveedor',
      T2.[CardName] 'Nombre',
      T2.[DocNum] 'Factura',
      T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
      T2.[DocDate] 'Fecha factura',
      T2.[DocDueDate] 'Fecha vence',
      T0.[DocNum] 'Num. Pago',
      T0.[DocDate] 'Fecha de pago',
      ('Cheque') 'Medio de pago',
      T0.[CheckSum] 'Monto MXP',
      T0.[CheckSumFC] 'Monto USD',
      T3.[CreditAcct] 'Cuenta',
      T3.[CrCardNum] 'Cheque',
      T0.[Comments] 'Comentarios'
      FROM
      ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
      INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
      INNER JOIN RCT3 T3 ON T0.DocEntry = T3.DocNum
      WHERE
      T0.Canceled='N'
      -- Tarjeta
      UNION ALL
      SELECT
      T2.[CardCode] 'Proveedor',
      T2.[CardName] 'Nombre',
      T2.[DocNum] 'Factura',
      T2.[FolioPref]+'-'+convert(varchar(10),T2.[FolioNum]) 'Folio',
      T2.[DocDate] 'Fecha factura',
      T2.[DocDueDate] 'Fecha vence',
      T0.[DocNum] 'Num. Pago',
      T0.[DocDate] 'Fecha de pago',
      ('Cheque') 'Medio de pago',
      T0.[CheckSum] 'Monto MXP',
      T0.[CheckSumFC] 'Monto USD',
      T3.[CrCardNum] 'Cuenta',
      T3.[CreditSum] 'Cheque',
      T0.[Comments] 'Comentarios'
      FROM
      ORCT T0 INNER JOIN RCT2 T1 ON T0.DocEntry = T1.DocNum
      INNER JOIN OINV T2 ON T1.DocEntry = T2.DocEntry
      INNER JOIN RCT3 T3 ON T0.DocEntry = T3.DocNum
      WHERE
      T0.Canceled='N'
      GROUP BY
      T2.[CardCode],
      T2.[CardName],
      T2.[DocNum],
      T2.[FolioPref],
      T2.[FolioNum],
      T2.[DocDate],
      T2.[DocDueDate],
      T0.[DocNum],
      T0.[DocDate],
      T0.[CheckSum],
      T0.[CheckSumFC],
      T3.[CreditAcct],
      T3.[CrCardNum],
      T0.[Comments],
      T3.CreditSum

      Comentario


      • #4
        Gracias por tu ayuda, ya corrio la query, en las 3 primeras partes ya estube checando y la informacion me la pasa bien, solo tengo 2 contradicciones 1 el numero primario que me toma puede ser o factura, factura de reserva o anticipo como puedo determinar si es factura o anticipo asi mismo la ultima aprte donde es pago con tarjeta no me saca el reporte, creo yo que esto ya es un abuso, me podrian apoyar con un manual de query para usuario si no nunca voy a aprender,
        Gracias de antemano

        Comentario

        Trabajando...
        X