LOP009 — Layout LOP009
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 ITEM, ORDEMPRODUCAOPEDIDO, EMPRESA, PEDIDO, PESSOA, ENDERECOPESSOA (+4).
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
Producao #1
SELECT DISTINCT p.nr_pedido, PE.nm_pessoa||' - '||PE.cd_pessoa DS_PESSOA, PE.nr_cnpjcpf, COALESCE(EP.ds_endereco||' - ','')||COALESCE(EP.nr_endereco||' - ','') ||EP.ds_bairro||' - '||M.ds_municipio DS_ENDERECO, EP.nr_fone, EP.nr_cep, E.NM_EMPRESA, COPIA_TEXTO(I.DS_ESPECIFICACAO, 1, CHAR_LENGTH(I.DS_ESPECIFICACAO)) DS_ESPECIFICACAO, O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, COALESCE(O.CD_EMPRPROD,O.CD_EMPRESA) CD_EMPRPROD, O.CD_ITEM, I.DS_ITEM, O.QT_PRODUZIDA, O.QT_DESEJADA, I.CD_GRADE, O.DT_INICIOPRODUCAO, P.dt_entrega
FROM ORDEMPRODUCAO O
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM)
INNER JOIN ORDEMPRODUCAOPEDIDO OP ON (OP.CD_EMPRESA = O.CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO
AND OP.CD_ITEM = O.CD_ITEM)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA))
INNER JOIN PEDIDO P ON(P.cd_empresa = OP.cd_empresa
AND P.nr_pedido = OP.nr_pedido
AND P.tp_pedido = OP.tp_pedido)
INNER JOIN PESSOA PE ON(PE.cd_pessoa = P.cd_pessoa)
INNER JOIN ENDERECOPESSOA EP ON(EP.cd_pessoa = PE.cd_pessoa)
INNER JOIN MUNICIPIO M ON(M.cd_municipio = EP.cd_municipio)
WHERE COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA) = 1
AND COALESCE(O.NR_LOTEPRODUCAO,O.NR_ORDEMPRODUCAO) = 107
ORDER BY I.DS_ITEM
SELECT LG.DS_LINHA||' - '||CG.DS_COLUNA DS_GRADE, SUM(GP.QT_GRADE) QT_GRADE
FROM ORDEMPRODUCAO O
INNER JOIN ORDEMPRODUCAOPEDIDO OP ON (OP.CD_EMPRESA = O.CD_EMPRESA
AND OP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO
AND OP.CD_ITEM = O.CD_ITEM)
LEFT JOIN ORDEMPRODUCAOPEDIDOGRADE GP ON (GP.CD_EMPRESA = OP.CD_EMPRESA
AND GP.NR_ORDEMPRODUCAO = OP.NR_ORDEMPRODUCAO
AND GP.CD_EMPRPED = OP.CD_EMPRPED
AND GP.NR_PEDIDO = OP.NR_PEDIDO
AND GP.TP_PEDIDO = OP.TP_PEDIDO
AND GP.CD_ITEM = OP.CD_ITEM)
LEFT JOIN LINHAGRADE LG ON (LG.CD_GRADE = GP.CD_GRADE
AND LG.NR_LINHA = GP.NR_LINHA)
LEFT JOIN COLUNAGRADE CG ON (CG.CD_GRADE = GP.CD_GRADE
AND CG.NR_COLUNA = GP.NR_COLUNA)
WHERE O.CD_EMPRPROD = :CD_EMPRPROD
AND O.NR_LOTEPRODUCAO = :NR_LOTEPRODUCAO
AND O.NR_ORDEMPRODUCAO = :NR_ORDEMPRODUCAO
GROUP BY LG.DS_LINHA, CG.DS_COLUNA
ORDER BY 1 CD_EMPRPROD NR_LOTEPRODUCAO NR_ORDEMPRODUCAO
Producao #2
{Consulta}
Consulta #1
SELECT NR_LOTEPRODUCAO, CD_EMPRLOTEPROD
FROM ORDEMPRODUCAO
WHERE CD_EMPRESA = {iParametros[1]}
AND NR_ORDEMPRODUCAO = {iParametros[2]}
Consulta #2
SELECT DISTINCT p.nr_pedido, PE.nm_pessoa||' - '||PE.cd_pessoa DS_PESSOA, PE.nr_cnpjcpf, {#10}COALESCE(EP.ds_endereco||' - ','')||COALESCE(EP.nr_endereco||' - ','') ||EP.ds_bairro||' - '||M.ds_municipio, DS_ENDERECO,{#10} EP.nr_fone, EP.nr_cep, P.DT_ENTREGA, E.NM_EMPRESA, COPIA_TEXTO(I.DS_ESPECIFICACAO, 1, CHAR_LENGTH(I.DS_ESPECIFICACAO)) DS_ESPECIFICACAO, {#10} O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, COALESCE(O.CD_EMPRPROD,O.CD_EMPRESA) CD_EMPRPROD, {#10} O.CD_ITEM, I.DS_ITEM, O.QT_PRODUZIDA, O.QT_DESEJADA, I.CD_GRADE, O.DT_INICIOPRODUCAO {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN ORDEMPRODUCAOPEDIDO OP ON (OP.CD_EMPRESA = O.CD_EMPRESA {#10}
AND OP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO {#10}
AND OP.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN EMPRESA E ON ( E.CD_EMPRESA = COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA )) {#10}
INNER JOIN PEDIDO P ON(P.cd_empresa = OP.cd_empresa {#10}
AND P.nr_pedido = OP.nr_pedido {#10}
AND P.tp_pedido = OP.tp_pedido) {#10}
INNER JOIN PESSOA PE ON(PE.cd_pessoa = P.cd_pessoa) {#10}
INNER JOIN ENDERECOPESSOA EP ON(EP.CD_PESSOA = PE.CD_PESSOA {#10}
AND EP.CD_ENDERECO = (
SELECT FIRST 1 CD_ENDERECO
FROM ENDERECOPESSOA EA
WHERE EA.CD_PESSOA = EP.CD_PESSOA )) {#10}
INNER JOIN MUNICIPIO M ON(M.cd_municipio = EP.cd_municipio) {#10} {#10}
WHERE O.CD_EMPRLOTEPROD = {Resultado[1] + #10}
AND O.NR_LOTEPRODUCAO = {Resultado[0] + #10}
ORDER BY I.DS_ITEM{else Consulta :=}
SELECT DISTINCT p.nr_pedido, PE.nm_pessoa||' - '||PE.cd_pessoa DS_PESSOA, PE.nr_cnpjcpf, {#10}COALESCE(EP.ds_endereco||' - ','')||COALESCE(EP.nr_endereco||' - ','') ||EP.ds_bairro||' - '||M.ds_municipio, DS_ENDERECO,{#10} EP.nr_fone, EP.nr_cep, P.DT_ENTREGA, E.NM_EMPRESA, COPIA_TEXTO(I.DS_ESPECIFICACAO, 1, CHAR_LENGTH(I.DS_ESPECIFICACAO)) DS_ESPECIFICACAO, {#10} O.NR_ORDEMPRODUCAO, O.NR_LOTEPRODUCAO, COALESCE(O.CD_EMPRPROD,O.CD_EMPRESA) CD_EMPRPROD, {#10} O.CD_ITEM, I.DS_ITEM, O.QT_PRODUZIDA, O.QT_DESEJADA, I.CD_GRADE, O.DT_INICIOPRODUCAO {#10}
FROM ORDEMPRODUCAO O {#10}
INNER JOIN ITEM I ON (O.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN ORDEMPRODUCAOPEDIDO OP ON (OP.CD_EMPRESA = O.CD_EMPRESA {#10}
AND OP.NR_ORDEMPRODUCAO = O.NR_ORDEMPRODUCAO {#10}
AND OP.CD_ITEM = O.CD_ITEM) {#10}
INNER JOIN EMPRESA E ON ( E.CD_EMPRESA = COALESCE(O.CD_EMPRLOTEPROD,O.CD_EMPRESA )) {#10}
INNER JOIN PEDIDO P ON(P.cd_empresa = OP.cd_empresa {#10}
AND P.nr_pedido = OP.nr_pedido {#10}
AND P.tp_pedido = OP.tp_pedido) {#10}
INNER JOIN PESSOA PE ON(PE.cd_pessoa = P.cd_pessoa) {#10}
INNER JOIN ENDERECOPESSOA EP ON(EP.CD_PESSOA = PE.CD_PESSOA {#10}
AND EP.CD_ENDERECO = (
SELECT FIRST 1 CD_ENDERECO
FROM ENDERECOPESSOA EA
WHERE EA.CD_PESSOA = EP.CD_PESSOA )) {#10}
INNER JOIN MUNICIPIO M ON(M.cd_municipio = EP.cd_municipio) {#10} {#10}
WHERE O.CD_EMPRESA = {iParametros[1] + #10}
AND O.NR_ORDEMPRODUCAO = {iParametros[2] + #10}
ORDER BY I.DS_ITEM
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COLUNAGRADE | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
ORDEMPRODUCAO | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDO | referenciada nas queries do layout |
ORDEMPRODUCAOPEDIDOGRADE | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LOP009/ULOP009.pas - DFM:
source/LOP009/ULOP009.dfm - Package:
source/LOP009/LOP009.dpk