Procurar
Últimos assuntos
Rotínas no RM de manipulação de material no estoque.
Página 1 de 1
Rotínas no RM de manipulação de material no estoque.
Rotínas no RM de manipulação de material no estoque.
Se voce usa o RM Núcleus para armazenar notas fiscais e ordens de saída, devolução e entrada de material, eu uso muito estas sentenças aqui para levantar os dados do estoque periódicamente:
/*
VALOR DO ESTOQUE NO ULTIMO DIA DO MÊS
*/
SELECT SUM (ISNULL(R.TOTALMOV,0)) as VALORESTOQUE
from TPRD as P
left outer join TPRDLOC as L ON (P.IDPRD = L.IDPRD)
left outer join TRELSLD as R ON (R.IDPRD = P.IDPRD)
AND R.SALDO = 2 AND R.CODLOC in ('1.001','1.017')
AND R.CODFILIAL = 18 AND R.CODLOC = L.CODLOC
AND R.CODFILIAL = L.CODFILIAL
AND R.DATAMOVIMENTO = (SELECT MAX(DATAMOVIMENTO) FROM TRELSLD A WHERE A.CODFILIAL = R.CODFILIAL
AND A.CODLOC = R.CODLOC AND A.IDPRD = R.IDPRD AND A.DATAMOVIMENTO <= '02/28/2008'
AND R.SALDO = A.SALDO)AND R.SEQUENCIAL = (SELECT MAX(SEQUENCIAL) FROM TRELSLD B
WHERE B.CODFILIAL = R.CODFILIAL AND B.CODLOC = R.CODLOC AND B.IDPRD = R.IDPRD
AND B.DATAMOVIMENTO = R.DATAMOVIMENTO)
WHERE P.CODTB1FAT = '0001'
AND P.CODCOLIGADA = 2
AND P.IDPRD = L.IDPRD
AND L.CODLOC in ('1.001','1.017')
AND L.CODFILIAL = 18
/*
VALOR DO MATERIAL MOVIMENTADO NO MES
*/
SELECT A.CODTMV, A.STATUS, A.SERIE, A.CODFILIAL, SUM(ISNULL(D.QUANTIDADE,0) * ISNULL(D.PRECOUNITARIO,0)) TOTAL
FROM TMOV A, TITMMOV D, TPRD B
WHERE A.CODCOLIGADA = 2 AND A.DATACANCELAMENTOMOV IS NULL
AND A.CODTMV IN ('2.1.05', '4.1.09')
AND A.DATAEMISSAO >= '02/01/2009' AND A.DATAEMISSAO <= '02/28/2009'
AND D.CODCOLIGADA = A.CODCOLIGADA
AND A.CODLOC in ('1.001','1.017')
AND D.IDMOV = A.IDMOV
AND D.CODCOLIGADA = B.CODCOLIGADA
AND D.IDPRD = B.IDPRD
--AND A.STATUS = 'A'
AND B.TIPO = 'P'
AND A.CODFILIAL = 18
GROUP BY A.CODTMV, A.STATUS, A.SERIE,A.CODFILIAL
/*
QUANTIDADE DE MATERIAIS ENTREGUES NO MES
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESNOMES
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= '2009/03/01'
AND M.DATASAIDA <= '2009/03/30'
/*
QUANTIDADE DE MATERIAIS ENTREGUES NO PRAZO MES
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESNOPRAZONOMES
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= I1.DATAENTREGA
AND I1.DATAENTREGA BETWEEN '06/01/2008' AND '06/30/2008'
/*
QUANTIDADE DE MATERIAIS EM ATRAZO
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESEMATRAZO
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= I1.DATAENTREGA
AND I1.DATAENTREGA BETWEEN '07/01/2008' AND '07/31/2008'
Se voce usa o RM Núcleus para armazenar notas fiscais e ordens de saída, devolução e entrada de material, eu uso muito estas sentenças aqui para levantar os dados do estoque periódicamente:
/*
VALOR DO ESTOQUE NO ULTIMO DIA DO MÊS
*/
SELECT SUM (ISNULL(R.TOTALMOV,0)) as VALORESTOQUE
from TPRD as P
left outer join TPRDLOC as L ON (P.IDPRD = L.IDPRD)
left outer join TRELSLD as R ON (R.IDPRD = P.IDPRD)
AND R.SALDO = 2 AND R.CODLOC in ('1.001','1.017')
AND R.CODFILIAL = 18 AND R.CODLOC = L.CODLOC
AND R.CODFILIAL = L.CODFILIAL
AND R.DATAMOVIMENTO = (SELECT MAX(DATAMOVIMENTO) FROM TRELSLD A WHERE A.CODFILIAL = R.CODFILIAL
AND A.CODLOC = R.CODLOC AND A.IDPRD = R.IDPRD AND A.DATAMOVIMENTO <= '02/28/2008'
AND R.SALDO = A.SALDO)AND R.SEQUENCIAL = (SELECT MAX(SEQUENCIAL) FROM TRELSLD B
WHERE B.CODFILIAL = R.CODFILIAL AND B.CODLOC = R.CODLOC AND B.IDPRD = R.IDPRD
AND B.DATAMOVIMENTO = R.DATAMOVIMENTO)
WHERE P.CODTB1FAT = '0001'
AND P.CODCOLIGADA = 2
AND P.IDPRD = L.IDPRD
AND L.CODLOC in ('1.001','1.017')
AND L.CODFILIAL = 18
/*
VALOR DO MATERIAL MOVIMENTADO NO MES
*/
SELECT A.CODTMV, A.STATUS, A.SERIE, A.CODFILIAL, SUM(ISNULL(D.QUANTIDADE,0) * ISNULL(D.PRECOUNITARIO,0)) TOTAL
FROM TMOV A, TITMMOV D, TPRD B
WHERE A.CODCOLIGADA = 2 AND A.DATACANCELAMENTOMOV IS NULL
AND A.CODTMV IN ('2.1.05', '4.1.09')
AND A.DATAEMISSAO >= '02/01/2009' AND A.DATAEMISSAO <= '02/28/2009'
AND D.CODCOLIGADA = A.CODCOLIGADA
AND A.CODLOC in ('1.001','1.017')
AND D.IDMOV = A.IDMOV
AND D.CODCOLIGADA = B.CODCOLIGADA
AND D.IDPRD = B.IDPRD
--AND A.STATUS = 'A'
AND B.TIPO = 'P'
AND A.CODFILIAL = 18
GROUP BY A.CODTMV, A.STATUS, A.SERIE,A.CODFILIAL
/*
QUANTIDADE DE MATERIAIS ENTREGUES NO MES
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESNOMES
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= '2009/03/01'
AND M.DATASAIDA <= '2009/03/30'
/*
QUANTIDADE DE MATERIAIS ENTREGUES NO PRAZO MES
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESNOPRAZONOMES
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= I1.DATAENTREGA
AND I1.DATAENTREGA BETWEEN '06/01/2008' AND '06/30/2008'
/*
QUANTIDADE DE MATERIAIS EM ATRAZO
*/
SELECT SUM(I.QUANTIDADE) AS MATERIAISENTREGUESEMATRAZO
FROM TMOV M
LEFT OUTER JOIN TITMMOV I ON I.IDMOV = M.IDMOV
LEFT OUTER JOIN TITMMOVRELAC R ON R.IDMOVDESTINO = I.IDMOV AND R.NSEQITMMOVDESTINO = I.NSEQITMMOV
LEFT OUTER JOIN TITMMOV I1 ON I1.IDMOV = R.IDMOVORIGEM AND I1.NSEQITMMOV = R.NSEQITMMOVORIGEM
LEFT OUTER JOIN TMOV O ON O.IDMOV = I1.IDMOV
WHERE M.CODFILIAL = 18 AND M.CODTMV = '1.2.01'
AND M.DATASAIDA >= I1.DATAENTREGA
AND I1.DATAENTREGA BETWEEN '07/01/2008' AND '07/31/2008'
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ter 20 Jun 2017 - 12:48 por paulo.ferreira_rj
» Instalar base DEMO
Sex 2 Jun 2017 - 6:29 por akaytatsu
» Relatorio Rm reports / Holerite salario
Ter 18 Out 2016 - 8:09 por Gárgio
» DEFAULT NO CADASTRO DE FUNCIONARIOS RM LABORE
Sex 7 Out 2016 - 21:51 por mpsbrasilia
» Duvida RM Labore - Calculo Folha de Pagamento
Seg 12 Set 2016 - 15:51 por RIVALDO PAES
» Exportar Imagem do banco de dados SQL SERVER
Qui 28 Jul 2016 - 11:42 por edivan
» Consulta SQL
Qui 10 Set 2015 - 11:32 por evertonerp
» Existe Algum Demo do RM Labore???
Sex 17 Abr 2015 - 11:53 por fmsolucoes
» RM BIBLIOS
Seg 16 Fev 2015 - 7:50 por fmsolucoes