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
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
GRADE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
ITEMPRODUCAO | referenciada nas queries do layout |
ITEMTABPRECO | referenciada nas queries do layout |
MAQUINAORCAMENTO | referenciada nas queries do layout |
MARCA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMPRODUCAO | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PRODUCAO | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_TABPRECO | referenciada nas queries do layout |
SECAO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
| [[VIEW_ETIQUETAITEMMEQ012]] | referenciada nas queries do layout |
VIEW_ORDEMPRODUCAO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP028/ULOP028.pas - DFM:
source/LOP028/ULOP028.dfm - Package:
source/LOP028/LOP028.dpk