Pular para o conteúdo principal

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​

TabelaUso
CALCULA_IMPOSTOPEDIDOreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
ITEMSIMILARreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NCMreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD131/ULPD131.pas
  • DFM: source/LPD131/ULPD131.dfm
  • Package: source/LPD131/LPD131.dpk