Precisando de Ajuda para obter saldo
Bom dia, A todos, Preciso criar um meio para que eu tenha um resultado de um saldo de um lote por exemplo
Tenho um produto que o Lote 100 tenho que ter Inventario +Entrada-Saida-Perdas = Saldo
Se o mesmo produto mudar o lote a mesma coisa tenho que ter,
Tenho a seguintes Tabelas
CREATE TABLE ITENS_SNGPC_ENTRADA (
COD_ENTRADA INTEGER NOT NULL,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
NOME_PRODUTO VARCHAR(100) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANT NUMERIC(15,2),
VALIDADE_LOTE DATE,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
USO_PROLONGADO VARCHAR(3) CHARACTER SET WIN1252,
TIPO_UNIDADE VARCHAR(20) CHARACTER SET WIN1252,
CLASSE_TERAPEUTICA VARCHAR(100) CHARACTER SET WIN1252
);
CREATE TABLE ITENS_SNGPC_SAIDA (
COD_SAIDA INTEGER NOT NULL,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
NOME_PRODUTO VARCHAR(100) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANT NUMERIC(15,2),
VALIDADE_LOTE DATE,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
USO_PROLONGADO VARCHAR(3) CHARACTER SET WIN1252,
TIPO_UNIDADE VARCHAR(20) CHARACTER SET WIN1252,
CLASSE_TERAPEUTICA VARCHAR(100) CHARACTER SET WIN1252,
DATA_REC_MEDICAMENTO DATE
);
CREATE TABLE SNGPC_INVENTARIO (
CODIGO INTEGER NOT NULL,
DATA_INVENTARIO DATE,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
NOME_PRODUTO VARCHAR(100) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANT NUMERIC(15,2),
VALIDADE_LOTE DATE,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
USO_PROLONGADO VARCHAR(3) CHARACTER SET WIN1252,
TIPO_UNIDADE VARCHAR(20) CHARACTER SET WIN1252,
CLASSE_TERAPEUTICA VARCHAR(100) CHARACTER SET WIN1252
);
CREATE TABLE SNGPC_PERDAS (
CODIGO INTEGER NOT NULL,
MOTIVO VARCHAR(100) CHARACTER SET WIN1252,
DATA_PERDA DATE,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANTIDADE NUMERIC(15,2),
UNIDADE_MEDIDA VARCHAR(20) CHARACTER SET WIN1252
);
Eu Preciso ter a soma das quantidades de Cadas Lote na ordem acima, tendo o valor de saldo
De ja agradesco a Ajuda
Firebird 2.5
Tenho um produto que o Lote 100 tenho que ter Inventario +Entrada-Saida-Perdas = Saldo
Se o mesmo produto mudar o lote a mesma coisa tenho que ter,
Tenho a seguintes Tabelas
CREATE TABLE ITENS_SNGPC_ENTRADA (
COD_ENTRADA INTEGER NOT NULL,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
NOME_PRODUTO VARCHAR(100) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANT NUMERIC(15,2),
VALIDADE_LOTE DATE,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
USO_PROLONGADO VARCHAR(3) CHARACTER SET WIN1252,
TIPO_UNIDADE VARCHAR(20) CHARACTER SET WIN1252,
CLASSE_TERAPEUTICA VARCHAR(100) CHARACTER SET WIN1252
);
CREATE TABLE ITENS_SNGPC_SAIDA (
COD_SAIDA INTEGER NOT NULL,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
NOME_PRODUTO VARCHAR(100) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANT NUMERIC(15,2),
VALIDADE_LOTE DATE,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
USO_PROLONGADO VARCHAR(3) CHARACTER SET WIN1252,
TIPO_UNIDADE VARCHAR(20) CHARACTER SET WIN1252,
CLASSE_TERAPEUTICA VARCHAR(100) CHARACTER SET WIN1252,
DATA_REC_MEDICAMENTO DATE
);
CREATE TABLE SNGPC_INVENTARIO (
CODIGO INTEGER NOT NULL,
DATA_INVENTARIO DATE,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
NOME_PRODUTO VARCHAR(100) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANT NUMERIC(15,2),
VALIDADE_LOTE DATE,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
USO_PROLONGADO VARCHAR(3) CHARACTER SET WIN1252,
TIPO_UNIDADE VARCHAR(20) CHARACTER SET WIN1252,
CLASSE_TERAPEUTICA VARCHAR(100) CHARACTER SET WIN1252
);
CREATE TABLE SNGPC_PERDAS (
CODIGO INTEGER NOT NULL,
MOTIVO VARCHAR(100) CHARACTER SET WIN1252,
DATA_PERDA DATE,
COD_BARRAS VARCHAR(14) CHARACTER SET WIN1252,
REGISTRO_MS VARCHAR(20) CHARACTER SET WIN1252,
NUMERO_LOTE VARCHAR(20) CHARACTER SET WIN1252,
QUANTIDADE NUMERIC(15,2),
UNIDADE_MEDIDA VARCHAR(20) CHARACTER SET WIN1252
);
Eu Preciso ter a soma das quantidades de Cadas Lote na ordem acima, tendo o valor de saldo
De ja agradesco a Ajuda
Firebird 2.5
Cayro Rodrigo
Curtidas 0
Respostas
Marcos P
14/04/2015
Cayro,
Seguinte... o problema de posts como esse teu é que a gente precisa entender a estrutura de dados, depois pensar nos registros que estarão lá, para, só então, tentar achar uma solução.
Nos ajude a te ajudar !
Vai no Fiddle, cria a estrutura de dados ( somente com as colunas relevantes ), insira uns registros de exemplo e avisa a gente...
Que partimos direto para a query...
Ok ?!?
Seguinte... o problema de posts como esse teu é que a gente precisa entender a estrutura de dados, depois pensar nos registros que estarão lá, para, só então, tentar achar uma solução.
Nos ajude a te ajudar !
Vai no Fiddle, cria a estrutura de dados ( somente com as colunas relevantes ), insira uns registros de exemplo e avisa a gente...
Que partimos direto para a query...
Ok ?!?
GOSTEI 0
Cayro Rodrigo
14/04/2015
Simples o que eu preciso, e que da tabela Inventario eu tenho a soma de quantidade de cada lote, com a tabela de Entrada, depois subtraia com a saida e perdas dando um saldo.
a pesquisa pode ter o codbarra, contando que se existir dois lotes com o mesmo cod barra eles fiquem el linhas separadas.
E isso que voce precisaria ?
a pesquisa pode ter o codbarra, contando que se existir dois lotes com o mesmo cod barra eles fiquem el linhas separadas.
E isso que voce precisaria ?
GOSTEI 0
Marcos P
14/04/2015
Não... preciso que você crie algumas ocorrências no Fiddler para testes.
Porque, pela sua descrição, trata-se apenas de uso de JOIN + GROUP BY ( eventualmente um UNION ), o que é muito genérico para eu lhe ajudar !
Mas, tudo bem, se for complicado para você fazer isso, vamos aguardar, quem sabe alguém com um poder de dedução maior que o meu, possa passar por aqui e dar algum palpite...
Porque, pela sua descrição, trata-se apenas de uso de JOIN + GROUP BY ( eventualmente um UNION ), o que é muito genérico para eu lhe ajudar !
Mas, tudo bem, se for complicado para você fazer isso, vamos aguardar, quem sabe alguém com um poder de dedução maior que o meu, possa passar por aqui e dar algum palpite...
GOSTEI 0