IF EXISTS (SELECT * FROM sysobjects O, sysusers U
          WHERE
            o.name = 'ITEMVENDA_VIEW' and
            type = 'V'                and
            u.uid = o.uid             and
            u.name = USER)
   DROP VIEW ITEMVENDA_VIEW
GO

CREATE VIEW ITEMVENDA_VIEW
(CDFILIAL,NMFILIAL,CDCAIXA,NMCAIXA,NRSEQVENDA,CDCLIENTE,CDVENDEDOR,CDCONSUMIDOR,CDLOJA,NMLOJA,DTVENDA,DTENTRVENDA,IDSITUVENDA,
 CDEMPRESA,CDSERVFILI,CDCCUSCLIE,
 NRSEQUITVEND,CDARVPROD,CDPRODUTO,NMPRODUTO,SGUNIDADE,CDGRUPPROD,CDSUBGRPROD,QTPRODVEND,VRUNITVEND,VRDESITVEND,VRPEALPRODIT,VRUNITVENDCL,
 PRECOUNIT,PRECOUNIT_DESC,PRECOUNIT_PAD_DESC,VRIMPOSTOUNIT,PRECOTOTAL, PRECOTOT_DESC,PRECOTOT_PAD_DESC,VRIMPOSTO, VRACRITVEND) AS
  SELECT
    VE.CDFILIAL,FI.NMFILIAL,VE.CDCAIXA,CA.NMCAIXA,VE.NRSEQVENDA,VE.CDCLIENTE,VE.CDVENDEDOR,VE.CDCONSUMIDOR,
    VE.CDLOJA,LO.NMLOJA,VE.DTVENDA,VE.DTENTRVENDA,VE.IDSITUVENDA,VE.CDEMPRESA,VE.CDSERVFILI,VE.CDCCUSCLIE,
    IT.NRSEQUITVEND,PR.CDARVPROD,IT.CDPRODUTO,PR.NMPRODUTO,PR.SGUNIDADE,IT.CDGRUPPROD,IT.CDSUBGRPROD,IT.QTPRODVEND,IT.VRUNITVEND,
    ISNULL(IT.VRDESITVEND ,0) AS VRDESITVEND, ISNULL(IM.VRPEALPRODIT,0) AS VRPEALPRODIT,
    ISNULL(IT.VRUNITVENDCL,0) AS VRUNITVENDCL,
    (ISNULL(IT.VRUNITVEND,0) + ISNULL(IT.VRUNITVENDCL,0)) AS PRECOUNIT,
    ((ISNULL(IT.VRUNITVEND,0) + ISNULL(IT.VRUNITVENDCL, 0)) - (ISNULL(IT.VRDESITVEND,0)/IT.QTPRODVEND)) AS PRECOUNIT_DESC,
    (ISNULL(IT.VRUNITVEND,0) - (ISNULL(IT.VRDESITVEND,0)/IT.QTPRODVEND)) AS PRECOUNIT_PAD_DESC,
    ((ISNULL(IT.VRUNITVEND,0) + ISNULL(IT.VRUNITVENDCL, 0)) - (ISNULL(IT.VRDESITVEND,0)/IT.QTPRODVEND))*(IM.VRPEALPRODIT/100) AS VRIMPOSTOUNIT,
    (IT.QTPRODVEND * (IT.VRUNITVEND + ISNULL(IT.VRUNITVENDCL,0))) AS PRECOTOTAL,
    (IT.QTPRODVEND * (IT.VRUNITVEND + ISNULL(IT.VRUNITVENDCL,0))) - ISNULL(IT.VRDESITVEND,0) AS PRECOTOT_DESC,
    (IT.QTPRODVEND * IT.VRUNITVEND) - ISNULL(IT.VRDESITVEND,0) AS PRECOTOT_PAD_DESC,
    (IM.VRPEALPRODIT/100) * (IT.QTPRODVEND * (IT.VRUNITVEND + ISNULL(IT.VRUNITVENDCL,0)) - ISNULL(IT.VRDESITVEND,0)) AS VRIMPOSTO,
    ISNULL (IT.VRACRITVEND, 0)
  FROM
    VENDA VE, PRODUTO PR, CAIXA CA, LOJA LO, FILIAL FI,ITEMVENDA IT LEFT JOIN
    (SELECT SUM(IM.VRPEALPRODIT) AS VRPEALPRODIT, IM.CDFILIAL, IM.CDCAIXA, IM.NRSEQVENDA,
     IM.NRSEQUITVEND
     FROM ITVENDAIMPOS IM, ITEMVENDA IT
     WHERE (IM.CDFILIAL     = IT.CDFILIAL    ) AND
           (IM.CDCAIXA      = IT.CDCAIXA     ) AND
           (IM.NRSEQVENDA   = IT.NRSEQVENDA  ) AND
           (IM.NRSEQUITVEND = IT.NRSEQUITVEND)
     GROUP BY IM.CDFILIAL, IM.CDCAIXA, IM.NRSEQVENDA,
              IM.NRSEQUITVEND ) IM   ON(IM.CDFILIAL     = IT.CDFILIAL)     AND
                                       (IM.CDCAIXA      = IT.CDCAIXA )     AND
                                       (IM.NRSEQVENDA   = IT.NRSEQVENDA)   AND
                                       (IM.NRSEQUITVEND = IT.NRSEQUITVEND)
  WHERE
    FI.CDFILIAL   = VE.CDFILIAL   AND
    VE.CDFILIAL   = IT.CDFILIAL   AND
    VE.CDCAIXA    = IT.CDCAIXA    AND
    VE.NRSEQVENDA = IT.NRSEQVENDA AND
    VE.CDFILIAL   = CA.CDFILIAL   AND
    VE.CDCAIXA    = CA.CDCAIXA    AND
    VE.CDFILIAL   = LO.CDFILIAL   AND
    VE.CDLOJA     = LO.CDLOJA     AND
    IT.CDPRODUTO  = PR.CDPRODUTO
GO

-- VERSAO --
EXEC ATUVEROBJ 'ITEMVENDA_VIEW','4.09.075';
GO

