Pular para o conteúdo principal

LOP029 — Layout LOP029

Visão Geral​

Layout de impressão da família LOP (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em PEDIDO, com junção em ITEMPEDIDO, ORDEMPRODUCAOPEDIDO, ORDEMPRODUCAO, ITEM, EMPRESA, PESSOA (+5), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, OP, JO, CD_ITEM.

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordem Producao
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

tabProducao #1​

SELECT -- Cabeçalho E.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, COALESCE(EPE.DS_ENDERECO, '')||', '||COALESCE(EPE.NR_ENDERECO, '')||' - '||COALESCE(EPE.DS_BAIRRO, '')||' - '||COALESCE(EPE.DS_COMPLEMENTO, '') DS_ENDERECO, MPE.DS_MUNICIPIO||'-'||MPE.SG_ESTADO DS_MUNICIPIO, EPE.NR_CEP, EPE.NR_FONE, EPE.NR_CELULAR, -- Produto Acabado I.CD_ITEM, I.DS_ITEM, OP.QT_PRODUZIDA, ((COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * OP.QT_PRODUZIDA) PS_BRUTO, (COALESCE(I.PS_LIQUIDOEMB, 0) * OP.QT_PRODUZIDA) PS_LIQUIDO, OP.NR_LOTEPRODUCAO, OP.NR_ORDEMPRODUCAO, OP.DT_FIMPRODUCAO, -- Dados Cliente PC.NM_PESSOA CLI_NM_PESSOA, PC.NM_FANTASIA CLI_NM_FANTASIA, PC.NR_CNPJCPF CLI_NR_NPPJCPF, EPC.DS_ENDERECO CLI_DS_ENDERECO, EPC.NR_ENDERECO CLI_NR_ENDERECO, EPC.DS_BAIRRO CLI_DS_BAIRRO, EPC.DS_COMPLEMENTO CLI_DS_COMPLEMENTO, EPC.NR_FONE CLI_NR_FONE, EPC.NR_CELULAR CLI_NR_CELULAR, MPC.DS_MUNICIPIO CLI_DS_MUNICIPIO, ESPC.DS_ESTADO CLI_DS_ESTADO
FROM PEDIDO P -- JOINS PRINCIPAIS
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.NR_PEDIDO = P.NR_PEDIDO
AND IP.TP_PEDIDO = P.TP_PEDIDO)
INNER JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRPED = P.CD_EMPRESA
AND OPP.NR_PEDIDO = P.NR_PEDIDO
AND OPP.TP_PEDIDO = P.TP_PEDIDO
AND OPP.CD_ITEM = IP.CD_ITEM)
INNER JOIN ORDEMPRODUCAO OP ON (OP.CD_EMPRESA = OPP.CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = OPP.NR_ORDEMPRODUCAO)
INNER JOIN ITEM I ON (I.CD_ITEM = OP.CD_ITEM) -- JOINS COMPLEMENTARES
LEFT JOIN EMPRESA E ON E.CD_EMPRESA = P.CD_EMPRESA
LEFT JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_ENDERECO(PE.CD_PESSOA, '') RE ON (1=1)
LEFT JOIN ENDERECOPESSOA EPE ON (EPE.CD_PESSOA = PE.CD_PESSOA
AND EPE.CD_ENDERECO = RE.O_CD_ENDERECO)
LEFT JOIN MUNICIPIO MPE ON (MPE.CD_MUNICIPIO = EPE.CD_MUNICIPIO) -- JOINS CLIENTE (C292512)
LEFT JOIN PESSOA PC ON (PC.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EPC ON (EPC.CD_PESSOA = PC.CD_PESSOA
AND EPC.CD_ENDERECO = P.CD_ENDERECO)
LEFT JOIN MUNICIPIO MPC ON (MPC.CD_MUNICIPIO = EPC.CD_MUNICIPIO)
LEFT JOIN ESTADO ESPC ON (ESPC.SG_ESTADO = MPC.SG_ESTADO)
WHERE OP.CD_EMPRESA = :CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO IN (:NR_ORDEMPRODUCAO) CD_EMPRESA NR_ORDEMPRODUCAO CD_EMPRESA;NR_ORDEMPRODUCAO
SELECT IMP.CD_ITEM CD_MATPRIMA, IMP.DS_ITEM DS_MATPRIMA, IOP.QT_ITEMPRODUCAO QT_CONSUMIDA, CAST((IMP.PS_LIQUIDOEMB * IOP.QT_ITEMPRODUCAO) AS DOM_NUMERIC15_4) PS_LIQMATPRIMA, CAST(((IMP.PS_LIQUIDOEMB + IMP.PS_EMBALAGEM) * IOP.QT_ITEMPRODUCAO) AS DOM_NUMERIC15_4) PS_BRUTOMATPRIMA
FROM ORDEMPRODUCAO OP
INNER JOIN ITEMORDEMPROD IOP ON (IOP.CD_EMPRESA = OP.CD_EMPRESA
AND IOP.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO)
INNER JOIN ITEM IMP ON (IMP.CD_ITEM = IOP.CD_MATERIAPRIMA)
WHERE OP.CD_EMPRESA = :CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO CD_EMPRESA NR_ORDEMPRODUCAO

tabProducao #2​

SELECT {#10} E.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, {#10} COALESCE(EPE.DS_ENDERECO, '')||', '||COALESCE(EPE.NR_ENDERECO, '')||' - '||COALESCE(EPE.DS_BAIRRO, '')||' - '||COALESCE(EPE.DS_COMPLEMENTO, '') DS_ENDERECO, {#10} MPE.DS_MUNICIPIO||'-'||MPE.SG_ESTADO DS_MUNICIPIO, {#10} EPE.NR_CEP, {#10} EPE.NR_FONE, {#10} EPE.NR_CELULAR, {#10} {#10} -- PRODUTO ACABADO {#10} I.CD_ITEM, I.DS_ITEM, {#10} OP.QT_PRODUZIDA, {#10} ((COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * OP.QT_PRODUZIDA) PS_BRUTO, {#10} (COALESCE(I.PS_LIQUIDOEMB, 0) * OP.QT_PRODUZIDA) PS_LIQUIDO, {#10} OP.NR_LOTEPRODUCAO, {#10} OP.NR_ORDEMPRODUCAO, {#10} OP.DT_FIMPRODUCAO, {#10} {#10} -- Dados Cliente{#10} PC.NM_PESSOA CLI_NM_PESSOA, {#10} PC.NM_FANTASIA CLI_NM_FANTASIA, {#10} PC.NR_CNPJCPF CLI_NR_NPPJCPF, {#10} EPC.DS_ENDERECO CLI_DS_ENDERECO, {#10} EPC.NR_ENDERECO CLI_NR_ENDERECO, {#10} EPC.DS_BAIRRO CLI_DS_BAIRRO, {#10} EPC.DS_COMPLEMENTO CLI_DS_COMPLEMENTO, {#10} EPC.NR_FONE CLI_NR_FONE, {#10} EPC.NR_CELULAR CLI_NR_CELULAR, {#10} MPC.DS_MUNICIPIO CLI_DS_MUNICIPIO, {#10} ESPC.DS_ESTADO CLI_DS_ESTADO {#10} {#10}
FROM ORDEMPRODUCAO OP {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = OP.CD_ITEM) {#10}
LEFT JOIN MOVESTOQUE M ON (M.CD_EMPRORDEMPROD = OP.CD_EMPRESA {#10}
AND M.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO {#10}
AND M.CD_ITEM = OP.CD_ITEM {#10}
AND M.ST_CANCELAMENTO = 'N' {#10}
AND M.TP_DOCUMENTO = 'PR') {#10}
LEFT JOIN VOLUMEPRODUCAOITEM VI ON (VI.CD_EMPPRODUCAO = OP.CD_EMPRESA {#10}
AND VI.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO) {#10}
LEFT JOIN VOLUMEPRODUCAO VP ON (VP.CD_EMPRESA = VI.CD_EMPRESA {#10}
AND VP.NR_VOLUME = VI.NR_VOLUME) {#10}
LEFT JOIN EMPRESA E ON (E.CD_EMPRESA = OP.CD_EMPRESA) {#10}
LEFT JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA) {#10}
LEFT JOIN RETORNA_ENDERECO(PE.CD_PESSOA, '') RE ON (1=1) {#10}
LEFT JOIN ENDERECOPESSOA EPE ON (EPE.CD_PESSOA = PE.CD_PESSOA {#10}
AND EPE.CD_ENDERECO = RE.O_CD_ENDERECO) {#10}
LEFT JOIN MUNICIPIO MPE ON (MPE.CD_MUNICIPIO = EPE.CD_MUNICIPIO) {#10} {#10}-- JOINS CLIENTE (C292512){#10} {#10}
LEFT JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRESA = OP.CD_EMPRESA {#10}
AND OPP.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO) {#10}
LEFT JOIN PEDIDO P ON (P.CD_EMPRESA = OPP.CD_EMPRPED {#10}
AND P.NR_PEDIDO = OPP.NR_PEDIDO {#10}
AND P.TP_PEDIDO = OPP.TP_PEDIDO) {#10}
LEFT JOIN PESSOA PC ON (PC.CD_PESSOA = P.CD_PESSOA) {#10}
LEFT JOIN ENDERECOPESSOA EPC ON (EPC.CD_PESSOA = PC.CD_PESSOA{#10}
AND EPC.CD_ENDERECO = P.CD_ENDERECO) {#10}
LEFT JOIN MUNICIPIO MPC ON (MPC.CD_MUNICIPIO = EPC.CD_MUNICIPIO){#10}
LEFT JOIN ESTADO ESPC ON (ESPC.SG_ESTADO = MPC.SG_ESTADO){#10}
WHERE OP.CD_EMPRESA = {Nulo}

Text​

SELECT {#10} E.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, {#10} COALESCE(EPE.DS_ENDERECO, '')||', '||COALESCE(EPE.NR_ENDERECO, '')||' - '||COALESCE(EPE.DS_BAIRRO, '')||' - '||COALESCE(EPE.DS_COMPLEMENTO, '') DS_ENDERECO, {#10} MPE.DS_MUNICIPIO||'-'||MPE.SG_ESTADO DS_MUNICIPIO, {#10} EPE.NR_CEP, {#10} EPE.NR_FONE, {#10} EPE.NR_CELULAR, {#10} {#10} -- PRODUTO ACABADO {#10} I.CD_ITEM, I.DS_ITEM, {#10} OP.QT_PRODUZIDA, {#10} ((COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * OP.QT_PRODUZIDA) PS_BRUTO, {#10} (COALESCE(I.PS_LIQUIDOEMB, 0) * OP.QT_PRODUZIDA) PS_LIQUIDO, {#10} OP.NR_LOTEPRODUCAO, {#10} OP.NR_ORDEMPRODUCAO, {#10} OP.DT_FIMPRODUCAO, {#10} {#10} -- Dados Cliente{#10} PC.NM_PESSOA CLI_NM_PESSOA, {#10} PC.NM_FANTASIA CLI_NM_FANTASIA, {#10} PC.NR_CNPJCPF CLI_NR_NPPJCPF, {#10} EPC.DS_ENDERECO CLI_DS_ENDERECO, {#10} EPC.NR_ENDERECO CLI_NR_ENDERECO, {#10} EPC.DS_BAIRRO CLI_DS_BAIRRO, {#10} EPC.DS_COMPLEMENTO CLI_DS_COMPLEMENTO, {#10} EPC.NR_FONE CLI_NR_FONE, {#10} EPC.NR_CELULAR CLI_NR_CELULAR, {#10} MPC.DS_MUNICIPIO CLI_DS_MUNICIPIO, {#10} ESPC.DS_ESTADO CLI_DS_ESTADO {#10} {#10}
FROM ORDEMPRODUCAO OP {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = OP.CD_ITEM) {#10}
LEFT JOIN MOVESTOQUE M ON (M.CD_EMPRORDEMPROD = OP.CD_EMPRESA {#10}
AND M.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO {#10}
AND M.CD_ITEM = OP.CD_ITEM {#10}
AND M.ST_CANCELAMENTO = 'N' {#10}
AND M.TP_DOCUMENTO = 'PR') {#10}
LEFT JOIN VOLUMEPRODUCAOITEM VI ON (VI.CD_EMPPRODUCAO = OP.CD_EMPRESA {#10}
AND VI.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO) {#10}
LEFT JOIN VOLUMEPRODUCAO VP ON (VP.CD_EMPRESA = VI.CD_EMPRESA {#10}
AND VP.NR_VOLUME = VI.NR_VOLUME) {#10}
LEFT JOIN EMPRESA E ON (E.CD_EMPRESA = OP.CD_EMPRESA) {#10}
LEFT JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA) {#10}
LEFT JOIN RETORNA_ENDERECO(PE.CD_PESSOA, '') RE ON (1=1) {#10}
LEFT JOIN ENDERECOPESSOA EPE ON (EPE.CD_PESSOA = PE.CD_PESSOA {#10}
AND EPE.CD_ENDERECO = RE.O_CD_ENDERECO) {#10}
LEFT JOIN MUNICIPIO MPE ON (MPE.CD_MUNICIPIO = EPE.CD_MUNICIPIO) {#10} {#10}-- JOINS CLIENTE (C292512){#10} {#10}
LEFT JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRESA = OP.CD_EMPRESA {#10}
AND OPP.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO) {#10}
LEFT JOIN PEDIDO P ON (P.CD_EMPRESA = OPP.CD_EMPRPED {#10}
AND P.NR_PEDIDO = OPP.NR_PEDIDO {#10}
AND P.TP_PEDIDO = OPP.TP_PEDIDO) {#10}
LEFT JOIN PESSOA PC ON (PC.CD_PESSOA = P.CD_PESSOA) {#10}
LEFT JOIN ENDERECOPESSOA EPC ON (EPC.CD_PESSOA = PC.CD_PESSOA{#10}
AND EPC.CD_ENDERECO = P.CD_ENDERECO) {#10}
LEFT JOIN MUNICIPIO MPC ON (MPC.CD_MUNICIPIO = EPC.CD_MUNICIPIO){#10}
LEFT JOIN ESTADO ESPC ON (ESPC.SG_ESTADO = MPC.SG_ESTADO){#10}
WHERE OP.CD_EMPRESA = {Nulo(iParametros[1],}I{)+#10} {#10}
AND OP.NR_ORDEMPRODUCAO IN ({Nulo(iParametros[2],}I{)}) {#10}

Tabelas Utilizadas​

TabelaUso
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ESTADOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORDEMPRODreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
MOVESTOQUEreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
ORDEMPRODUCAOPEDIDOreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
VOLUMEPRODUCAOreferenciada nas queries do layout
VOLUMEPRODUCAOITEMreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP029/ULOP029.pas
  • DFM: source/LOP029/ULOP029.dfm
  • Package: source/LOP029/LOP029.dpk