Exibir código-fonte para Manual Técnico - Novo Estoque
Ir para:
navegação
,
pesquisa
== '''Manual Técnico – Novo Estoque''' == A partir da versão 20120427, todos os lançamentos de Previsões (Entrada, Saída, Produto) e Estoque (Estoque, Est, Consignado, Beneficiamento, Lote) são realizados na tabela MOVIMENTACAO e não mais nas tabelas MOVTO. === '''Tabela MOVIMENTACAO''' === {| border=1 width="60%" !Campo !Tipo !Descrição |- |ID_MOVIMENTACAO |BIGINT |Sequencial único da tabela |- |PROCODIGO |CHAR(14) |Código do produto |- |QUANTIDADE |NUMERIC(15,6) |Quantidade movimentada |- |TIPO |CHAR(1) |Tipo de lançamento. C- Crédito, D – Débito. |- |DATA |DATE |Data da movimentação |- |EMPCODIGO |SMALLINT |Código da empresa |- |CLICODIGO |INTEGER |Código do cliente |- |ORIGEM |VARCHAR(4) |Origem do lançamento. Identifica qual coluna será atualizada (Previsão de Saída, Estoque, etc.). |- |DOCTO_ORIGEM |BIGINT |Número do Documento |- |SERIE_DOCTO_ORIGEM |VARCHAR(6) |Série do Documento |- |DATA_DOCTO_ORIGEM |TIMESTAMP |Data do Documento |- |SEQ_PRODUTO |SMALLINT |Sequencial do produto (no Pedido, Nota, etc.). |- |LOTE |CHAR(9) |Número do lote do movimento |- |FISCODIGO |CHAR(7) |Código Fiscal do movimento |- |CHAVE |VARCHAR(25) |Identifica o campo chave do lançamento (ID_PEDIDO, NFECODIGO, etc.). |- |ALXCODIGO |INTEGER |Código da Célula do Produto |- |CUSTO |NUMERIC(15,6) |Custo da movimentação |- |CUSTOTOTAL |NUMERIC(15,6) |Custo total da movimentação |- |CUSTOREAL |NUMERIC(15,6) |Custo real da movimentação |- |UNCODIGO |CHAR(3) |Unidade da movimentação |- |UNITARIOLIQUIDO |NUMERIC(15,6) |Preço unitário líquido da movimentação. |- |DATAOPERACAO |DATE |Data em que foi realizada a operação |- |HORAOPERACAO |TIME |Hora em que foi realizada a movimentação |- |MOTIVO |VARCHAR(500) |Motivo do lançamento (Ex. Inserção do Produto no Pedido) |- |ORIGEM_LANCTO |CHAR(1) |Define a origem que fez a operação (Inclusão, Alteração) ou se são lançamentos que não interferem nas visões (X, S). |- |LCEST |CHAR(1) |Identifica se o movimento lança estoque ou não. (S ou N) |- |FISTPNATOP |VARCHAR(3) |Tipo da Natureza de Operação do movimento (R, RRB, etc.) |- |LC_ESTORNO |CHAR(1) |Identifica se é um lançamento de estorno para não considerar no Custo Médio (S ou NULL) |} Ao incluir, alterar ou excluir um Pedido de Clientes ou Fornecedores, Notas Fiscais de Entrada ou Saída, etc., existem triggers no banco de dados que irão realizar a inclusão de lançamentos na tabela MOVIMENTACAO. Ex.: Tabela PDPRD – Existe um trigger “TAIUD_PDPRD_MOVIMENTACAO”. Ao entrar um registro nessa tabela, esse trigger dispara a procedure “LANCAESTOQUE” com a origem “PS” (Previsão de Saída). Dentro da procedure “LANCAESTOQUE” de acordo com a origem que foi mandada pelo trigger, o sistema irá identificar qual procedure deverá chamar para popular a tabela MOVIMENTACAO. Portanto, para a origem “PS”, será chamada a procedure “LANCAESTSAIDA”. ==== '''Tabelas que possuem as triggers do Novo Estoque''' ==== *CPPRD - TAIUD_CPPRD_MOVIMENTACAO *CUPOM - TAU_CUPOM_MOVIMENTACAO *NFEPRO - TAIUD_NFEPRO_MOVIMENTACAO *NFPRO - TAIUD_NFPRO_MOVIMENTACAO, TAIU_NFPRO_MOVIMENTACAO_PDCAO, TD_NFPRO_MOVIMENTACAO_PDCAO *NOTAE - TAU_NOTAE_MOVIMENTACAO *NOTAS - TAU_NOTAS_MOVIMENTACAO, TAU_NOTAS_MOVIMENTACAO_PDCAO *PDCAO - TAI_PDCAO_MOVIMENTACAO, TAU_PDCAO_MOVIMENTACAO, TD_PDCAO_MOVIMENTACAO *PDPRD - TAIUD_PDPRD_MOVIMENTACAO, TAIUD_PDPRD_PRESEP_MOVIMENTACAO *PEDID - TAU_PEDID_MOVIMENTACAO *PEDFO - TAU_PEDFO_ENTCONF_MOVIMENTACAO, TAU_PEDFO_MOVIMENTACAO *PFPRO - TAIUD_PFPRO_MOVIMENTACAO *REQPRO - TAIUD_REQPRO_MOVIMENTACAO, TAIUD_REQP_PRESEP_MOVIMENTACAO *TREMPPRO - TAIUD_TREMPPRO_MOVIMENTACAO ==== '''Campo ORIGEM''' ==== {| border=1 width="60%" !Origem !Descrição !Coluna do PREMP !Procedure |- |PS |Previsão de Saída |PREPRVSAIDA |LANCAPRVSAIDA |- |PE |Previsão de Entrada |PREPRVENTRADA |LANCAPRVENTRADA |- |EC |Entrada Confirmada |PREQTDENT |LANCAENTRADACONF |- |NS |Nota de Saída |PREESTOQUE |LANCAESTSAIDA |- |NE |Nota de Entrada |PREESTOQUE |LANCAESTENTRADA |- |RQ |Requisição de Materiais |PREESTOQUE |LANCAESTREQUI |- |EP |Entrada da Produção |PREESTOQUE |LANCAESTPDCAO |- |PP |Previsão de Produto |PREPRVPDC |LANCAPRVPDCAO |- |SPP |Estoque Separado do Pedido |PRESEP |LANCAESTSEPARADOPEDIDO |- |SPR |Estoque Separado da Requisição |PRESEP |LANCAESTSEPARADOREQUI |- |TE |Transferência entre Empresas |PREESTOQUE |LANCATRANSFEMP |- |PB |Pedido de Clientes Baixado |PREEST |LANCAESTSAIDAP |- |EB |Pedido de Fornecedores Baixados |PREEST |LANCAESTENTRADAP |} De acordo com a tabela acima, ao entrar um lançamento na tabela MOVIMENTACAO com a origem “PS”, o trigger TAI_MOVIMENTACAO irá realizar um UPDATE na tabela “PREVISAO_SAIDA”, atualizando o campo “PREPRVSAIDA”. Caso o TIPO do lançamento for “C” (Crédito), a trigger irá fazer um crédito no valor da coluna. Caso o TIPO do lançamento for “D” (Débito), a trigger irá fazer um débito no valor da coluna. Essa regra vale para todos os tipos de lançamentos listados na tabela acima. ==== '''Tabela PREMP VIEW''' ==== Foi necessário também alterar a forma que a VIEW PREMP funciona. Para todos os campos de Previsões e Estoque, foram criadas novas tabelas que irão armazenar o valor de estoque ou previsão de cada produto. {| border=1 width="60%" !Origem !Tabela !Coluna |- |Previsão de Saída |PREVISAO_SAIDA |PREPRVSAIDA |- |Previsão de Entrada |PREVISAO_ENTRADA |PREPRVENTRADA |- |Entrada Confirmada |ENTR_CONFIRMADA |PREQTDENT |- |Nota de Saída |ESTOQUE |PREESTOQ, PREESTCONSIG, PREESTCONSIGCLI, PREESTBENEFCLIEN, PREESTBENEFFON |- |Pedido de Clientes Baixado |ESTOQUE |PREEST |- |Nota de Entrada |ESTOQUE |PREESTOQ, PREESTCONSIG, PREESTCONSIGCLI, PREESTBENEFCLIEN, PREESTBENEFFON |- |Pedido de Fornecedor Baixado |ESTOQUE |PREEST |- |Requisição de Materiais |ESTOQUE |PREESTOQ |- |Previsão de Produção |PREVISAO_PDC |PREPRVPDC |- |Entrada da Produção |ESTOQUE |PREESTOQ |- |Transferência entre Empresas |ESTOQUE |PREESTOQ |} Para esses campos da tabela acima, ao invés da VIEW PREMP olhar os campos da tabela PREMP_CAMPOS ou PREMP_INTERNA, a VIEW passará a olhar o valor dessas novas tabelas. Obs.: Ao realizar um UPDATE no PREMP para algum desses campos, não irá acontecer nada mais, pois foi removida da trigger TAU_PREMP a codificação que fazia UPDATE nas tabelas PREMP_CAMPOS e PREMP_INTERNA para esses campos. Ou seja, caso algum usuário faça um UPDATE na tabela PREMP atualizando o campo “PREESTOQUE”, o valor do registro não será atualizado. Só é possível atualizar os valores fazendo o UPDATE diretamente nas tabelas listadas acima. ==== '''Campo FISTPNATOP''' ==== Para lançamentos de origem “NE” (Nota de Entrada) e “NS” (Nota de Saída), o campo FISTPNATOP, também indica qual campo que deverá ser atualizado na tabela ESTOQUE. Isso acontece, pois os lançamentos de Consignado e Beneficiamento de Clientes e Fornecedores também são lançados na tabela MOVIMENTACAO como lançamentos de origem “NE” ou “NS”, porém os mesmo não devem atualizar a coluna PREESTOQ, e sim a coluna referente para cada tipo de lançamento. {| border=1 width="60%" !Origem !FISTPNATOP !Descrição !Campo da tabela ESTOQUE a ser atualizado |- |NS |REC |Remessa de Entrada de Consignado |PREESTCONSIG |- |NS |RC |Remessa de Consignação |PREESTCONSIGCLI |- |NS |REB |Remessa de Entrada de Beneficiamento |PREESTBENEFCLIEN |- |NS |RB |Remessa de Beneficiamento |PREESTBENEFFON |- |NE |EC |Entrada de Consignação |PREESTCONSIG |- |NE |RRC |Remessa de Retorno de Consignação |PREESTCONSIGCLI |- |NE |EB |Entrada de Beneficiamento |PREESTBENEFCLIEN |- |NE |RRB |Remessa de Retorno de Beneficiamento |PREESTBENEFFON |- |NS/NE |Diferente das acima |(sem descrição) |PREESTOQ |} ==== '''Campo LOTE''' ==== Toda vez que for inserido na tabela MOVIMENTACAO um registro que possui Número de Lote informado, o trigger TAI_MOVIMENTACAO é realiza um UPDATE na tabela PRLOTE atualizando a quantidade do lote informado com o saldo movimentado do produto (Crédito ou Débito). ==== '''Campo ORIGEM_LANCTO''' ==== O campo ORIGEM_LANCTO, serve para identificar que rotina do sistema disparou determinado lançamento. Por exemplo, na inclusão de um Pedido de Clientes, o sistema irá preencher o campo ORIGEM_LANCTO com o valor “I”, de Inclusão. {| border=1 width="60%" !Origem !Descrição |- |A |Alteração do Registro |- |B |Baixa de Pedido |- |C |Cancelamento de Pedido/Nota/etc. |- |D |Notas Fiscais Digitadas |- |E |Exclusão do Registro |- |F |Faturamento de Pedido |- |I |Inclusão do Registro |- |L |Notas de Efeito Contábil |- |O |Notas Fiscais de Orçamentos |- |S |Lançamento interno de separação. Desconsidera nas Visões Gaveta/Venda |- |X |Lançamento interno. Desconsiderado na Visão Saldo para Venda |} Os lançamentos com ORIGEM_LANCTO do tipo “S” e “X” são de controle interno do sistema. Os mesmos existem quando são realizados estornos de colunas e esse lançamento não deveria ser considerado em determinada Visão de Estoque do SGO (Por exemplo, no faturamento de um pedido o sistema faz o estorno da Previsão de Saída e logo após isso faz a Saída do Estoque. Esse estorno e a Saída de Estoque têm o seu campo ORIGEM_LANCTO marcado como “X”, pois não deverão ser considerados na Visão de Estoque de Saldo de Venda). Os registros da tabela MOVIMENTACAO com ORIGEM_LANCTO do tipo “S” não são mostrados nas Visões de Estoque do tipo Gaveta e Saldo de Venda, enquanto os registros com ORIGEM_LANCTO do tipo “X” não são mostrados na Visão de Estoque de Saldo para Venda. Existe um tratamento interno dentro de todas as triggers para saber quando realizar o INSERT das movimentações com a origem correta, de acordo com os valores enviados pelo SGO. ==== '''Campo LC_ESTORNO''' ==== O campo LC_ESTORNO é utilizado para marcar quais lançamentos não deverão ser considerados na “Apuração do Custo Médio”. Por exemplo, ao realizar uma Nota de Entrada para o produto X, com quantidade 1.00 e depois alterar essa nota, trocando a quantidade para 2.00, dentro da procedure LANCAESTENTRADA é realizado um SELECT que irá encontrar o lançamento com quantidade 1.00 na tabela MOVIMENTACAO, e irá marcar o campo LC_ESTORNO do mesmo como “S”, pois apenas o novo lançamento com quantidade 2.00 é que deverá ser considerado na “Apuração do Custo Médio”. === '''Procedure APURARSALDO''' === A procedure APURARSALDO é utilizada nos relatórios de estoque que apuram estoque retroativo e também no VerEstoque. Hoje dentro da implementação do SGO e no VerEstoque, o sistema continua chamando as procedures antigas (Para apurar a Previsão de Saída de um determinado produto, é executada a procedure APURAPRVSAIDA, por exemplo), porém essas procedures antigas foram alteradas para dentro delas chamar a procedure APURARCUSTO. Procedures antigas que chamam a procedure APURARSALDO: *APURAEST *APURAESTBENEFCLI *APURAESTBENEFFON *APURAESTCONSIG *APURAESTCONSIGCLI *APURAESTOQUE *APURAFISICO *APURAPRVENTRA *APURAPRVSAIDA *APURALSALDOEST *APURASALDOESTCONSIG *APURASALDOESTOQUE *APURASALDOFISICO *APURASALDOPRVPDC *PRVSAIDAPF *PRVSAIDAPD Chamada da procedure: ''EXECUTE PROCEDURE APURARSALDO(iEmpre, sEmpre, sProdu, dData, somaChave, sOrigem)'' Descrição dos parâmetros {| border=1 width="60%" !Nome !Tipo !Utilização |- |iEmpre |SMALLINT |Identifica o código da empresa que será apurado o estoque. Somente para telas que tenham apenas UM CAMPO para Empresa. Ex: VerEstoque sEmpre VARCHAR(500) Identifica o código das empresas que será realizada a apuração de Estoque. O valor deve ser passado entre “[ ]”. Ex: [1] para somente a empresa 1; [1][2] para empresas 1 e 2. Válido para telas que possuem a opção de escolher várias empresas para apurar o estoque. Ex: Listagem de Estoque, Inventário, etc. |- |sProdu |CHAR(14) |Código do Produto |- |dData |TIMESTAMP |Data que será realizada a apuração do Saldo |- |somaChave |VARCHAR(4) |S – Se vai considerar a movimentação pelo produto chave, N – Se irá apurar apenas a movimentação do item |- |sOrigem |CHAR(4) |Tipo de Saldo ou Coluna será apurado, preenchida de acordo com a tabela abaixo. |} Origens utilizadas na procedure {| border=1 width="60%" !Origem !Descrição !Observação |- |EQ |Estoque (Contábil) |Apuração das movimentações da coluna “PREESTOQUE” |- |EST |Estoque (Est) |Apuração das movimentações da coluna “PREEST” |- |PEC |Previsão de Entrada |Apuração das movimentações da Previsão de Entrada |- |PSC |Previsão de Saída |Apuração das movimentações da Previsão de Saída |- |EC |Entrada Confirmada |Apuração das movimentações de Entrada Confirmada |- |BC |Beneficiamento de Clientes |Apuração das movimentações de Estoque de Beneficiamento de Clientes |- |BF |Beneficiamento de Fornecedores |Apuração das movimentações de Estoque de Beneficiamento de Fornecedores |- |CC |Consignado de Clientes |Apuração das movimentações de Estoque de Consignado de Clientes |- |CF |Consignado de Fornecedores |Apuração das movimentações de Estoque de Consignado de Fornecedores |- |PP |Previsão de Produção |Apuração das movimentações de Previsão de Produção |- |SP |Separado |Apuração das movimentações do Separado |- |GV |Saldo de Gaveta |Apura o saldo de gaveta do Produto. Cálculo realizado: (EQ + EST + EC + BC + BF + CC + CF) – (SP) |- |SC |Saldo Comercial |Apura o saldo comercial do Produto. Cálculo realizado: (EQ + EST + EC + BC + BF + CC + CF) – (PSC + PP) |} Internamente, de acordo com a origem, a procedure APURARSALDO chama outras três procedures, de acordo com a origem passada: {| border=1 width="60%" !Origem !Procedure !Observação |- |GV |APURARSALDOGAVETA |Internamente chama várias vezes a procedure APURARSALDOCAMPOS passando as origens necessárias para apurar o saldo de gaveta (EQ + EST + EC + BC + BF + CC + CF) – (SP). |- |SC |APURARSALDOCOMERCIAL |Internamente chama várias vezes a procedure APURARSALDOCAMPOS passando as origens necessárias para apurar o saldo de gaveta (EQ + EST + EC + BC + BF + CC + CF) – (PSC + PP). |- |Outras Origens |APURARSALDOCAMPOS |Apura a movimentação de acordo com a origem passada (EQ, EST, PEC, PSC, EC, BC, BF, CC, CF, PP, SP). |} === '''Procedures APURACUSTOMEDIO_ESTOQUE_NOVO e APURACUSTOMEDIO_OUTROS''' === Para a apuração do Custo Médio, foi realizada a criação de duas novas procedures. Essas procedures funcionam praticamente da mesma forma que as antigas, com a diferença que busca os valores a serem apurados na tabela MOVIMENTACAO, ao invés da tabela MOVTO. Para a apuração do custo, somente são considerados os lançamentos que estiverem com o campo “LC_ESTORNO” diferente de “S” (de acordo com o que foi explicado no exemplo do campo LC_ESTORNO). Assim como a procedure APURARSALDO, no SGO e aplicativos que usem a apuração do Custo Médio, foi mantida a chamada das procedures antigas, porém essas procedures antigas foram alteradas para dentro delas chamar a procedure APURACUSTOMEDIO_ESTOQUE_NOVO ou a procedure APURACUSTOMEDIO_OUTROS. Procedures antigas que chamam a procedure APURACUSTOMEDIO_ESTOQUE_NOVO: *APURACUSTOMEDIO *APURACUSTOMEDIOEST *APURACUSTOMEDIOESTOQUE Procedures antigas que chamam a procedure APURACUSTOMEDIO_OUTROS: *APURACUSTOMEDIOESTBENEFCLI *APURACUSTOMEDIOESTBENEFFON *APURACUSTOMEDIOESTCONSIG *APURACUSTOMEDIOESTCONSIGCLI A diferença entre as duas procedures, é que a procedure APURACUSTOMEDIO_OUTROS possui um parâmetro a mais (sFisTpNatOp), para saber de quais tipos de Natureza de Operação deve ser apurado o Custo. Utilizada para as movimentações de Beneficiamento e Consignação. Chamada da procedure APURACUSTOMEDIO_ESTOQUE_NOVO: ''EXECUTE PROCEDURE APURACUSTOMEDIO_ESTOQUE_NOVO (sEmpre, nEmpreCusto, sProdu, dData, somaChave, sOrigens)'' Descrição dos parâmetros da procedure APURACUSTOMEDIO_ESTOQUE_NOVO {| border=1 width="60%" !Nome !Tipo !Utilização |- |sEmpre |CHAR(500) |Identifica o código das empresas que será realizada a apuração de Estoque. O valor deve ser passado entre “[ ]”. Ex: [1] para somente a empresa 1; [1][2] para empresas 1 e 2. |- |nEmpreCusto |SMALLINT |Empresa em que será buscado o Custo do Produto |- |sProdu |CHAR(14) |Código do Produto |- |dData |TIMESTAMP |Data que será realizada a apuração do Custo Médio |- |somaChave |CHAR(1) |S – Se vai considerar a movimentação pelo produto chave, N – Se irá apurar apenas a movimentação do item |- |sOrigens |CHAR(500) |Origens que será realizada a Apuração do Custo Médio |} Origens utilizadas na procedure: {| border=1 width="60%" !Origens !Descrição !Observação |- |[NS][NE][RQ][TE][PB][EB] |Estoque Físico |Apura o Custo Médio considerando movimentações de Notas Fiscais, Pedidos Baixados, Requisições e Transferências entre Empresas. |- |[PB][EB] |Estoque (Est) |Apura o Custo Médio considerando movimentações de Pedidos Baixados |- |[NS][NE][RQ][TE] |Estoque (Contábil) |Apura o Custo Médio considerando movimentações de Notas Fiscais, Requisições e Transferências entre Empresas. |} Chamada da procedure APURACUSTOMEDIO_OUTROS: ''EXECUTE PROCEDURE APURACUSTOMEDIO_OUTROS (sEmpre, nEmpreCusto, sProdu, dData, somaChave, sOrigens, sFisTpNatOp)'' Descrição dos parâmetros da procedure APURACUSTOMEDIO_ESTOQUE_NOVO {| border=1 width="60%" !Nome !Tipo !Utilização |- |sEmpre |CHAR(500) |Identifica o código das empresas que será realizada a apuração de Estoque. O valor deve ser passado entre “[ ]”. Ex: [1] para somente a empresa 1; [1][2] para empresas 1 e 2. |- |nEmpreCusto |SMALLINT |Empresa em que será buscado o Custo do Produto |- |sProdu |CHAR(14) |Código do Produto |- |dData |TIMESTAMP |Data que será realizada a apuração do Custo Médio |- |somaChave |CHAR(1) |S – Se vai considerar a movimentação pelo produto chave, N – Se irá apurar apenas a movimentação do item |- |sOrigens |CHAR(500) |Origens que será realizada a Apuração do Custo Médio |- |sFisTpNatOp |CHAR(500) |Tipos da Natureza de Operação que serão consideradas para a Apuração do Custo Médio |} Origens utilizadas na procedure: {| border=1 width="60%" !Origens !Descrição !Observação |- |[NS][NE][RQ][TE][PB][EB] |Estoque Físico |Apura o Custo Médio considerando movimentações de Notas Fiscais, Pedidos Baixados, Requisições e Transferências entre Empresas. |- |[PB][EB] |Estoque (Est) |Apura o Custo Médio considerando movimentações de Pedidos Baixados |- |[NS][NE][RQ][TE] |Estoque (Contábil) |Apura o Custo Médio considerando movimentações de Notas Fiscais, Requisições e Transferências entre Empresas. |} === '''Integração Contábil MOVIMENTACAOCTB''' === A integração contábil que antes era feita na tabela MOVCTB, agora está sendo feita na tabela MOVIMENTACAOCTB. Na inserção do Novo Estoque, existe um INSERT que copia todos os valores da tabela MOVCTB e insere na tabela MOVIMENTACAOCTB, fazendo a referência com os lançamentos da tabela MOVIMENTACAO. A integração continua procedendo da mesma forma, quando existirem lançamentos de Requisição ou de Produção, o SGO irá fazer a integração contábil desses registros na tabela MOVIMENTACAOCTB.
Retornar para
Manual Técnico - Novo Estoque
.
Menu de navegação
Ferramentas pessoais
Criar conta
Autenticar-se
Espaços nominais
Página
Discussão
Variantes
Visualizações
Ler
Ver código-fonte
Ver histórico
Ações
Pesquisar
Navegação
Página principal
Mudanças recentes
Página aleatória
Ferramentas
Páginas afluentes
Alterações relacionadas
Páginas especiais
Informações da página