LOS007 — Layout LOS007
Visão Geral
Layout de impressão da família LOS (Ordem de Serviço). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em ORDEMSERVICO, com junção em EMPRESA, PESSOA, ENDERECOPESSOA, MUNICIPIO, MAQUINA, FORMAPAGTO (+4), filtrada por CD_EMPRESA, NR_ORDEMSERVICO, ORDEMSERVITEM, JO, CD_ITEM, IL (+3).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Ordemservico
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);
SQL Base
Ordemservico
SELECT ORDEMSERVICO.CD_EMPRESA, E.NM_EMPRESA, EE.NR_FONE NR_FONEEMP, ORDEMSERVICO.NR_ORDEMSERVICO, ORDEMSERVICO.CD_PESSOA, cast(PESSOA.CD_PESSOA as varchar(10))||' - '||PESSOA.NM_PESSOA NM_PESSOA, PESSOA.NR_CNPJCPF, EP.DS_BAIRRO, EP.NR_INSCEST, EP.DS_ENDERECO||COALESCE(', '||cast(EP.NR_ENDERECO as varchar(10)), '')||'. Cidade: '||MUNICIPIO.DS_MUNICIPIO||'-'||MUNICIPIO.SG_ESTADO DS_ENDERECO, COALESCE(EP.NR_FONE,EP.NR_FAX) NR_FONE, EP.NR_CELULAR, ORDEMSERVICO.NR_SERIEMAQUINA, MAQUINA.DS_MAQUINA, MAQUINA.DS_MODELO, ORDEMSERVICO.DT_EMISSAO, ORDEMSERVICO.CD_FORMAPAGTO, FORMAPAGTO.DS_FORMAPAGTO, ORDEMSERVICO.CD_CONDPAGTO, CONDPAGTO.DS_CONDPAGTO, ORDEMSERVICO.DT_VENCIMENTO, ORDEMSERVICO.DS_OBSERVACAO, ORDEMSERVICO.DS_ACESSORIOS, ORDEMSERVICO.DS_TECNICA, CASE ORDEMSERVICO.ST_ORDEMSERVICO WHEN 'A' THEN 'Aberta' ELSE 'Fechada' END DS_STATUS, PA.DS_LOGOTIPO, MAQUINA.DS_OBSERVACAO DS_OBSMAQUINA, CAST(:ST_LOCAL AS VARCHAR(1)) ST_LOCAL
FROM ORDEMSERVICO
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = ORDEMSERVICO.CD_EMPRESA)
INNER JOIN PESSOA ON (PESSOA.CD_PESSOA = ORDEMSERVICO.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = ORDEMSERVICO.CD_PESSOA
AND EP.CD_ENDERECO = ORDEMSERVICO.CD_ENDERECO)
INNER JOIN MUNICIPIO ON (MUNICIPIO.CD_MUNICIPIO = EP.CD_MUNICIPIO)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = E.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(EE.CD_PESSOA, NULL)))
LEFT JOIN MAQUINA ON (MAQUINA.NR_SERIEMAQUINA = ORDEMSERVICO.NR_SERIEMAQUINA)
LEFT JOIN FORMAPAGTO ON (FORMAPAGTO.CD_FORMAPAGTO = ORDEMSERVICO.CD_FORMAPAGTO)
LEFT JOIN CONDPAGTO ON (CONDPAGTO.CD_CONDPAGTO = ORDEMSERVICO.CD_CONDPAGTO)
LEFT JOIN PARMFATUR PA ON (PA.CD_EMPRESA = E.CD_EMPRESA)
WHERE ORDEMSERVICO.CD_EMPRESA = :CD_EMPRESA
AND ORDEMSERVICO.NR_ORDEMSERVICO = :NR_ORDEMSERVICO ST_LOCAL CD_EMPRESA NR_ORDEMSERVICO
SELECT ORDEMSERVITEM.CD_SERVICO, ITEM.DS_ITEM, ORDEMSERVITEM.DT_ABERTURA, ORDEMSERVITEM.DT_FECHAMENTO, ORDEMSERVITEM.QT_SERVICO, ORDEMSERVITEM.VL_UNITARIO, ORDEMSERVITEM.VL_DESCONTO, ORDEMSERVITEM.VL_TOTAL, (ORDEMSERVITEM.VL_TOTAL - COALESCE(VL_DESCONTO, 0)) VL_LIQUIDO
FROM ORDEMSERVITEM
INNER JOIN ITEM ON (ITEM.CD_ITEM = ORDEMSERVITEM.CD_SERVICO)
WHERE ORDEMSERVITEM.CD_EMPRESA = :CD_EMPRESA
AND ORDEMSERVITEM.NR_ORDEMSERVICO = :NR_ORDEMSERVICO CD_EMPRESA 1 NR_ORDEMSERVICO 102
SELECT SERVICOITEM.CD_EMPRESA, SERVICOITEM.NR_ORDEMSERVICO, SERVICOITEM.CD_ITEM, CAST(SERVICOITEM.CD_ITEM AS VARCHAR(10))||' - '||ITEM.DS_ITEM DS_ITEM, SERVICOITEM.CD_TABPRECO, SERVICOITEM.CD_MOVIMENTACAO, COALESCE(ITEM.CD_FORNECEDOR1,ITEM.CD_FORNECEDOR2) CD_FORNECEDOR, SERVICOITEM.QT_SERVICOITEM, SERVICOITEM.PS_SERVICOITEM, SERVICOITEM.VL_UNITARIO, SERVICOITEM.VL_TOTAL, SERVICOITEM.VL_DESCONTO, (SERVICOITEM.VL_TOTAL - COALESCE(SERVICOITEM.VL_DESCONTO, 0)) VL_LIQUIDO, (
SELECT FIRST 1 L.DS_LOCAL
FROM ITEMLOCAL IL
INNER JOIN LOCALESTOQUE L ON (L.CD_TIPOLOCAL = IL.CD_TIPOLOCAL
AND L.CD_LOCAL = IL.CD_LOCAL)
WHERE IL.CD_ITEM = ITEM.CD_ITEM) DS_LOCAL, CAST(:ST_LOCAL AS DOM_CHAR1) ST_MEMO
FROM SERVICOITEM
INNER JOIN ITEM ON (ITEM.CD_ITEM = SERVICOITEM.CD_ITEM)
WHERE SERVICOITEM.CD_EMPRESA = :CD_EMPRESA
AND SERVICOITEM.NR_ORDEMSERVICO = :NR_ORDEMSERVICO
ORDER BY SERVICOITEM.CD_ITEM ST_LOCAL CD_EMPRESA 1 NR_ORDEMSERVICO
SELECT SUM(VL_TOTAL) VL_TOTAL, SUM(VL_DESCONTO) VL_DESCONTO, SUM(VL_LIQUIDO) VL_LIQUIDO
FROM (
SELECT COALESCE(SUM(VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(VL_DESCONTO),0) VL_DESCONTO, COALESCE(SUM(VL_TOTAL),0) - COALESCE(SUM(VL_DESCONTO),0) VL_LIQUIDO
FROM ORDEMSERVITEM
WHERE CD_EMPRESA = :CD_EMPRESA
AND NR_ORDEMSERVICO = :NR_ORDEMSERVICO
UNION ALL
SELECT COALESCE(SUM(VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(VL_DESCONTO),0) VL_DESCONTO, COALESCE(SUM(VL_TOTAL),0) - COALESCE(SUM(VL_DESCONTO),0) VL_LIQUIDO
FROM SERVICOITEM
WHERE CD_EMPRESA = :CD_EMPRESA
AND NR_ORDEMSERVICO = :NR_ORDEMSERVICO ) CD_EMPRESA 1 NR_ORDEMSERVICO
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 |
ITEM | referenciada nas queries do layout |
ITEMLOCAL | referenciada nas queries do layout |
LOCALESTOQUE | referenciada nas queries do layout |
MAQUINA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
ORDEMSERVITEM | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
SERVICOITEM | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOS007/ULOS007.pas - DFM:
source/LOS007/ULOS007.dfm - Package:
source/LOS007/LOS007.dpk