Pular para o conteúdo principal

LOP028 — Layout LOP028

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 ORDEMPRODUCAO, com junção em ORDEMPRODUCAOPEDIDO, EMPRESA, PESSOA, RETORNA_DADOSCADASTRAIS, MUNICIPIO, VIEW_ORDEMPRODUCAO (+13), filtrada por CD_EMPRESA, NR_ORDEMPRODUCAO, DT_, DIST, O, JO (+14).

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​

SELECT DISTINCT OVP.O_QT_PRODUZIDA QT_ITEM, O.CD_ITEM, OVP.O_SG_UNIMED SG_UNIDMED, OVP.O_DS_MARCA DS_MARCA, OVP.O_CD_CODIGOBARRA CD_CODIGOBARRA, OVP.O_CD_FORNECEDOR CD_FORNECEDOR1, OVP.O_PS_ITEM PS_ITEM, OVP.O_DS_OBSERVACAO DS_OBSERVACAO, OVP.O_DS_ESPECIFICACAO DS_OBSERVACAOPROD, CAST(LPAD(OVP.O_CD_ITEM||' - '||OVP.O_DS_ITEM, (CHAR_LENGTH(OVP.O_CD_ITEM||' - '||OVP.O_DS_ITEM) + ((OVP.O_NR_GRAU - 1) * 6 )) , ' ') AS DOM_VARCHAR240) DS_ITEM, O.NR_LOTEPRODUCAO, COALESCE(ORP.NR_ORDEMPRODUCAO, O.NR_ORDEMPRODUCAO) NR_ORDEMLOTE, --EMPRESA-- O.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, PARM.DS_LOGOTIPO, --PRODUTO-- PP.NR_PEDIDO, CASE PP.TP_PAGTOFRETE WHEN '1' THEN 'REMETENTE - CIF' WHEN '2' THEN 'DESTINATÁRIO - FOB' WHEN '3' THEN 'OUTROS' END TP_PAGTOFRETE, -- DADOS DO CLIENTE -- PPP.NM_PESSOA NM_PESSOAPED, PPP.CD_PESSOA CD_PESSOAPED, PPP.NR_CNPJCPF NR_CNPJCPFPED, PPP.DS_EMAIL DS_EMAILPED, EPP.DS_ENDERECO DS_ENDPESPED, EPP.NR_ENDERECO NR_ENDPESPED, EPP.NR_CEP NR_CEPPESPED, EPP.DS_BAIRRO DS_BAIRROPESPED, EPP.DS_COMPLEMENTO DS_COMPPESPED, MPP.DS_MUNICIPIO DS_MUNPESPED, EPP.NR_FONE NR_FONEPESPED, EPP.NR_FAX NR_FAXPESPED, PP.NR_PEDIDO NR_PEDIDO, PPV.CD_PESSOA||' - '||PPV.NM_PESSOA NM_VENDPED, ORP.NR_ORDEMPRODUCAO NR_ORDEMPED, MPP.SG_ESTADO, --RODAPÉ (DADOS DO PEDIDO)-- PP.CD_CONDPAGTO CD_CONDPAGTOPED, CAP.DS_CONDPAGTO DS_CONDPAGTOPED, PARM.DS_MSGPEDIDO DS_MENSAGEMPED, RDCP.DS_ENDCOMPLETO DS_ENDCOBRANCAPED, RDEP.DS_ENDCOMPLETO DS_ENDENTREGAPED, FPP.DS_FORMAPAGTO DS_FORMAPAGTOPED, (
SELECT COUNT (OPPP.NR_PEDIDO)
FROM ORDEMPRODUCAO ORPP
LEFT JOIN ORDEMPRODUCAOPEDIDO OPPP ON (OPPP.CD_EMPRESA = ORPP.CD_EMPRESA
AND OPPP.NR_ORDEMPRODUCAO = ORPP.NR_ORDEMPRODUCAO)
WHERE ORPP.CD_EMPRESA = ORP.CD_EMPRESA
AND ORPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO) QT_PEDIDOS, O.CD_USUARIO||' - '||US.NM_USUARIO CD_USUARIO, O.DT_REGISTRO, O.DT_INICIOPRODUCAO --DISTINCT O.*
FROM ORDEMPRODUCAO O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS (PE.CD_PESSOA, NULL) EE ON (1=1)
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO)
LEFT JOIN VIEW_ORDEMPRODUCAO(O.CD_EMPRESA,O.NR_ORDEMPRODUCAO,'A',null, null,null,null) OVP ON (1=1)
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
LEFT JOIN USUARIO US ON (US.CD_USUARIO = O.CD_USUARIO) --ORCAMENTO--
LEFT JOIN MAQUINAORCAMENTO MO ON (MO.CD_EMPRESA = O.CD_EMPRESA
AND MO.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO) --PEDIDOS DO LOTE DE PRODUCAO--
LEFT JOIN ORDEMPRODUCAO ORP ON (ORP.CD_EMPRESA = O.CD_EMPRESA
AND ORP.NR_LOTEPRODUCAO = O.NR_LOTEPRODUCAO
AND ORP.CD_ITEM = O.CD_ITEM)
LEFT JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRESA = ORP.CD_EMPRESA
AND OPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO)
LEFT JOIN PEDIDO PP ON (PP.CD_EMPRESA = OPP.CD_EMPRPED
AND PP.NR_PEDIDO = OPP.NR_PEDIDO
AND PP.TP_PEDIDO = OPP.TP_PEDIDO)
LEFT JOIN ITEMPEDIDO IPP ON (IPP.CD_EMPRESA = PP.CD_EMPRESA
AND IPP.NR_PEDIDO = PP.NR_PEDIDO
AND IPP.CD_ITEM = ORP.CD_ITEM)
LEFT JOIN PESSOA PPP ON (PPP.CD_PESSOA = PP.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EPP ON (PP.CD_PESSOA = EPP.CD_PESSOA
AND PP.CD_ENDERECO = EPP.CD_ENDERECO)
LEFT JOIN MUNICIPIO MPP ON (MPP.CD_MUNICIPIO = EPP.CD_MUNICIPIO)
LEFT JOIN PESSOA PPV ON (PPV.CD_PESSOA = PP.CD_VENDEDOR)
LEFT JOIN CONDPAGTO CAP ON (CAP.CD_CONDPAGTO = PP.CD_CONDPAGTO)
LEFT JOIN FORMAPAGTO FPP ON (FPP.CD_FORMAPAGTO = PP.CD_FORMAPAGTO)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'B') RDCP ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'E') RDEP ON (1 = 1)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = O.CD_EMPRESA) --ITEM ORDEM PRODUCAO--
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE GA ON (GA.CD_GRADE = I.CD_GRADE) --ITEM ORDEM PRODUCAO DO LOTE--
LEFT JOIN ITEM IOR ON (ORP.CD_ITEM = IOR.CD_ITEM)
LEFT JOIN MARCA MAO ON (MAO.CD_MARCA = IOR.CD_MARCA)
LEFT JOIN GRADE GAO ON (GAO.CD_GRADE = IOR.CD_GRADE)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
AND IO.TP_DESPESA = 'M'
ORDER BY OVP.O_NR_ORDEM CD_EMPRESA NR_ORDEMPRODUCAO
SELECT DISTINCT X.ST_PRODUTO,X.O_CD_ITEM||' - '||X.O_DS_ITEM O_DS_ITEM, SUM(X.O_QT_PRODUZIDA) O_QT_PRODUZIDA, X.O_SG_UNIMED, X.O_DS_MARCA
FROM (
SELECT OVP.O_CD_ITEM, OVP.O_DS_ITEM, OVP.O_QT_PRODUZIDA, OVP.O_SG_UNIMED, OVP.O_DS_MARCA, CASE WHEN COALESCE( (
SELECT first 1 IP.CD_MATERIAPRIMA
FROM PRODUCAO P
INNER JOIN ITEMPRODUCAO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.CD_ITEM = P.CD_ITEM
AND IP.TP_PRODUCAO = P.TP_PRODUCAO
AND IP.NR_VERSAO = P.NR_VERSAO)
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_MATERIAPRIMA)
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.CD_ITEM = OVP.O_CD_ITEM
AND P.TP_PRODUCAO = 'C'
AND P.NR_VERSAO = 1),'X') = 'X' THEN 'S' ELSE 'C' END ST_PRODUTO
FROM VIEW_ORDEMPRODUCAO(:CD_EMPRESA,:NR_ORDEM,'A',NULL, NULL,NULL,NULL) OVP )X
WHERE X.ST_PRODUTO = 'S'
GROUP BY X.ST_PRODUTO,X.O_CD_ITEM, X.O_DS_ITEM, X.O_SG_UNIMED, X.O_DS_MARCA CD_EMPRESA CD_EMPRESA NR_ORDEM

