UC00100 - Ordem de Compras

De Wiki Java - Interno
Edição feita às 10h08min de 21 de fevereiro de 2014 por Daniel (disc | contribs)

Ir para: navegação, pesquisa

Conteúdo

Objetivo

  • Manter cadastro ordem de compras.

Atores

  • Usuário

Pré-requisitos

  • Considerar documento Padrões de desenvolvimento.
  • No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Ordem de compra. Este nome será utilizado para criar a página no Wiki.
  • Gerar log de criação, alteração e exclusão de OC´s.
  • Desenvolver no menu Utilitários uma rotina que permita ao usuário configurar envio de e-mail. Esta configuração será da filial e deverá ser desenvolvida de forma que possa ser reutilizada por usuário, vendedor, comprador e etc em suas respectivas rotinas.
  • Acrescentar no cadastro de comprador a configuração de envio de e-mail.

Resultado esperado

  • Gerar ordens de compra de produtos, serviços ou matérias primas.

Diagrama de classes

Compras.png

Fluxo de eventos

Fluxos principais

Fluxo 1: Usuário acessa Menu > Movimentos > Compras > Ordem de compra.

  • Sistema exibe a tela de pesquisa da rotina conforme RN02.


Fluxo 2: Usuário aciona o botão [Adicionar ordem de compra].

  • Sistema exibe a tela de manutenção da rotina conforme RN01.


Fluxo 3: Usuário informa o cabeçalho e itens da ordem de compra e aciona o botão [Salvar].

  • Sistema salva a ordem de compras gerando ou não previsão no contas a pagar de acordo com os parâmetros da rotina.

Fluxos alternativos

Fluxo 1: Usuário faz uma ordem de compras para um comprador que não possui informado em seu cadastro um limite pré-aprovado.

  • Sistema não valida o valor total dos itens antes de inseri-los no grid nem o total da ordem de compra no que diz respeito ao limite do comprador e segue normalmente o fluxo descrito neste documento.

Fluxo 2: Usuário faz uma ordem de compras para um comprador que possui limite informado em seu cadastro, mas com valores que sejam menores ou iguais ao limite do mesmo.

  • Sistema segue fluxo normal da ordem de compras conforme descrito neste documento.


Fluxo 3: Usuário consulta uma ordem de compra salva que gerou previsão de contas a pagar.

  • Na aba de cabeçalho, sistema exibe no canto superior direito uma mensagem informando que a OC em questão gerou previsão no contas a pagar.


Fluxo 4: Usuário altera a condição de pagamento em uma ordem de compra que gerou previsão no contas a pagar e salva novamente.

  • Sistema emite ao usuário a seguinte mensagem de confirmação: A previsão de contas a pagar gerada anteriormente será excluída e uma nova previsão será gerada. Deseja prosseguir?.
  • Caso usuário clique em sim, sistema exclui a previsão gerada anteriormente e gera uma nova previsão.
  • Caso usuário clique em não, a operação é abortada.


Fluxo 5: Usuário tem uma OC que gerou previsão no contas a pagar, desmarca o parâmetro que gera previsão ao salvar a OC, altera a condição de pagamento desta OC e aciona o botão [Salvar].

  • Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: Esta ordem de compra gerou previsão de contas a pagar e atualmente o parâmetro que gera previsão de contas a pagar ao salvar está desativado, portanto não será permitido salvar as alterações..

Fluxos de exceção

Fluxo 1: Usuário faz uma ordem de compra utilizando um comprador que possui informado em seu cadastro o campo Limite máximo para ordem de compras pré-aprovadas, e informando itens cujo valor total unitário ou da OC superam o limite pré-aprovado.

  • Caso valor unitário do item seja superior ao limite pré-aprovado, o sistema aborta a inclusão do mesmo no grid e emite ao usuário a seguinte mensagem de alerta: O valor total deste item é maior que o limite de compras do comprador utilizado, portanto não será possível adicioná-lo na ordem de compra.
  • Caso usuário esteja inserindo um item cujo total é menor que o limite do comprador, mas que se for inserido no grid e somado com um item já existente supera o limite, o sistema aborta a inclusão e emite a seguinte mensagem de alerta: A soma do total deste item com o total dos itens já inseridos no grid superam o limite de compras do comprador utilizado, portanto não será possível adicioná-lo na ordem de compra.

Regras de negócio

RN01 - Descrição dos campos e funcionalidades da tela (de manutenção)

