Pular para o conteúdo principal

LOL000 — Layout LOL000

Visão Geral​

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

Descrição​

Consulta baseada em ORDEMCOLETA, com junção em PESSOA, ENDERECOPESSOA, MUNICIPIO, TIPOMERCADORIA, filtrada por CD_EMPRESA, NR_ORDEMCOLETA, OCI, JO, CD_TIPOMERCADORIA.

Chamada​

ExecLayout(Connection, [
// parametros nao documentados no .pas
]);

SQL Base​

queryOC​

SELECT OC.NR_ORDEMCOLETA, REM.NM_PESSOA||' <'||REM.CD_PESSOA||'>' NM_REMETENTE, EREM.DS_ENDERECO||COALESCE(', '||EREM.NR_ENDERECO, '') DS_ENDERECOREM, EREM.DS_BAIRRO DS_BAIRROREM, MREM.DS_MUNICIPIO||' - '||MREM.SG_ESTADO DS_MUNICIPIOREM, REM.NR_CNPJCPF NR_CNPJCPFREM, NULLIF(EREM.NR_INSCEST, 'ISENTO') NR_INSCESTREM, EREM.NR_FONE NR_FONEREM, DES.NM_PESSOA||' <'||DES.CD_PESSOA||'>' NM_DESTINATARIO, EDES.DS_ENDERECO||COALESCE(', '||EDES.NR_ENDERECO, '') DS_ENDERECODES, EDES.DS_BAIRRO DS_BAIRRODES, MDES.DS_MUNICIPIO||' - '||MDES.SG_ESTADO DS_MUNICIPIODES, DES.NR_CNPJCPF NR_CNPJCPFDES, NULLIF(EDES.NR_INSCEST, 'ISENTO') NR_INSCESTDES, EDES.NR_FONE NR_FONEDES, CASE WHEN OC.HR_COLETA0 IS NOT NULL
OR OC.HR_COLETA1 IS NOT NULL THEN TRIM('Horário de Coleta: '||COALESCE(NULLIF(TRIM(COPIA_TEXTO(OC.HR_COLETA0, 1, 5))||' ', ' '), '')|| COALESCE(NULLIF(TRIM('até '||COPIA_TEXTO(OC.HR_COLETA1, 1, 5)), 'até'), ''))||ASCII_CHAR(10) ELSE '' END|| CASE WHEN OC.HR_COLETA2 IS NOT NULL
OR OC.HR_COLETA3 IS NOT NULL THEN TRIM('Horário de Coleta: '||COALESCE(NULLIF(TRIM(COPIA_TEXTO(OC.HR_COLETA2, 1, 5))||' ', ' '), '')|| COALESCE(NULLIF(TRIM('até '||COPIA_TEXTO(OC.HR_COLETA3, 1, 5)), 'até'), ''))||ASCII_CHAR(10) ELSE '' END||COALESCE(OC.DS_OBSERVACAO, '') DS_OBSERVACAO, OC.NM_SOLICITANTE, OC.DT_SOLICITACAO DT_SOLICITACAO, CASE OC.TP_CARGA WHEN 'P' THEN 'X ' WHEN 'V' THEN ' X' ELSE 'X X' END TP_CARGA, OC.QT_MEDIDA, OC.NR_PLACA, COALESCE(M.NM_PESSOA||' <'||M.CD_PESSOA||'>', OC.NM_MOTORISTA) NM_MOTORISTA
FROM ORDEMCOLETA OC
INNER JOIN PESSOA REM ON (REM.CD_PESSOA = OC.CD_REMETENTE)
INNER JOIN ENDERECOPESSOA EREM ON (EREM.CD_PESSOA = OC.CD_REMETENTE
AND EREM.CD_ENDERECO = OC.CD_ENDERECOREM)
INNER JOIN MUNICIPIO MREM ON (MREM.CD_MUNICIPIO = EREM.CD_MUNICIPIO)
INNER JOIN PESSOA DES ON (DES.CD_PESSOA = OC.CD_DESTINATARIO)
INNER JOIN ENDERECOPESSOA EDES ON (EDES.CD_PESSOA = OC.CD_DESTINATARIO
AND EDES.CD_ENDERECO = OC.CD_ENDERECODES)
INNER JOIN MUNICIPIO MDES ON (MDES.CD_MUNICIPIO = EDES.CD_MUNICIPIO)
LEFT JOIN PESSOA M ON (M.CD_PESSOA = OC.CD_MOTORISTA)
WHERE OC.CD_EMPRESA = :CD_EMPRESA
AND OC.NR_ORDEMCOLETA = :NR_ORDEMCOLETA CD_EMPRESA NR_ORDEMCOLETA
SELECT OCI.CD_TIPOMERCADORIA, TM.DS_TIPOMERCADORIA, OCI.QT_VOLUMES, OCI.PS_MERCADORIA, OCI.NR_NOTAFISCAL, OCI.DT_EMISSAONF
FROM ORDEMCOLETAITEM OCI
INNER JOIN TIPOMERCADORIA TM ON (TM.CD_TIPOMERCADORIA = OCI.CD_TIPOMERCADORIA)
WHERE OCI.CD_EMPRESA = :CD_EMPRESA
AND OCI.NR_ORDEMCOLETA = :NR_ORDEMCOLETA CD_EMPRESA 40 NR_ORDEMCOLETA

Tabelas Utilizadas​

TabelaUso
ENDERECOPESSOAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORDEMCOLETAreferenciada nas queries do layout
ORDEMCOLETAITEMreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
TIPOMERCADORIAreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LOL000/ULOL000.pas
  • DFM: source/LOL000/ULOL000.dfm
  • Package: source/LOL000/LOL000.dpk