LOP031 — Layout LOP031
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 PRODUCAO, com junção em EMPRESA, PARMFATUR, PESSOA, RETORNA_DADOSCADASTRAIS, MUNICIPIO, ITEMORDEMPROD (+6), filtrada por CD_EMPRESA, CD_ITEM, TP_PRODUCAO, O, JO, CD_PESSOA (+9).
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 O.NR_ORDEMPRODUCAO, (
SELECT FIRST 1 P.DS_RECEITA
FROM PRODUCAO P
WHERE P.CD_EMPRESA = O.CD_EMPRESA
AND P.CD_ITEM = O.CD_ITEM
AND P.TP_PRODUCAO = 'C') DS_RECEITA, I.CD_FORNECEDOR1, ITPMP.CD_FORNECEDOR1 CD_FORNECEDOR1MP, S.CD_SECAO, S.DS_SECAO, O.DT_FIMPRODUCAO, I.CD_FORNECEDOR2 CD_FORNECEDOR2, I.DS_ESPECIFICACAO DS_ESPECIFICACAO, O.NR_LOTEPRODUCAO, MA.DS_MARCA DS_MARCA, I.CD_ITEM,I.DS_ITEM, I.DS_OBSERVACAO, ITPMP.DS_OBSERVACAO DS_OBSERVACAOMP, ITPMP.CD_ITEM CD_ITEMMP, ITPMP.DS_ITEM DS_ITEMMP, ITPMP.CD_GRUPO, PRF.DS_LOGOTIPO, C.NM_PESSOA NM_CLIENTE, EC.DS_ENDCOMPLETO ENDERECO_CLIENTE, EC.NR_TELEFONE TELEFONE_CLIENTE, OD.NR_PEDIDO
FROM ORDEMPRODUCAO O
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA)
INNER JOIN PARMFATUR PRF ON (PRF.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)
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO)
INNER JOIN ITEM ITPMP ON (ITPMP.CD_ITEM = IO.CD_MATERIAPRIMA) --ITEM MATERIA PRIMA
INNER JOIN GRUPO GRPMP ON (GRPMP.CD_GRUPO = ITPMP.CD_GRUPO)
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM) --ITEM PRODUTO ACABADO
INNER JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA)
LEFT JOIN SECAO S ON (S.CD_SECAO = I.CD_SECAO)
LEFT JOIN ORDEMPRODUCAOPEDIDO OD ON(OD.CD_EMPRESA = O.CD_EMPRESA
AND OD.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO)
LEFT JOIN PEDIDO PP ON (PP.CD_EMPRESA = OD.CD_EMPRPED
AND PP.NR_PEDIDO = OD.NR_PEDIDO
AND PP.TP_PEDIDO = OD.TP_PEDIDO)
LEFT JOIN PESSOA C ON (C.CD_PESSOA = PP.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS (C.CD_PESSOA, NULL, pp.CD_ENDERECO) EC ON (1=1)
WHERE O.CD_EMPRESA = :CD_EMPRESA
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
AND ITPMP.CD_GRUPO = 20 --VALOR FIXADO PELA ÁNALISE CD_EMPRESA NR_ORDEMPRODUCAO
Consulta #1
SELECT DISTINCT {#10}O.NR_LOTEPRODUCAO, COALESCE(ORP.NR_ORDEMPRODUCAO, O.NR_ORDEMPRODUCAO) NR_ORDEMLOTE, {#10+ //EMPRESA}O.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, {#10}PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, {#10}EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, {#10}EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, {#10}EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, {#10}ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, PARM.DS_LOGOTIPO, {#10+ //PRODUTO}COALESCE(IOR.CD_ITEM,I.CD_ITEM) CD_ITEM, {#10}COALESCE(IOR.DS_ITEM,I.DS_ITEM) DS_ITEM, {#10}COALESCE(IOR.SG_UNIDMED, I.SG_UNIDMED) SG_UNIDMED, {#10}(
SELECT FIRST 1 P.DS_RECEITA {#10}
FROM PRODUCAO P {#10}
WHERE P.CD_EMPRESA = O.CD_EMPRESA {#10}
AND P.CD_ITEM = O.CD_ITEM {#10}
AND P.TP_PRODUCAO = 'C') DS_RECEITA, {#10}COALESCE(MAO.DS_MARCA, MA.DS_MARCA)DS_MARCA, {#10}COALESCE(IOR.CD_GRADE,I.CD_GRADE) CD_GRADE, {#10} COALESCE(GAO.DS_GRADE, GA.DS_GRADE) DS_GRADE, {#10}COALESCE(ORP.QT_PRODUZIDA, O.QT_PRODUZIDA) QT_ITEM , {#10}MO.DS_ESPECIFICACAO DS_OBSERVACAOPROD, {#10}COALESCE(IOR.CD_CODIGOBARRA, I.CD_CODIGOBARRA) CD_CODIGOBARRA, {#10}COALESCE(IOR.CD_FORNECEDOR1, I.CD_FORNECEDOR1) CD_FORNECEDOR1, {#10}COALESCE(COALESCE(IOR.PS_LIQUIDOEMB,0) + COALESCE(IOR.PS_EMBALAGEM,0), {#10}COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0)) PS_ITEM, {#10}(COALESCE(ORP.QT_PRODUZIDA, O.QT_PRODUZIDA) * COALESCE(COALESCE(IOR.PS_LIQUIDOEMB,0) + COALESCE(IOR.PS_EMBALAGEM,0), {#10}COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0))) PS_TOTITEM, {#10}COALESCE(IOR.DS_ESPECIFICACAO, I.DS_ESPECIFICACAO) DS_OBSERVACAO, {#10}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, {#10}PPP.NM_PESSOA NM_PESSOAPED, PPP.CD_PESSOA CD_PESSOAPED, PPP.NR_CNPJCPF NR_CNPJCPFPED, {#10}PPP.DS_EMAIL DS_EMAILPED, {#10}EPP.DS_ENDERECO DS_ENDPESPED, EPP.NR_ENDERECO NR_ENDPESPED, EPP.NR_CEP NR_CEPPESPED, {#10}EPP.DS_BAIRRO DS_BAIRROPESPED, EPP.DS_COMPLEMENTO DS_COMPPESPED, {#10}MPP.DS_MUNICIPIO DS_MUNPESPED, EPP.NR_FONE NR_FONEPESPED, EPP.NR_FAX NR_FAXPESPED, {#10}PP.NR_PEDIDO NR_PEDIDO, PPV.CD_PESSOA||' - '||PPV.NM_PESSOA NM_VENDPED, {#10}ORP.NR_ORDEMPRODUCAO NR_ORDEMPED, MPP.SG_ESTADO, {#10}PP.CD_CONDPAGTO CD_CONDPAGTOPED, CAP.DS_CONDPAGTO DS_CONDPAGTOPED, PARM.DS_MSGPEDIDO DS_MENSAGEMPED, {#10}RDCP.DS_ENDCOMPLETO DS_ENDCOBRANCAPED, RDEP.DS_ENDCOMPLETO DS_ENDENTREGAPED, {#10}FPP.DS_FORMAPAGTO DS_FORMAPAGTOPED, {#10}cast((
SELECT COUNT (OPPP.NR_PEDIDO) {#10}
FROM ORDEMPRODUCAO ORPP {#10}
LEFT JOIN ORDEMPRODUCAOPEDIDO OPPP ON (OPPP.CD_EMPRESA = ORPP.CD_EMPRESA {#10}
AND OPPP.NR_ORDEMPRODUCAO = ORPP.NR_ORDEMPRODUCAO) {#10}
WHERE ORPP.CD_EMPRESA = ORP.CD_EMPRESA {#10}
AND ORPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO) as integer) QT_PEDIDOS, {#10}O.CD_USUARIO||' - '||US.NM_USUARIO CD_USUARIO, {#10}O.DT_REGISTRO, O.DT_INICIOPRODUCAO, cast(ipp.DS_OBSERVACAO as varchar(32000)) ds_obsitempedido {#10}--DISTINCT O.* {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = O.CD_EMPRESA) {#10}
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS (PE.CD_PESSOA, NULL) EE ON (1=1) {#10}
LEFT JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EE.CD_MUNICIPIO) {#10}
INNER JOIN ITEMORDEMPROD IO ON (O.CD_EMPRESA = IO.CD_EMPRESA {#10}
AND O.NR_ORDEMPRODUCAO = IO.NR_ORDEMPRODUCAO) {#10}
LEFT JOIN USUARIO US ON (US.CD_USUARIO = O.CD_USUARIO) {#10+ //ORCAMENTO--}
LEFT JOIN MAQUINAORCAMENTO MO ON (MO.CD_EMPRESA = O.CD_EMPRESA {#10}
AND MO.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO) {#10+ //PEDIDOS DO LOTE DE PRODUCAO--}
LEFT JOIN ORDEMPRODUCAO ORP ON (ORP.CD_EMPRESA = O.CD_EMPRESA
AND {#10} ORP.NR_LOTEPRODUCAO = O.NR_LOTEPRODUCAO) {#10}
LEFT JOIN ORDEMPRODUCAOPEDIDO OPP ON (OPP.CD_EMPRESA = ORP.CD_EMPRESA {#10}
AND OPP.NR_ORDEMPRODUCAO = ORP.NR_ORDEMPRODUCAO) {#10}
LEFT JOIN PEDIDO PP ON (PP.CD_EMPRESA = OPP.CD_EMPRPED {#10}
AND PP.NR_PEDIDO = OPP.NR_PEDIDO {#10}
AND PP.TP_PEDIDO = OPP.TP_PEDIDO) {#10}
LEFT JOIN ITEMPEDIDO IPP ON (IPP.CD_EMPRESA = PP.CD_EMPRESA {#10}
AND IPP.NR_PEDIDO = PP.NR_PEDIDO {#10}
AND IPP.CD_ITEM = ORP.CD_ITEM) {#10}
LEFT JOIN PESSOA PPP ON (PPP.CD_PESSOA = PP.CD_PESSOA) {#10}
LEFT JOIN ENDERECOPESSOA EPP ON (PP.CD_PESSOA = EPP.CD_PESSOA {#10}
AND PP.CD_ENDERECO = EPP.CD_ENDERECO) {#10}
LEFT JOIN MUNICIPIO MPP ON (MPP.CD_MUNICIPIO = EPP.CD_MUNICIPIO) {#10}
LEFT JOIN PESSOA PPV ON (PPV.CD_PESSOA = PP.CD_VENDEDOR) {#10}
LEFT JOIN CONDPAGTO CAP ON (CAP.CD_CONDPAGTO = PP.CD_CONDPAGTO) {#10}
LEFT JOIN FORMAPAGTO FPP ON (FPP.CD_FORMAPAGTO = PP.CD_FORMAPAGTO) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'B') RDCP ON (1 = 1) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(PP.CD_PESSOA,'E') RDEP ON (1 = 1) {#10}
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = O.CD_EMPRESA) {#10+ //ITEM ORDEM PRODUCAO--}
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN MARCA MA ON (MA.CD_MARCA = I.CD_MARCA) {#10}
LEFT JOIN GRADE GA ON (GA.CD_GRADE = I.CD_GRADE) {#10+ //ITEM ORDEM PRODUCAO DO LOTE--}
LEFT JOIN ITEM IOR ON (ORP.CD_ITEM = IOR.CD_ITEM) {#10}
LEFT JOIN MARCA MAO ON (MAO.CD_MARCA = IOR.CD_MARCA) {#10}
LEFT JOIN GRADE GAO ON (GAO.CD_GRADE = IOR.CD_GRADE) {#10}
WHERE O.CD_EMPRESA = {codigo} {#10}
AND O.NR_ORDEMPRODUCAO = {ordem} {#10}
AND IO.TP_DESPESA = 'M' {#10}
ORDER BY PP.NR_PEDIDO,ORP.NR_ORDEMPRODUCAO, PP.NR_PEDIDO DESC
Consulta #2
SELECT O.CD_MATERIAPRIMA, I.DS_ITEM DS_MATPRIMA, O.QT_ITEMPRODUCAO, I.SG_UNIDMED, I.CD_FORNECEDOR1, I.CD_FORNECEDOR2 {#10}
FROM ITEMORDEMPROD O {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = O.CD_MATERIAPRIMA) {#10}
WHERE O.CD_EMPRESA = {codigo} {#10}
AND O.NR_ORDEMPRODUCAO = {ordem}
Consulta #3
SELECT O.CD_ITEM, O.QT_GRADE, L.DS_LINHA, C.DS_COLUNA, G.DS_GRADE {#10}
FROM ORDEMPRODUCAOGRADE O {#10}
INNER JOIN GRADE G ON (G.CD_GRADE = O.CD_GRADE) {#10}
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE {#10}
AND L.NR_LINHA = O.NR_LINHA) {#10}
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE {#10}
AND C.NR_COLUNA = O.NR_COLUNA) {#10}
WHERE O.CD_EMPRESA = {codigo} {#10}AND O.NR_ORDEMPRODUCAO = {ordem}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COLUNAGRADE | referenciada nas queries do layout |
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 |
GRUPO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMORDEMPROD | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
LINHAGRADE | 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 |
ORDEMPRODUCAOGRADE | 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 |
SECAO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP031/ULOP031.pas - DFM:
source/LOP031/ULOP031.dfm - Package:
source/LOP031/LOP031.dpk