Cabeçalho

  1. Nº Ordem de compra: Campo somente leitura que exibirá o número da ordem de compra, que será gerado automaticamente pelo sistema.
  2. Data de emissão: Campo onde deverá ser informada, obrigatoriamente, a data de emissão da ordem de compra. Por padrão, este campo será automaticamente preenchido com a data de login.
  3. Comprador: Campo onde serão listados os compradores cadastrados no sistema, para que o usuário selecione um único comprador para OC. Este campo irá dispor de um atalho para o cadastro de compradores, caso o comprador desejado ainda não esteja cadastrado.
  4. Fornecedor: Campo onde deverá ser informado o fornecedor dos itens que farão parte da OC. Este campo também irá dispor de um atalho para o cadastro de fornecedores.
  5. Contato: Conjunto de campos somente leitura que irão listar os dados do contato do fornecedor que está marcado como Representante comercial em seu cadastro. Os campos com os dados do contato serão os seguintes:
    • Contato (ou nome)
    • Telefone
    • Celular
    • E-mail
  6. Observação: Campo onde o usuário poderá inserir observações sobre a OC. Por padrão este campo virá sempre preenchido com o seguinte texto: Sr(a) vendedor(a), favor incluir na nota fiscal o número desta ordem de compra, tanto no XML (tag nItemPed) quanto nas observações da nota.
  7. Data de entrega: Caso nos parâmetros de ordem de compra o sistema esteja configurado para utilizar data de entrega no cabeçalho, este campo será visível e de preenchimento obrigatório. Caso contrário este campo não ficará visível.
  8. Condição de pagamento: Campo onde deverá ser informada qual condição de pagamento (dentre as cadastradas no sistema) será utilizada na OC. Para ordem de compras, o recurso de parcelas avulsas/manuais não estará disponível.
  9. Transportadora: Campo onde poderá ser informada uma transportadora a ser utilizada na OC. Este campo terá um atalho para o cadastro de transportadoras, caso usuário necessite cadastrar uma nova antes de gerar a OC.
  10. Tipo de frete: Quando uma transportadora for informada, este campo será habilitado para que o usuário escolha um dos tipos de frete abaixo:
    • Emitente: O frete será pago pelo emissor da nota fiscal de venda.
    • Destinatário: O frete será pago pelo destinatário da nota fiscal de venda.
  11. Condição de pagamento (do frete): Campo onde o usuário deverá selecionar dentre as cadastradas, uma condição de pagamento para o frete. Não será permitido informar parcelas avulsas/manuais.
  12. Valor: Campo onde o usuário poderá informar o valor do frete.
  13. Encargos: Campo onde o usuário poderá informar o valor de encargos que venham a acrescentar no valor do frete.
  14. Desconto: Campo onde o usuário poderá informar um valor de desconto para o frete.
  15. Observações: Campo onde o usuário poderá informar observações referentes ao frete.
  16. Botão [Inserir itens]: Navega para aba itens.
  17. Botão [Cancelar]: Aborta a operação atual e retorna à tela de pesquisa da rotina em questão.

Itens

  1. Item: Campo onde o usuário poderá informar o produto, matéria prima ou serviço que fará parte da OC.
  2. Ref. Fabricante: Após o item ser informado, este campo será automaticamente preenchido com a referência de fabricante do cadastro do mesmo. Este campo é somente leitura.
  3. Grade: Caso o item informado controle grade, este campo será habilitado para que o usuário selecione, obrigatoriamente, uma grade. Caso o item não controle grade este campo ficará desabilitado e terá selecionado a opção GRADE PADRÃO.
  4. Unidade: Após o item ser informado este campo será automaticamente preenchido com a unidade padrão informada no cadastro do mesmo. Se desejar, o usuário poderá escolher uma outra unidade (de entrada) informada no cadastro do item. Caso o item seja um serviço, este campo ficará vazio e desabilitado.
  5. Quantidade: Campo onde o usuário deverá informar a quantidade do item.
  6. Valor unitário: Campo onde o usuário deverá informar o preço unitário (de compra) do item.
  7. Desconto %: Campo onde o usuário poderá informar um desconto percentual sobre o preço do item. Após este campo ser informado, com base no valor unitário o sistema calculará automaticamente o desconto em valor e preencherá o respectivo campo.
  8. Desconto R$: Campo onde o usuário poderá informar um desconto em valor sobre o preço do item. Após este campo ser informado, com base no valor unitário o sistema calculará automaticamente o desconto em percentual e preencherá o respectivo campo.
  9. Data de entrega: Caso nos parâmetros de ordem de compra o sistema esteja configurado para exibir data de entrega nos itens, este campo será visível para que o usuário o informe. Caso contrário este campo não será visível.
  10. Valor total: Campo somente leitura que informará o total do item (valor * quantidade - desconto).
  11. Botão [Adicionar]: Quando acionado verifica se os dados obrigatórios do item foram informados e o inclui no grid.
  12. Botão [Limpar]: Quando acionado limpa todos os campos referentes ao item.
  13. Grid: Exibe os itens já inclusos na OC com as seguintes informações:
    • ITEM: Código do item.
    • DESCRIÇÃO: Descrição do item.
    • TIPO: Informa se é produto, serviço ou matéria prima.
    • REFERÊNCIA FAB.: Informa referência de fabricante do item.
    • GRADE: Informa a grade do item.
    • UNIDADE: Informa a unidade (padrão ou de entrada) selecionada para o item.
    • QUANTIDADE: Informa a quantidade do item.
    • VLR. UNIT.: Informa o preço (de compra) unitário do item.
    • VALOR TOTAL: Informa o valor total do item.
    • DATA ENTREGA: Informa a data de entrega do item, seja ela informada no cabeçalho da OC ou no próprio item. Caso tenha sido informada no cabeçalho, todos os itens terão a mesma data de entrega.
  14. Botão [Salvar]: Salva a ordem de compras.
  15. Botão [Cancelar]: Cancela a operação atual e retorna à tela de pesquisa da rotina em questão.

