LPS001 — Layout LPS001
Visão Geral
Layout de impressão da família LPS (Produto). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em PEDIDO, com junção em ITEMPEDIDO, ITEM, EMPRESA, ITEMGRAO, TIPOCALCULO, RETORNA_SALDOPEDIDO (+1), filtrada por CD_EMPRESA, NR_PEDIDO, CD_PRODUTO.
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Path Servidor
// 4 - Visualiza -> V ou Imprime -> I
]);
SQL Base
tabPedido #1
SELECT P.CD_EMPRESA, E.NM_EMPRESA, P.NR_PEDIDO, P.DT_PEDIDO, ITG.CD_PRODUTO||' - '||ITG.DS_PRODUTO DS_ITEMPRODUZIDO, I.FORMULACAO, COALESCE(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * COALESCE(I.PS_EMBALAGEM, 1), 0) QT_PEDIDA, I.SG_UNIDMED, I.PS_LIQUIDO QT_CONVERSAO, CAST(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) AS DOM_NUMERIC15_2) *CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QT_CONVERTIDA, COALESCE(I.NR_CO||'%', '0%') NR_CO, COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, COALESCE(I.NR_P205||'%', '0%') NR_P205, COALESCE(I.NR_K2O||'%', '0%') NR_K2O, COALESCE(I.NR_UMMAX||'%', '0%') NR_UMMAX, I.DS_NATUREZAFISICA, I.DS_GRANULOMETRIA, CAST (NULL AS DOM_CHAR1) TP_REL, CASE TC.TP_UNIDADE WHEN 'Q' THEN RSP.V_QT_SALDO WHEN 'P' THEN RSP.V_PS_SALDO END SALDO_PEDIDO, I.CD_ITEM, I.DS_ITEM, CLI.CD_PESSOA CD_CLIENTE, CLI.NM_PESSOA NM_CLIENTE, MOT.CD_PESSOA CD_MOTORISTA, MOT.NM_PESSOA NM_MOTORISTA, P.NR_PLACAENTREGAOF NR_PLACA
FROM PEDIDO P
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.NR_PEDIDO = P.NR_PEDIDO)
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_ITEM)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = P.CD_EMPRESA)
INNER JOIN ITEMGRAO ITG ON (ITG.CD_ITEM = IP.CD_ITEM)
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN RETORNA_SALDOPEDIDO(P.CD_EMPRESA, P.NR_PEDIDO, P.TP_PEDIDO, IP.CD_ITEM, IP.PS_PEDIDO, IP.QT_PEDIDA, IP.PS_ATENDIDO, IP.QT_ATENDIDA, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_DESPESA, IP.VL_TOTAL) RSP ON (1 = 1)
INNER JOIN PESSOA CLI ON (CLI.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN PESSOA MOT ON (MOT.CD_PESSOA = P.CD_TRANSPORTADOR)
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND ITG.CD_PRODUTO = :CD_PRODUTO CD_EMPRESA NR_PEDIDO CD_PRODUTO
tabPedido #2
SELECT {#10} P.CD_EMPRESA, {#10} E.NM_EMPRESA, {#10} P.NR_PEDIDO, {#10} P.DT_PEDIDO, {#10} ITG.CD_PRODUTO||' - '||ITG.DS_PRODUTO DS_ITEMPRODUZIDO, {#10} I.FORMULACAO, {#10} COALESCE(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * COALESCE(I.PS_EMBALAGEM, 1), 0) QT_PEDIDA, {#10} I.SG_UNIDMED, {#10} I.PS_LIQUIDO QT_CONVERSAO, {#10} CAST(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) AS DOM_NUMERIC15_2) * CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QT_CONVERTIDA, {#10} COALESCE(I.NR_CO||'%', '0%') NR_CO, {#10} COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, {#10} COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, {#10} COALESCE(I.NR_P205||'%', '0%') NR_P205, {#10} COALESCE(I.NR_K2O||'%', '0%') NR_K2O, {#10} COALESCE(I.NR_UMMAX||'%', '0%') NR_UMMAX, {#10} I.DS_NATUREZAFISICA, {#10} I.DS_GRANULOMETRIA, {#10} CAST('P' AS DOM_CHAR1) TP_REL, {#10} CASE WHEN TP.TP_UNIDADE = 'P' THEN (IP.PS_PEDIDO - COALESCE((
SELECT {#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN SUM(CP.QT_CONTROLE) ELSE SUM(CP.PS_CONTROLE) END {#10}
FROM CONTROLEPRODUCAO CP {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = CP.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
WHERE CP.CD_EMPRPEDIDO = IP.CD_EMPRESA {#10}
AND CP.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND CP.TP_PEDIDO = IP.TP_PEDIDO {#10}
AND CP.CD_ITEM = IP.CD_ITEM {#10}
AND CP.TP_CONTROLE = 'L' {#10}
AND CP.ST_CONTROLE = 'S' {#10}
GROUP BY TC.TP_UNIDADE), 0)) {#10} ELSE (IP.QT_PEDIDA - COALESCE((
SELECT {#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN SUM(CP.QT_CONTROLE) ELSE SUM(CP.PS_CONTROLE) END {#10}
FROM CONTROLEPRODUCAO CP {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = CP.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
WHERE CP.CD_EMPRPEDIDO = IP.CD_EMPRESA {#10}
AND CP.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND CP.TP_PEDIDO = IP.TP_PEDIDO {#10}
AND CP.CD_ITEM = IP.CD_ITEM {#10}
AND CP.TP_CONTROLE = 'L' {#10}
AND CP.ST_CONTROLE = 'S' {#10}
GROUP BY TC.TP_UNIDADE), 0)) END SALDO_PEDIDO, {#10} I.CD_ITEM, {#10} I.DS_ITEM, {#10} CLI.CD_PESSOA CD_CLIENTE, {#10} CLI.NM_PESSOA NM_CLIENTE, {#10} MOT.CD_PESSOA CD_MOTORISTA, {#10} MOT.NM_PESSOA NM_MOTORISTA, {#10} RG.NR_PLACA {#10}
FROM PEDIDO P {#10}
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA {#10}
AND IP.NR_PEDIDO = P.NR_PEDIDO) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_ITEM) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = P.CD_EMPRESA) {#10}
INNER JOIN ITEMGRAO ITG ON (ITG.CD_ITEM = IP.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
LEFT JOIN ROMANEIOGRAO RG ON (RG.NR_PEDIDO = P.NR_PEDIDO) {#10}
INNER JOIN PESSOA CLI ON (CLI.CD_PESSOA = RG.CD_PESSOA) {#10}
LEFT JOIN PESSOA MOT ON (MOT.CD_PESSOA = RG.CD_MOTORISTA) {#10}
WHERE P.CD_EMPRESA = {Nulo}
tabPedido #3
SELECT {#10} R.CD_EMPRESA, {#10} E.NM_EMPRESA, {#10} R.NR_ROMANEIO NR_PEDIDO, {#10} CAST(R.DT_ENTRADA AS DATE) DT_PEDIDO, {#10} ITG.CD_PRODUTO||' - '||ITG.DS_PRODUTO DS_ITEMPRODUZIDO, {#10} I.FORMULACAO, {#10} COALESCE(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * COALESCE(I.PS_EMBALAGEM, 1), 0) QT_PEDIDA, {#10} I.SG_UNIDMED, {#10} I.PS_LIQUIDO QT_CONVERSAO, {#10} CAST(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) AS DOM_NUMERIC15_2) * CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QT_CONVERTIDA, {#10} COALESCE(I.NR_CO||'%', '0%') NR_CO, {#10} COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, {#10} COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, {#10} COALESCE(I.NR_P205||'%', '0%') NR_P205, {#10} COALESCE(I.NR_K2O||'%', '0%') NR_K2O, {#10} COALESCE(I.NR_UMMAX||'%', '0%') NR_UMMAX, {#10} I.DS_NATUREZAFISICA, {#10} I.DS_GRANULOMETRIA, {#10} CAST('R' AS DOM_CHAR1) TP_REL, {#10} CAST(0 AS NUMERIC(15, 3)) SALDO_PEDIDO, {#10} I.CD_ITEM, {#10} I.DS_ITEM, {#10} CLI.CD_PESSOA CD_CLIENTE, {#10} CLI.NM_PESSOA NM_CLIENTE, {#10} MOT.CD_PESSOA CD_MOTORISTA, {#10} MOT.NM_PESSOA NM_MOTORISTA, {#10} R.NR_PLACA {#10}
FROM ROMANEIOGRAO R {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = R.CD_EMPRESA) {#10}
INNER JOIN ITEMGRAO ITG ON (ITG.CD_PRODUTO = R.CD_PRODUTO) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = ITG.CD_ITEM) {#10}
LEFT JOIN ITEMPEDIDO IP ON (IP.CD_ITEM = I.CD_ITEM) {#10}
AND IP.NR_PEDIDO = -1 {#10}
INNER JOIN PESSOA CLI ON (CLI.CD_PESSOA = R.CD_PESSOA) {#10}
LEFT JOIN PESSOA MOT ON (MOT.CD_PESSOA = R.CD_MOTORISTA) {#10}
WHERE R.CD_EMPRESA = {Nulo}
Text #1
SELECT {#10} P.CD_EMPRESA, {#10} E.NM_EMPRESA, {#10} P.NR_PEDIDO, {#10} P.DT_PEDIDO, {#10} ITG.CD_PRODUTO||' - '||ITG.DS_PRODUTO DS_ITEMPRODUZIDO, {#10} I.FORMULACAO, {#10} COALESCE(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * COALESCE(I.PS_EMBALAGEM, 1), 0) QT_PEDIDA, {#10} I.SG_UNIDMED, {#10} I.PS_LIQUIDO QT_CONVERSAO, {#10} CAST(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) AS DOM_NUMERIC15_2) * CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QT_CONVERTIDA, {#10} COALESCE(I.NR_CO||'%', '0%') NR_CO, {#10} COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, {#10} COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, {#10} COALESCE(I.NR_P205||'%', '0%') NR_P205, {#10} COALESCE(I.NR_K2O||'%', '0%') NR_K2O, {#10} COALESCE(I.NR_UMMAX||'%', '0%') NR_UMMAX, {#10} I.DS_NATUREZAFISICA, {#10} I.DS_GRANULOMETRIA, {#10} CAST('P' AS DOM_CHAR1) TP_REL, {#10} CASE WHEN TP.TP_UNIDADE = 'P' THEN (IP.PS_PEDIDO - COALESCE((
SELECT {#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN SUM(CP.QT_CONTROLE) ELSE SUM(CP.PS_CONTROLE) END {#10}
FROM CONTROLEPRODUCAO CP {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = CP.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
WHERE CP.CD_EMPRPEDIDO = IP.CD_EMPRESA {#10}
AND CP.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND CP.TP_PEDIDO = IP.TP_PEDIDO {#10}
AND CP.CD_ITEM = IP.CD_ITEM {#10}
AND CP.TP_CONTROLE = 'L' {#10}
AND CP.ST_CONTROLE = 'S' {#10}
GROUP BY TC.TP_UNIDADE), 0)) {#10} ELSE (IP.QT_PEDIDA - COALESCE((
SELECT {#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN SUM(CP.QT_CONTROLE) ELSE SUM(CP.PS_CONTROLE) END {#10}
FROM CONTROLEPRODUCAO CP {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = CP.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
WHERE CP.CD_EMPRPEDIDO = IP.CD_EMPRESA {#10}
AND CP.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND CP.TP_PEDIDO = IP.TP_PEDIDO {#10}
AND CP.CD_ITEM = IP.CD_ITEM {#10}
AND CP.TP_CONTROLE = 'L' {#10}
AND CP.ST_CONTROLE = 'S' {#10}
GROUP BY TC.TP_UNIDADE), 0)) END SALDO_PEDIDO, {#10} I.CD_ITEM, {#10} I.DS_ITEM, {#10} CLI.CD_PESSOA CD_CLIENTE, {#10} CLI.NM_PESSOA NM_CLIENTE, {#10} MOT.CD_PESSOA CD_MOTORISTA, {#10} MOT.NM_PESSOA NM_MOTORISTA, {#10} RG.NR_PLACA {#10}
FROM PEDIDO P {#10}
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA {#10}
AND IP.NR_PEDIDO = P.NR_PEDIDO) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_ITEM) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = P.CD_EMPRESA) {#10}
INNER JOIN ITEMGRAO ITG ON (ITG.CD_ITEM = IP.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
LEFT JOIN ROMANEIOGRAO RG ON (RG.NR_PEDIDO = P.NR_PEDIDO) {#10}
INNER JOIN PESSOA CLI ON (CLI.CD_PESSOA = RG.CD_PESSOA) {#10}
LEFT JOIN PESSOA MOT ON (MOT.CD_PESSOA = RG.CD_MOTORISTA) {#10}
WHERE P.CD_EMPRESA = {Nulo(iParametros[1],}I{) + #10}
AND P.NR_PEDIDO = {Nulo(iParametros[2],}I{) + #10}
AND ITG.CD_PRODUTO = {Nulo(iParametros[6],}I{)}
Text #2
SELECT {#10} R.CD_EMPRESA, {#10} E.NM_EMPRESA, {#10} R.NR_ROMANEIO NR_PEDIDO, {#10} CAST(R.DT_ENTRADA AS DATE) DT_PEDIDO, {#10} ITG.CD_PRODUTO||' - '||ITG.DS_PRODUTO DS_ITEMPRODUZIDO, {#10} I.FORMULACAO, {#10} COALESCE(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * COALESCE(I.PS_EMBALAGEM, 1), 0) QT_PEDIDA, {#10} I.SG_UNIDMED, {#10} I.PS_LIQUIDO QT_CONVERSAO, {#10} CAST(COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) AS DOM_NUMERIC15_2) * CAST(I.PS_LIQUIDO AS DOM_NUMERIC15_2) QT_CONVERTIDA, {#10} COALESCE(I.NR_CO||'%', '0%') NR_CO, {#10} COALESCE(I.NR_CTC||'m.mol/kg', '0 m.mol/kg') NR_CTC, {#10} COALESCE(I.NR_TOTAL||'%', '0%') NR_TOTAL, {#10} COALESCE(I.NR_P205||'%', '0%') NR_P205, {#10} COALESCE(I.NR_K2O||'%', '0%') NR_K2O, {#10} COALESCE(I.NR_UMMAX||'%', '0%') NR_UMMAX, {#10} I.DS_NATUREZAFISICA, {#10} I.DS_GRANULOMETRIA, {#10} CAST('R' AS DOM_CHAR1) TP_REL, {#10} CAST(0 AS NUMERIC(15, 3)) SALDO_PEDIDO, {#10} I.CD_ITEM, {#10} I.DS_ITEM, {#10} CLI.CD_PESSOA CD_CLIENTE, {#10} CLI.NM_PESSOA NM_CLIENTE, {#10} MOT.CD_PESSOA CD_MOTORISTA, {#10} MOT.NM_PESSOA NM_MOTORISTA, {#10} R.NR_PLACA {#10}
FROM ROMANEIOGRAO R {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = R.CD_EMPRESA) {#10}
INNER JOIN ITEMGRAO ITG ON (ITG.CD_PRODUTO = R.CD_PRODUTO) {#10}
INNER JOIN ITEM I ON (I.CD_ITEM = ITG.CD_ITEM) {#10}
LEFT JOIN ITEMPEDIDO IP ON (IP.CD_ITEM = I.CD_ITEM) {#10}
AND IP.NR_PEDIDO = -1 {#10}
INNER JOIN PESSOA CLI ON (CLI.CD_PESSOA = R.CD_PESSOA) {#10}
LEFT JOIN PESSOA MOT ON (MOT.CD_PESSOA = R.CD_MOTORISTA) {#10}
WHERE R.CD_EMPRESA = {Nulo(iParametros[1],}I{) + #10}
AND R.NR_ROMANEIO = {Nulo(iParametros[7],}I{)}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONTROLEPRODUCAO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMGRAO | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_SALDOPEDIDO | referenciada nas queries do layout |
ROMANEIOGRAO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPS001/ULPS001.pas - DFM:
source/LPS001/ULPS001.dfm - Package:
source/LPS001/LPS001.dpk