Pular para o conteúdo principal

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​

TabelaUso
CONTROLEPRODUCAOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMGRAOreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_SALDOPEDIDOreferenciada nas queries do layout
ROMANEIOGRAOreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPS001/ULPS001.pas
  • DFM: source/LPS001/ULPS001.dfm
  • Package: source/LPS001/LPS001.dpk