RN02 - Descrição dos campos e funcionalidades da tela (de pesquisa)

A tela de pesquisa da ordem de compras terá no canto superior direito a aba de filtragem dos dados com os seguintes filtros:

  • Nº OC: Campo onde o usuário poderá informar diretamente o número de uma determinada OC.
  • Comprador: Campo onde serão listados os compradores cadastrados, para que o usuário filtre todas as OC´s emitidas por um determinado comprador.
  • Fornecedor: Campo onde o usuário poderá informar um fornecedor para filtrar as OC´s emitidas para o mesmo.
  • Emissão: Campo onde o usuário poderá informar um período (inicial e final) para filtrar OC´s pela sua data de emissão.


No canto superior esquerdo estarão disponíveis os botões:

  • Botão [Adicionar ordem de compra]: Acessa a tela de manutenção da rotina em modo de inclusão.
  • Botão [Parâmetros]: Visível somente para usuários com acesso total ao sistema, exibe a tela de parâmetros de ordem de compra.


O grid da tela de pesquisa exibirá as OC´s já emitidas com as seguintes colunas:

  • Nº OC: Número da ordem de compra.
  • DATA EMISSÃO: Data de emissão da OC.
  • COMPRADOR: Comprador da OC.
  • FORNECEDOR: Fornecedor da OC.
  • VALOR: Valor total da OC.
  • STATUS: Status atual da OC com as seguintes opções:
    1. EM ABERTO: A OC foi salva, mas ainda não houve entrada para os produtos contidos na mesma.
    2. FECHADA: Todos os produtos contidos na OC já entraram no sistema através de uma nota de entrada.
    3. FECHADA PARCIALMENTE: Apenas alguns dos produtos da OC entraram no sistema através de nota de entrada.
    
    Por padrão o grid exibirá todas as OC´s emitidas no mês corrente até que o usuário faça sua filtragem.
    
    O valor total de uma ordem de compras será a soma dos totais de seus itens mais o valor do frete (+ encargos - desconto) quando o tipo do frete for destinatário.

RN03 - Parâmetros de ordem de compra

Visível somente para usuários com acesso total ao sistema, esta tela terá os seguintes parâmetros:

  1. Data de entrega: Neste campo o usuário deverá selecionar se deseja exibir a data de entrega no cabeçalho da OC ou nos itens.
  2. Lançar previsão no contas a pagar ao salvar a OC? Com este parâmetro ativado, assim que uma OC for salva será lançada uma previsão no contas a pagar da filial em questão.
  3. Tipo de documento: Habilitado somente se uma operação estiver informada, neste campo o usuário deverá selecionar (dentre os cadastrados) um tipo de documento a ser utilizado na previsão do contas a pagar.
  4. Imprimir ordem de compra após salvar? Este parâmetro determina se após salvar uma ordem de compra o sistema irá gerar automaticamente a impressão da mesma através de uma mensagem de confirmação.
  5. Enviar e-mail após salvar? Este parâmetro determina se após salvar uma ordem de compra o sistema irá envia-la automaticamente para o e-mail do representante comercial (caso informado). Para o envio de e-mail não haverá mensagem de confirmação.

RN04 - Geração de previsão no contas a pagar

Caso nos parâmetros da rotina em questão o sistema esteja configurado para gerar previsão de contas a pagar, assim que o usuário salvar uma ordem de compra o sistema deverá gerar a previsão do contas a pagar, emitindo um aviso ao usuário informando que a OC foi salva com sucesso e que foi gerada a previsão no contas a pagar.


Ao gerar o contas a pagar, será utilizada a operação configurada em Utilitários > Configurações > Configuração do documento receber/pagar, no campo Operação padrão na entrada de documentos demais rotinas. Será utilizado também o tipo de documento configurado nos parâmetros da OC.


Se na ordem de compra o tipo de frete estiver como destinatário, então deverá ser gerada também uma previsão de contas a pagar para o frete.


