LFP001 — Layout LFP001
Visão Geral
Layout de impressão da família LFP (Outros). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em CALCULA_VALOR, com junção em ITEM, ITEMPRODUCAO, VIEW_REQ016, filtrada por ST_PRODUCAO, TP_DESPESA, CD_EMPRESA, CD_ITEM, TP_PRODUCAO, NR_VERSAO.
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Cod Item
// 3 - Tp Producao
// 4 - Nr Versao
// 5 - Path Servidor
// 6 - Visualiza -> V ou Imprime -> I
// 8 - Quantidade a Simular
]);
SQL Base
iConsulta #1
SELECT I.DS_ITEM || ' - ' || P.CD_ITEM DS_ITEM, P.NR_VERSAO, COALESCE ({Nulo(iParametros[8],}F{)}, P.QT_MINPRODUCAO) QT_MINPRODUCAO, {#10} I.SG_UNIDMED, I.SG_UNIDALT SG_UNIDALTPA, COALESCE (:QT_SIMULACAO, P.QT_MINPRODUCAO) * I.PS_LIQUIDO QT_ALTPA, {#10} case P.TP_PRODUCAO {#10} when 'C' then 'Composição' {#10} else 'Decomposição' {#10} end TIPO, {#10} IP.CD_MATERIAPRIMA, T.DS_ITEM DS_MATERIAPRIMA, T.SG_UNIDMED UNIDADE, V.QT_PRODUCAO QT_PARTICIPACAO, {#10} T.SG_UNIDALT SG_UNIDALTMP, V.QT_PRODUCAO * T.PS_LIQUIDO QT_ALTMP, {#10} (
SELECT V_VL_TOTAL {#10}
FROM CALCULA_VALOR(IP.CD_MATERIAPRIMA, V.QT_PRODUCAO, V.QT_PRODUCAO, (
SELECT O_VL_CUSTO {#10}
FROM RETORNA_SALDOESTOQUE(IP.CD_EMPRESA, IP.CD_MATERIAPRIMA, IP.CD_TIPOLOCALORIGEM, IP.CD_LOCALORIGEM, null)), 'T')) VL_CUSTO, {#10} I.CD_ITEM || P.TP_PRODUCAO || P.NR_VERSAO DS_FICHA {#10}
FROM PRODUCAO P {#10}
INNER JOIN ITEM I on (P.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN ITEMPRODUCAO IP on (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.CD_ITEM = P.CD_ITEM
AND IP.TP_PRODUCAO = P.TP_PRODUCAO
AND IP.NR_VERSAO = P.NR_VERSAO) {#10}
INNER JOIN ITEM T on (IP.CD_MATERIAPRIMA = T.CD_ITEM) {#10}
LEFT JOIN view_req016(P.cd_empresa, NULL, NULL, '
AND P.cd_item = ' || P.cd_item, {Nulo(iParametros[8],}F{)}) V ON (V.CD_MATERIAPRIMA = IP.cd_materiaprima) {#10}
WHERE P.ST_PRODUCAO = 'V' {#10}
AND IP.TP_DESPESA = 'M' {#10}
AND P.CD_EMPRESA = {iParametros[1] + #10}
AND P.CD_ITEM = {iParametros[2] + #10}
AND P.TP_PRODUCAO = {Nulo(iParametros[3],}S{) + #10}
AND P.NR_VERSAO = {iParametros[4] + #10}
ORDER BY I.DS_ITEM || ' - ' || P.CD_ITEM, P.TP_PRODUCAO, P.NR_VERSAO, T.DS_ITEM
iConsulta #2
SELECT {#10} I.DS_ITEM || ' - ' || P.CD_ITEM DS_ITEM, P.NR_VERSAO, P.QT_MINPRODUCAO, {#10} I.SG_UNIDMED, I.SG_UNIDALT SG_UNIDALTPA, P.QT_MINPRODUCAO * I.PS_LIQUIDO QT_ALTPA, {#10} CASE P.TP_PRODUCAO {#10} WHEN 'C' THEN 'COMPOSIÇÃO' {#10} ELSE 'DECOMPOSIÇÃO' {#10} END TIPO, {#10} IP.CD_MATERIAPRIMA, T.DS_ITEM DS_MATERIAPRIMA, T.SG_UNIDMED UNIDADE, IP.QT_PARTICIPACAO, {#10} T.SG_UNIDALT SG_UNIDALTMP, IP.QT_PARTICIPACAO * T.PS_LIQUIDO QT_ALTMP, {#10} (
SELECT V_VL_TOTAL {#10}
FROM CALCULA_VALOR(IP.CD_MATERIAPRIMA, IP.QT_PARTICIPACAO, IP.QT_PARTICIPACAO, {#10} (
SELECT ES.O_VL_CUSTO
FROM RETORNA_SALDOESTOQUE(IP.CD_EMPRESA, IP.CD_MATERIAPRIMA, IP.CD_TIPOLOCALORIGEM, IP.CD_LOCALORIGEM, NULL) ES) {#10} , 'T')) VL_CUSTO, {#10} I.CD_ITEM || P.TP_PRODUCAO || P.NR_VERSAO DS_FICHA {#10}
FROM PRODUCAO P {#10}
INNER JOIN ITEM I ON (P.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN ITEMPRODUCAO IP ON (IP.CD_EMPRESA = P.CD_EMPRESA {#10}
AND IP.CD_ITEM = P.CD_ITEM {#10}
AND IP.TP_PRODUCAO = P.TP_PRODUCAO {#10}
AND IP.NR_VERSAO = P.NR_VERSAO) {#10}
INNER JOIN ITEM T ON (IP.CD_MATERIAPRIMA = T.CD_ITEM) {#10}
WHERE P.ST_PRODUCAO = 'V' {#10}
AND IP.TP_DESPESA = 'M' {#10}
AND P.CD_EMPRESA = {iParametros[1]}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_VALOR | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPRODUCAO | referenciada nas queries do layout |
PRODUCAO | referenciada nas queries do layout |
RETORNA_SALDOESTOQUE | referenciada nas queries do layout |
| [[VIEW_REQ016]] | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LFP001/ULFP001.pas - DFM:
source/LFP001/ULFP001.dfm - Package:
source/LFP001/LFP001.dpk