Consulta​

SELECT {#10} O_DS_ITEM DS_ITEM, O_VL_PRECO VL_PRECO, O_QT_UNIDADE QT_UNIDADE, {#10} O_CD_ITEM CD_ITEM, O_CD_FORNECEDOR1 CD_FORNECEDOR1, O_CD_FORNECEDOR2 CD_FORNECEDOR2, {#10} O_DS_SECAO DS_SECAO, O_SG_UNIDMED SG_UNIDMED, O_DS_APLICACAO DS_APLICACAO, {#10} O_PS_LIQUIDO PS_LIQUIDO, O_PS_LIQUIDOEMB PS_LIQUIDOEMB, {#10} O_DS_MARCA DS_MARCA, O_CD_SUBGRUPO CD_SUBGRUPO, O_DS_SUBGRUPO DS_SUBGRUPO, {#10} O_CD_GRUPO CD_GRUPO, O_DS_GRUPO DS_GRUPO, O_DS_ESPECIFICACAO DS_ESPECIFICACAO, {#10} O_VL_PRECOPRAZO VL_PRECOPRAZO, O_DS_TIPOLOCAL DS_TIPOLOCAL, O_DS_LOCAL DS_LOCAL, {#10} O_NR_LINHA NR_LINHA, O_DS_LINHA DS_LINHA, O_NR_COLUNA NR_COLUNA, {#10} O_DS_COLUNA DS_COLUNA, O_CD_CODBARRASGRADE CD_CODBARRASGRADE, {#10} O_CD_GRADE CD_GRADE, O_DS_GRADE DS_GRADE, O_NR_LOTE NR_LOTE, {#10} O_DT_FABRICACAO DT_FABRICACAO, O_NR_DOCUMENTO NR_DOCUMENTO, O_NR_ATESTADO NR_ATESTADO, {#10} O_QT_LOTE QT_LOTE, O_NR_LOTECHAVE NR_LOTECHAVE, O_VL_PROMOCAO VL_PROMOCAO, {#10} O_DS_PROMOCAO DS_PROMOCAO, {IntToStr(sessao.empresa.cd_empresa)} CD_EMPRESA, O_CD_CODIGOBARRA CD_CODIGOBARRA, {#10} CURRENT_DATE DT_ETIQUETA, O_PS_MINIMO PS_MINIMO, O_PS_MAXIMO PS_MAXIMO, {#10} O_DS_OBSERVACAO DS_OBSERVACAO, O_DT_FIMPRODUCAO DT_FIMPRODUCAO, O_DT_INICIOPRODUCAO DT_INICIOPRODUCAO, {#10} O_NR_ORDEMPRODUCAO NR_ORDEMPRODUCAO, O_DS_LOGOTIPO DS_LOGOTIPO, O_NM_EMPRESA NM_EMPRESA, {#10} O_NR_CNPJCPF NR_CNPJCPF, O_DS_ENDERECO DS_ENDERECO, O_NR_ENDERECO NR_ENDERECO, O_DS_BAIRRO DS_BAIRRO, {#10} O_DS_MUNICIPIO DS_MUNICIPIO, O_SG_ESTADO SG_ESTADO, O_NR_CEP NR_CEP, O_DS_EMAIL DS_EMAIL, {#10} CASE WHEN CAST (:TP_LAYOUT AS DOM_CHAR1) = 1 THEN O_PS_MINIMO ELSE O_PS_MAXIMO END PS_PESO, {#10} V.O_DT_VALIDADEITEM DT_VALIDADE {#10}
FROM VIEW_ETIQUETAITEMMEQ012( {#10}'
SELECT {#10}I.DS_ITEM, IP.VL_PRECO, I.CD_CODIGOBARRA, 1, {#10}I.SG_UNIDMED, I.PS_LIQUIDO, I.CD_ITEM, I.CD_FORNECEDOR1, {#10}I.CD_FORNECEDOR2, S.DS_SECAO, S.DS_APLICACAO, I.PS_LIQUIDOEMB, {#10}I.NR_DIASVALIDADE {#10}
FROM ITEM I {#10}
LEFT JOIN RETORNA_TABPRECO ({frmLOP028.tabProducao.FieldByName(}CD_EMPRESA{).AsString},NULL,NULL,{#10}NULL,NULL,NULL,NULL,{frmLOP028.tabProducao.FieldByName(}CD_ITEM{).AsString},NULL) RT ON (1 = 1){#10}
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO) {#10}
LEFT JOIN ITEMTABPRECO IP ON (IP.CD_TABPRECO = RT.O_CD_TABPRECO {#10}
AND IP.CD_ITEM = I.CD_ITEM) {#10}
WHERE I.ST_ATIVO = ''S'' {#10}AND I.CD_ITEM = {frmLOP028.tabProducao.FieldByName(}CD_ITEM{).AsString}{#10}
ORDER BY I.CD_ITEM ', { Nulo(frmLOP028.tabProducao.FieldByName(}CD_EMPRESA{).AsString,}I{)},{ Nulo(frmLOP028.tabProducao.FieldByName(}NR_ORDEMLOTE{).AsString,}I{)}) V

Tabelas Utilizadas​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
GRADEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMORDEMPRODreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
ITEMPRODUCAOreferenciada nas queries do layout
ITEMTABPRECOreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMPRODUCAOreferenciada nas queries do layout
ORDEMPRODUCAOPEDIDOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PRODUCAOreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_TABPRECOreferenciada nas queries do layout
SECAOreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
[[VIEW_ETIQUETAITEMMEQ012]]referenciada nas queries do layout
VIEW_ORDEMPRODUCAOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOP028/ULOP028.pas
  • DFM: source/LOP028/ULOP028.dfm
  • Package: source/LOP028/LOP028.dpk