Nas observações dos documentos a pagar gerados para OC deverá ser gravado o seguinte texto: Previsão de contas a pagar da ordem de compra NºXXXXX. Nos documentos a pagar gerados para o frete da OC, deverá ser gravado o texto: Previsão de contas a pagar referente ao frete da ordem de compra NºXXXXX. Onde XXXXX equivale ao número da ordem de compras em questão.

RN05 - Regras gerais

  1. Em modo de alteração, não será permitido alterar o comprador nem o fornecedor de uma ordem de compta.

RN06 - Impressão da OC

Após salvar com sucesso uma ordem de compra, o sistema deverá emitir ao usuário uma mensagem de confirmação perguntando se ele deseja imprimi-la caso nos parâmetros da rotina esteja ativo o parâmetro Imprimir ordem de compra após salvar?. A impressão seguirá o layout da impressão do PDV (fazendo as devidas adequações) e será possível nos formatos DOC e PDF.


Em modo de consulta, o botão imprimir deverá ser visível para uma OC já salva independente do estado do parâmetro em questão.

RN07 - Envio de e-mail

Após salvar com sucesso uma ordem de compra, caso nos parâmetros da rotina esteja ativo o parâmetro Enviar e-mail após salvar? o sistema enviará automaticamente a ordem de compras para o e-mail do representante comercial informado no cabeçalho. A ordem de compra deverá ser enviada no mesmo formado da impressão em PDF como anexo do e-mail.


Caso haja configurações de envio de e-mail para o comprador da OC, serão consideradas as configurações do comprador independente de existir ou não configurações de envio para filial.


Caso não haja configuração de envio de e-mail para a filial nem para o comprador da OC, uma mensagem com a não conformidade será exibida ao usuário informando que o e-mail não foi enviado.


Para toda ordem de compra salva, independente do estado do parâmetro em questão, estará disponível o botão [Enviar e-mail] que deverá respeitar as mesmas regras citadas acima.

Layouts sugeridos

Quadro de dados

Cabeçalho da OC

NOME OBRIGATÓRIO TIPO DE ENTRADA VALORES POSSÍVEIS TAMANHO VALOR PADRÃO OBSERVAÇÃO
Nº Ordem de compra Sim Input Numéricos 6 Vazio Número da ordem de compras gerado automaticamente pelo sistema (por filial)
Data de emissão Sim Input Data Data de login
Comprador Sim Combobox Compradores cadastrados no sistema Vazio
Fornecedor Sim Input Fornecedores cadastrados no sistema 0 Vazio
Contato Não Input Alfanuméricos 60 Nome do representante comercial do fornecedor (se existir) Campo somente leitura.
Telefone Não Input Numéricos Telefone Telefone do representante comercial do fornecedor (se existir) Campo somente leitura.
Celular Não Input Numéricos Telefone Celular do representante comercial do fornecedor (se existir) Campo somente leitura.
E-mail Não Input Alfanuméricos 60 E-mail do representante comercial do fornecedor (se existir) Campo somente leitura.
Observação Não Memo Alfanuméricos Sr(a) vendedor(a), favor incluir na nota fiscal o número desta ordem de compra, tanto no XML (tag nItemPed) quanto nas observações da nota
Condição de pagamento Sim Input+Combobox Condições cadastradas no sistema Vazio
Transportadora Somente se houver frete Input+Combobox Transportadoras cadastradas no sistema Vazio
Tipo de frete Somente se transportadora foi informada Combobox emitente; destinatário; Vazio
Condição de pagamento (frete) Somente se tipo de frete é destinatário Input+Combobox Condições cadastradas no sistema Vazio
Valor Somente se tipo de frete é destinatário Input Numéricios Padrão do sistema 0,00
Observação Não Memo Alfanuméricos Vazio

Parâmetros da OC

NOME OBRIGATÓRIO TIPO DE ENTRADA VALORES POSSÍVEIS TAMANHO VALOR PADRÃO OBSERVAÇÃO
Data de entrega Sim Radio button No cabeçalho; Nos itens; 0 No cabeçalho
Lançar previsão no contas a pagar ao salvar a OC? Sim Checkbox Marcado/Desmarcado Marcado
Tipo de documento Sim Combobox Campo somente leitura OC - ORDEM DE COMPRA Este campo deverá ser automaticamente preenchido com o tipo de documento OC - ORDEM DE COMPRA previamente cadastrado no banco de dados padrão do sistema. O usuário não poderá alterar este tipo de documento.
Imprimir ordem de compra após salvar? Sim Checkbox Marcado/Desmarcado Marcado
Enviar e-mail após salvar? Sim Checkbox Marcado/Desmarcado Marcado

Itens da OC

Para os campos dos itens da OC que também existem nos itens do PDV, utilizar o mesmo tipo/regra.

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas