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
| Tabela | Uso |
|---|---|
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ESTADO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
MOVESTOQUE | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMPRODUCAO | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDO | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
VOLUMEPRODUCAO | referenciada nas queries do layout |
VOLUMEPRODUCAOITEM | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP029/ULOP029.pas - DFM:
source/LOP029/ULOP029.dfm - Package:
source/LOP029/LOP029.dpk