Escolar Documentos
Profissional Documentos
Cultura Documentos
codproduto,
produto,
codbarras,
precovenda,
referencia,
qtde,
Cast(Coalesce(sum(tt),0) as Decimal(15,4)) as tt,
Coalesce(cast(sum(ttbruto) as Decimal(15,4)),0) as ttbruto,
Coalesce(cast(sum(ttunit) as Decimal(15,4)),0) as ttunit,
cast(avg(lucro) as decimal(15, 2)) lucro
FROM
(
Select
iecf.codproduto,
iecf.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(iecf.qtde) tt,
sum(iecf.valorunitario) ttbruto,
sum(iecf.totalliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(iecf.valorunitario, 0)) -
avg(coalesce(iecf.precocustoitem, 0))) * 100) / avg(coalesce(iecf.precocustoitem,
0))),0) as lucro
from
tvendaecf ecf
Inner join
titemvendaecf iecf
on
ecf.controle = iecf.codvendaecf
Inner join
testoque est
on
iecf.codproduto = est.controle
where
ecf.Dataemissaoecf between'11/01/2022' and '11/30/2022'
and ecf.cancelado <> 'SIM' and iecf.cancelado <> 'SIM'
Group by
iecf.codproduto,
iecf.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
Union all
Select
infe.codproduto,
infe.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(infe.qtdecomercial) tt,
sum(infe.totalprodutos) ttbruto,
sum(infe.totaliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(infe.valorunitario, 0)) -
avg(coalesce(infe.precocustoitem, 0))) * 100) / avg(coalesce(infe.precocustoitem,
0))),0) as lucro
from
tvendanfe nfe
inner join
toperacao o
on
o.controle = nfe.codoperacao
inner join
titensvendanfe infe
on
nfe.controle = infe.codnfe
inner join
testoque est
on
infe.codproduto = est.controle
where
o.tipooperacao = '1' and
o.movimentafinanceiro = 'SIM' and
nfe.dataemissao between '11/01/2022' and '11/30/2022'
and nfe.protocolo is not null and nfe.cancelada <> 'SIM'
and nfe.inutilizada <> 'SIM' and nfe.statusdeenvio = 'Autorizado o uso da NF-e'
and nfe.tipooperacao = '1'
Group by
infe.codproduto,
infe.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
Union all
Select
inm.codproduto,
inm.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(inm.qtde) tt,
sum(inm.totalitens) ttbruto,
sum(inm.totaliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(inm.precounitario, 0)) -
avg(coalesce(inm.precocustoitem, 0))) * 100) / avg(coalesce(inm.precocustoitem,
0))),0) as lucro
from
tnotaconsumidor nm
inner join
titennotaconsumidor inm
on
nm.controle = inm.codnotaconsumidor
inner join
testoque est
on
inm.codproduto = est.controle
where
nm.dataemissao between '11/01/2022' and '11/30/2022'
and nm.cancelado <> 'SIM' and nm.faturada = 'SIM'
Group by
inm.codproduto,
inm.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
Union all
Select
infce.codproduto,
infce.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(infce.qtde) tt,
sum(infce.valortotal) ttbruto,
sum(infce.valorliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(infce.valorunitario, 0)) -
avg(coalesce(infce.precocustoitem, 0))) * 100) / avg(coalesce(infce.precocustoitem,
0))),0) as lucro
from
tvendanfce nfce
inner join
titemvendanfce infce
on
nfce.controle = infce.codnfce
inner join
testoque est
on
infce.codproduto = est.controle
where
nfce.dataemissao between '11/01/2022' and '11/30/2022'
and nfce.sat <> 'SIM' and nfce.protocolo is not null and
nfce.protocolocancelamento is null
and nfce.statusenvio = 'Autorizado o uso da NF-e' and (nfce.inutilizada <>
'SIM' or nfce.inutilizada is null)
Group by
infce.codproduto,
infce.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
Union all
Select
isat.codproduto,
isat.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(isat.qtde) tt,
sum(isat.valortotal) ttbruto,
sum(isat.valorliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(isat.valorunitario, 0)) -
avg(coalesce(isat.precocustoitem, 0))) * 100) / avg(coalesce(isat.precocustoitem,
0))),0) as lucro
from
tvendanfce sat
inner join
titemvendanfce isat
on
sat.controle = isat.codnfce
inner join
testoque est
on
isat.codproduto = est.controle
where
sat.dataemissao between '11/01/2022' and '11/30/2022'
and sat.sat = 'SIM' and sat.protocolo is not null and sat.protocolocancelamento
is null
and (sat.inutilizada <> 'SIM' or sat.inutilizada is null) and sat.codigostatus
= '6000'
Group by
isat.codproduto,
isat.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
Union all
Select
ios.codservico Codproduto,
ios.descricao produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(ios.quantidade) tt,
sum(ios.valorunitario) ttbruto,
sum(ios.valortotal) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(ios.valorunitario, 0)) -
avg(coalesce(ios.precocustoitem, 0))) * 100) / avg(coalesce(ios.precocustoitem,
0))),0) as lucro
from
tos os
inner join
titemos ios
on
os.controle = ios.codos
inner join
testoque est
on
ios.codservico = est.controle
where
cast(os.dataehoracadastro as date) between '11/01/2022' and '11/30/2022'
and os.cancelada <> 'SIM' and os.faturadatotal = 'SIM' and
ios.indicadorcancelamento <> 'S'
Group by
ios.codservico,
ios.descricao,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
)A
Group by
codproduto,
produto,
codbarras,
referencia,
qtde,
precovenda
ORDER BY
PRODUTO