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
| Tabela | Uso |
|---|---|
ENDERECOPESSOA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMCOLETA | referenciada nas queries do layout |
ORDEMCOLETAITEM | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
TIPOMERCADORIA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOL000/ULOL000.pas - DFM:
source/LOL000/ULOL000.dfm - Package:
source/LOL000/LOL000.dpk