LPD131 — Listagem LPD131
Visão Geral
Layout de impressão da família LPD (Pedido). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em HABILITA_PESOQTDE, com junção em ITEMPEDIDO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, PARMFATUR (+5), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, NR_NCM (+3).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Tp Pedido
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
]);
SQL Base
tabDB #1
SELECT {#10} --[Impostos do pedido]------------------------------- {#10} ((COALESCE(IP.VL_TOTAL,0) - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0)) / COALESCE(IP.PS_PEDIDO,IP.QT_PEDIDA)) VL_UNITARIOLIQ, {#10} (COALESCE(C.V_VL_IPI,0) / COALESCE(IP.PS_PEDIDO,IP.QT_PEDIDA)) VL_IPI, {#10} (COALESCE(C.V_VL_SUBSTITUICAO,0) / COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA)) VL_ICMSSUBSTRIB,{#10} (COALESCE(C.V_VL_ICMS,0) / COALESCE(IP.PS_PEDIDO,IP.QT_PEDIDA)) VL_ICMS, {#10} (COALESCE(IP.VL_TOTAL,0) + (COALESCE(C.V_VL_IPI,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(C.V_VL_SUBSTITUICAO,0))) / COALESCE(IP.PS_PEDIDO,IP.QT_PEDIDA) VL_ICMSIPI, {#10} ((COALESCE(IP.VL_TOTAL,0) - COALESCE(IP.VL_DESCONTO,0)) + COALESCE(IP.VL_DESPESA,0) + COALESCE(C.V_VL_IPI,0) + COALESCE(C.V_VL_SUBSTITUICAO,0)) / COALESCE(IP.PS_PEDIDO,IP.QT_PEDIDA) VL_LIQICMSIPI, {#10} --[ Totalizadores ]---------------------------------- {#10} (COALESCE(IP.VL_TOTAL,0) + COALESCE(IP.VL_DESPESA,0)) - COALESCE(IP.VL_DESCONTO,0) VL_TOTCOMDESC, {#10} (COALESCE(IP.VL_TOTAL,0) - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0)) + (COALESCE(C.V_VL_IPI,0) + COALESCE(C.V_VL_SUBSTITUICAO,0)) VL_TOTIMP, {#10} COALESCE(C.V_VL_IPI,0) VL_TOTIPI, COALESCE(C.V_VL_SUBSTITUICAO,0) VL_TOTST, COALESCE(C.V_VL_ICMS,0) VL_TOTICMS, {#10} COALESCE(C.V_VL_IPI,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(C.V_VL_SUBSTITUICAO,0) VL_TOTIMPOSTOS, {#10} ----------------------------------------------------- {#10} N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJEMP, PE.DS_EMAIL DS_EMAILEMP, N.HR_PEDIDO, {#10} EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO, ' ') ||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO), ' ') DS_ENDEREMP, {#10} ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, EE.NR_INSCEST NR_INSCESTEMP, {#10} COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, {#10} N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO DT_EMISSAO, N.NR_PEDIDO, N.DT_ENTREGA, {#10} N.CD_PESSOA, '('||CAST(N.CD_PESSOA AS VARCHAR(10))||') '||P.NM_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, {#10} EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO, ' ') DS_ENDERECO, {#10} COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, {#10} MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, {#10} EP.NR_FONE, EP.NR_FAX, P.NM_PESSOA NM_CLIENTE, P.DS_EMAIL, {#10} CASE CP.ST_CONDPAGTO {#10} WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(N.DT_VENCIMENTO, '%d/%m/%Y') {#10} ELSE CP.DS_CONDPAGTO {#10} END DS_CONDPAGTO, N.CD_CONDPAGTO, {#10} '('||N.CD_VENDEDOR||') '||V.NM_PESSOA NM_VENDEDOR, {#10} COALESCE('Observação.: '||N.DS_OBSERVACAO, '')||COALESCE(' '||PARM.DS_MSGPEDIDO, '') DS_OBSERVACAO, {#10} COALESCE(N.DS_OBSERVACAO, '')||COALESCE(' '||PARM.DS_MSGPEDIDO, '') DS_OBS, {#10} COALESCE(SI.CD_ITEM, IP.CD_ITEM) CD_ITEM, I.SG_UNIDMED, {#10} CASE WHEN COALESCE(CHAR_LENGTH(IP.DS_OBSERVACAO),0) <= 0 THEN COALESCE(SI.DS_ITEM, I.DS_ITEM) {#10} ELSE COPIA_TEXTO(IP.DS_OBSERVACAO, 1, CHAR_LENGTH(IP.DS_OBSERVACAO)) END DS_ITEM , {#10} I.SG_UNIDALT, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.VL_DESPESA, {#10} IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO, 0) + COALESCE(IP.VL_DESPESA, 0) + COALESCE(IP.VL_FRETE, 0) VL_LIQUIDO, IP.VL_FRETE, {#10} IP.QT_PEDIDA QT_ITEMNOTA, IP.PS_PEDIDO PS_ITEMNOTA, {#10} (
SELECT V_TIPO
FROM HABILITA_PESOQTDE(IP.CD_ITEM)) TIPO, {#10} N.NR_PEDIDO DS_QUEBRA, IP.DS_OBSERVACAO DS_OBSITEM, {#10} COALESCE(SI.NR_NCM, I.NR_NCM) CD_NCM, NM.DS_NCM DS_NCM {#10}
FROM PEDIDO N {#10}
INNER JOIN ITEMPEDIDO IP ON (IP.NR_PEDIDO = N.NR_PEDIDO {#10}
AND IP.CD_EMPRESA = N.CD_EMPRESA {#10}
AND IP.TP_PEDIDO = N.TP_PEDIDO) {#10}
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = N.CD_PESSOA {#10}
AND EP.CD_ENDERECO = N.CD_ENDERECO) {#10}
INNER JOIN MUNICIPIO MP ON (MP.CD_MUNICIPIO = EP.CD_MUNICIPIO) {#10}
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA) {#10}
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = E.CD_EMPRESA) {#10}
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA {#10}
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO) {#10}
FROM ENDERECOPESSOA ENDER {#10}
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA)) {#10}
INNER JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO) {#10}
INNER JOIN CONDPAGTO CP ON (CP.CD_CONDPAGTO = N.CD_CONDPAGTO) {#10}
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM) {#10}
LEFT JOIN CALCULA_IMPOSTOPEDIDO(IP.CD_EMPRESA, IP.NR_PEDIDO, IP.TP_PEDIDO, IP.CD_ITEM, ME.SG_ESTADO, IP.CD_EMPRESA) C ON (1=1) {#10}
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR) {#10}
LEFT JOIN ITEMSIMILAR S ON (S.CD_ITEM = I.CD_ITEM) {#10}
LEFT JOIN ITEM SI ON (SI.CD_ITEM = S.CD_ITEMSIMILAR) {#10}
INNER JOIN NCM NM ON (NM.NR_NCM = COALESCE(SI.NR_NCM, I.NR_NCM)){#10}
WHERE N.CD_EMPRESA = {Nulo(iParametros[1],}I{) +#10}
AND N.NR_PEDIDO = {Nulo(iParametros[2],}I{) +#10}
AND N.TP_PEDIDO = {Nulo(iParametros[3],}S{) +#10}
ORDER BY IP.NR_SEQUENCIA, N.NR_PEDIDO, I.TP_ITEM
tabDB #2
SELECT {#10} N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJEMP, PE.DS_EMAIL DS_EMAILEMP, N.HR_PEDIDO, {#10} EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO, ' ') ||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO), ' ') DS_ENDEREMP, {#10} ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, EE.NR_INSCEST NR_INSCESTEMP, {#10} COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, {#10} N.NR_PEDIDO, N.TP_PEDIDO, N.DT_ENTREGA, N.NR_PEDIDOFOR, {#10} CAST(N.DT_PEDIDO||' '||CURRENT_TIME AS TIMESTAMP) DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, {#10} P.NM_FANTASIA, V.NM_PESSOA NM_VENDEDOR, P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO, {#10} EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO, '')) DS_ENDERECO, {#10} COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, {#10} MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, {#10} COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, B.DS_ENDCOMPLETO DS_ENDCOBRANCA, {#10} PARM.DS_MSGPEDIDO, P.DS_OBSERVACAO DS_OBSCLIENTE, {#10} CASE G.ST_CONDPAGTO WHEN 'D' {#10} THEN 'Vencto '||FORMATA_DATA(N.DT_VENCIMENTO, '%d/%m/%Y') {#10} ELSE G.DS_CONDPAGTO {#10} END DS_CONDPAGTO, {#10} (
SELECT SUM(NI.VL_TOTAL - COALESCE(NI.VL_DESCONTO, 0) + COALESCE(NI.VL_FRETE, 0)) {#10}
FROM ITEMPEDIDO NI {#10}
WHERE NI.CD_EMPRESA = N.CD_EMPRESA {#10}
AND NI.NR_PEDIDO = N.NR_PEDIDO {#10}
AND NI.TP_PEDIDO = N.TP_PEDIDO) VL_PEDIDO, {#10} N.DS_OBSERVACAO DS_OBSERVACAOPEDIDO--, RE.O_NR_LINHA {#10}
FROM PEDIDO N {#10}
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA) {#10}
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA {#10}
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO) {#10}
FROM ENDERECOPESSOA ENDER {#10}
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA)) {#10}
INNER JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO) {#10}
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = N.CD_PESSOA {#10}
AND EP.CD_ENDERECO = N.CD_ENDERECO) {#10}
INNER JOIN MUNICIPIO MP ON (MP.CD_MUNICIPIO = EP.CD_MUNICIPIO) {#10}
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA) {#10}
INNER JOIN CONDPAGTO G ON (G.CD_CONDPAGTO = N.CD_CONDPAGTO) {#10}
LEFT JOIN PESSOA V ON (N.CD_VENDEDOR = V.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'B') B ON (1 = 1) {#10}
WHERE N.CD_EMPRESA = {Nulo(iParametros[1],}I{) +#10}
AND N.NR_PEDIDO = {Nulo(iParametros[2],}I{) +#10}
AND N.TP_PEDIDO = {Nulo(iParametros[3],}S{)}
tabDBSub1
SELECT {#10} --[Impostos do pedido]------------------------------- {#10} ((COALESCE(IT.VL_TOTAL,0) - COALESCE(IT.VL_DESCONTO,0) + COALESCE(IT.VL_DESPESA,0)) / COALESCE(IT.PS_PEDIDO,IT.QT_PEDIDA)) VL_UNITARIOLIQ, {#10} (COALESCE(C.V_VL_IPI,0) / COALESCE(IT.PS_PEDIDO,IT.QT_PEDIDA)) VL_IPI, {#10} (COALESCE(C.V_VL_SUBSTITUICAO,0) / COALESCE(IT.PS_PEDIDO, IT.QT_PEDIDA)) VL_ICMSSUBSTRIB, {#10} (COALESCE(C.V_VL_ICMS,0) / COALESCE(IT.PS_PEDIDO,IT.QT_PEDIDA)) VL_ICMS, {#10} (COALESCE(IT.VL_TOTAL,0) + (COALESCE(C.V_VL_IPI,0) + COALESCE(IT.VL_DESPESA,0) + COALESCE(C.V_VL_SUBSTITUICAO,0))) / COALESCE(IT.PS_PEDIDO,IT.QT_PEDIDA) VL_ICMSIPI, {#10} ((COALESCE(IT.VL_TOTAL,0) - COALESCE(IT.VL_DESCONTO,0)) + COALESCE(IT.VL_DESPESA,0) + COALESCE(C.V_VL_IPI,0) + COALESCE(C.V_VL_SUBSTITUICAO,0)) / COALESCE(IT.PS_PEDIDO,IT.QT_PEDIDA) VL_LIQICMSIPI, {#10} --[ Totalizadores ]---------------------------------- {#10} (COALESCE(IT.VL_TOTAL,0) + COALESCE(IT.VL_DESPESA,0)) - COALESCE(IT.VL_DESCONTO,0) VL_TOTCOMDESC, {#10} (COALESCE(IT.VL_TOTAL,0) - COALESCE(IT.VL_DESCONTO,0) + COALESCE(IT.VL_DESPESA,0)) + (COALESCE(C.V_VL_IPI,0) + COALESCE(C.V_VL_SUBSTITUICAO,0)) VL_TOTIMP, {#10} COALESCE(C.V_VL_IPI,0) VL_TOTIPI, COALESCE(C.V_VL_SUBSTITUICAO,0) VL_TOTST, COALESCE(C.V_VL_ICMS,0) VL_TOTICMS, {#10} COALESCE(C.V_VL_IPI,0) + COALESCE(IT.VL_DESPESA,0) + COALESCE(C.V_VL_SUBSTITUICAO,0) VL_TOTIMPOSTOS, {#10} ----------------------------------------------------- {#10} IT.CD_EMPRESA, IT.NR_PEDIDO, IT.TP_PEDIDO, I.CD_ITEM, {#10} CASE WHEN COALESCE(CHAR_LENGTH(IT.DS_OBSERVACAO),0) <= 0 THEN COALESCE(SI.DS_ITEM, I.DS_ITEM) {#10} ELSE COPIA_TEXTO(IT.DS_OBSERVACAO, 1, CHAR_LENGTH(IT.DS_OBSERVACAO)) {#10} END DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, {#10} CASE TC.TP_UNIDADE {#10} WHEN 'Q' THEN IT.QT_PEDIDA {#10} ELSE IT.PS_PEDIDO {#10} END QTDE, IT.VL_UNITARIO, IT.VL_TOTAL, {#10} (IT.VL_TOTAL - COALESCE(IT.VL_DESCONTO, 0) + COALESCE(IT.VL_FRETE, 0)) VL_LIQUIDO, IT.VL_FRETE, {#10} IT.VL_DESCONTO, IT.DS_OBSERVACAO, I.NR_NCM {#10}
FROM PEDIDO PD {#10}
INNER JOIN ITEMPEDIDO IT ON (IT.NR_PEDIDO = PD.NR_PEDIDO {#10}
AND IT.CD_EMPRESA = PD.CD_EMPRESA {#10}
AND IT.TP_PEDIDO = PD.TP_PEDIDO) {#10}
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = PD.CD_PESSOA {#10}
AND EP.CD_ENDERECO = PD.CD_ENDERECO) {#10}
INNER JOIN MUNICIPIO MP ON (MP.CD_MUNICIPIO = EP.CD_MUNICIPIO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = IT.CD_EMPRESA) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = IT.CD_ITEM) {#10}
LEFT JOIN ITEMSIMILAR S ON (S.CD_ITEM = I.CD_ITEM) {#10}
LEFT JOIN ITEM SI ON (SI.CD_ITEM = S.CD_ITEMSIMILAR) {#10}
LEFT JOIN CALCULA_IMPOSTOPEDIDO(IT.CD_EMPRESA, IT.NR_PEDIDO, PD.TP_PEDIDO, IT.CD_ITEM, MP.SG_ESTADO, IT.CD_EMPRESA) C ON (1=1) {#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
WHERE IT.CD_EMPRESA = :CD_EMPRESA {#10}
AND IT.NR_PEDIDO = :NR_PEDIDO {#10}
AND IT.TP_PEDIDO = :TP_PEDIDO {#10}
ORDER BY IT.NR_SEQUENCIA
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOPEDIDO | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
ITEMSIMILAR | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NCM | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD131/ULPD131.pas - DFM:
source/LPD131/ULPD131.dfm - Package:
source/LPD131/LPD131.dpk