====== Especificação Funcional: Cadastro de Produtos ====== ===== Resumo ===== Esta funcionalidade visa manter o cadastro dos produtos comercializados pelos produtores rurais do município. Através deste módulo é possível incluir novos produtos, excluir um produto cadastrado, editar e visualizar os dados dos produtos cadastrados, entre outras. ===== Descrição ===== O Cadastro de Produtos serve como base principalmente para a emissão de notas fiscais, pois cada item de uma nota fiscal corresponde a um produto. A partir do momento que um produto estiver cadastrado, será possível incluí-lo nas notas fiscais. Para que se possa cadastrar um produto, é necessário que já tenham sido cadastradas as [[softwares:geagro:requisitos:modulos:cadastros:categorias|categorias definidas pelo usuário]] e as definidas pela SEFAZ. Estas devem conter os valores que estão no anexo: {{:softwares:geagro:biblioteca:categorias_sefaz_2010.pdf|Categorias de produtos estabelecidas pela SEFAZ-ES - 2010}} Ao acessar este módulo, o sistema deve exibir uma lista com os produtos já cadastrados para facilitar as operações de exclusão, edição e visualização dos dados. Esta lista deve exibir os dados mais importantes de cada produto juntamente com os seguintes dados obtidos das notas fiscais cadastradas: * A quantidade total comercializada do produto; * O valor total comercializado; * A quantidade de notas fiscais contendo o produto. A lista também deve permitir a organização e o filtro dos dados por qualquer campo que esteja visível, além de permitir que o usuário oculte/exiba campos, imprima e exporte o conteúdo da lista. ==== Unidades de Medida ==== Como os produtos poder ser comercializados em diferentes unidades de medida, é necessário padronizar o cadastro de forma a permitir obter informações precisas sobre a produção sem que seja necessário cadastrar cada produto numa única unidade de medida. O cadastro de notas fiscais e os relatórios relacionados à produção, por exemplo, o [[softwares:geagro:requisitos:relatorios:producao_itens|Relatório de Produção por Itens]], dependem das unidades de medida estabelecidas para cada produto. Ao incluir um produto em uma nota fiscal, deve ser usada a unidade indicada na nota. Já os relatórios devem exibir sempre as quantidades em uma unidade principal. O sistema deve então ser capaz de converter das unidades secundárias para a principal. * **Unidade de medida principal**: Esta unidade de medida será considerada a unidade padrão do produto. É através dela que os relatórios serão criados. Cada produto deverá ter apenas uma unidade principal; * **Unidades de medida auxiliares**: Demais unidades de medida pelas quais o produto pode ser utilizado. Cada produto pode ter quantas unidades de medida forem necessárias. As unidades de medida devem conter as seguintes informações: * **Tipo**: Cada unidade deve ser definida como principal ou auxiliar, como descrito acima; * **Sigla**: Sigla que identifica a unidade de medida (Ex: SC, KG, UN, ...); * **Descrição**: Descrição da unidade de medida, utilizado para facilitar sua identificação (Ex: Sacas, Quilos, Unidades, ...); * **Fator de conversão**: Fator utilizado para realizar a conversão da unidade que está sendo definida para a unidade principal do produto. Caso a unidade que está sendo definida seja a unidade principal, o fator de conversão será sempre 1. O fator de conversão deve conter, no mínimo, 10 (dez) casas decimais, para que os erros de arredondamento sejam minimizados; * **Método de arredondamento**: O sistema deve permitir a definição de dois tipos diferentes de arredondamento, ao converter das unidades auxiliares para a principal: * //Arredondar//: Quando este método de arredondamento estiver selecionado, os valores decorrentes da conversão serão arredondados para o número de casas decimais do campo em questão, de acordo com as regras gerais de arredondamento; * //Truncar//: Quando este método de arredondamento estiver selecionado, os valores decorrentes da conversão serão truncados de acordo com o número de casas decimais do campo em questão; As unidades são definidas por sigla, ou seja, o sistema não deve permitir que sejam definidas duas unidades com a mesma sigla para cada produto. Após o uso de uma unidade de medida o sistema não deve permitir que seus dados sejam modificados, a fim de impedir que as operações sejam calculadas de maneiras diferentes em diversas situações. === Conversão de unidades de medida === A conversão de unidades se dará sempre de uma unidade auxiliar para a unidade principal do produto. O cálculo do valor será sempre realizado através de uma operação de multiplicação, como definido abaixo: **Nova quantidade (Unidade Principal) = Quantidade atual (Unidade Auxiliar) * Fator de conversão (Unidade Auxiliar)** Para que a operação seja realizada de forma correta, é necessário encontrar um fator de conversão adequado. O método mais fácil de se obter este fator é dividir a unidade principal pela unidade auxiliar. Exemplos: * **De quilos (KG) para sacas (SC) de café**: 60 KG correspondem a 1 SC. Logo, o fator de conversão KG → SC será 1/60, ou 0,0166666666. * **De toneladas (TON) para sacas (SC) de café**: 1 TON corresponde a 16,6666666666 SC. Logo, o fator de conversão TON → SC será 16,6666666666/1, ou 16,6666666666. * **De mililitros (ML) para litros (L)**: 1000 ML corresponde a 1 L. Logo, o fator de conversão ML → L será 1/1000, ou 0,001. ==== Dados do Produto ==== Um produto deve possuir os seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |Código | Código do produto | Número | -- | Sim | |Descrição | Descrição do produto | Texto | 80 | Sim | |Unidades de medida | Unidades nas quais o produto pode ser comercializado | -- | -- | Sim | |Categoria | Identificação da categoria definida pelo usuário | Número | -- | Sim | |Categoria de SEFAZ | Identificação da categoria definida pela SEFAZ | Número | -- | Sim | ==== Validação dos dados ==== * Os produtos devem ser diferenciados pela sua descrição. Portanto, não deve ser permitido o cadastro de dois produtos com a mesma descrição, independente da unidade de medida ou das categorias. ==== Mesclar Produtos ==== Para resolver problemas relacionados à duplicação de cadastros no sistema, o usuário deve ter a opção de mesclar Produtos. - O usuário escolhe um produto cujo cadastro deseja manter no sistema; - O sistema automaticamente localiza e exibe outros produtos com o mesmo nome para serem mesclados ao primeiro e serem excluídos do sistema; - O usuário pode acrescentar outras produtos à lista de exclusão de acordo com o seu critério usando a funcionalidade de [[softwares:geagro:requisitos:modulos:outros:selecao_cadastros|seleção de registros]]; - O usuário escolhe quais destes produtos devem ser unificados com o primeiro; - O sistema exibe confirmação antes de alterar quaisquer dados; - O sistema atualiza todas as referências dos produtos na lista de exclusão para coincidirem com o produto a ser mantido; - Os produtos na lista de exclusão são excluídos do sistema. - Caso o produto a ser substituído tenha mais de uma unidade de media, a unidade auxiliar terá seu fator de conversão levado em consideração na mesclagem. Por exemplo: caso o produto a ser substituído tenha um fator de conversão 0.1, o sistema multiplica a quantidade desse produto substituído pelo seu fator de conversão para obter a quantidade equivalente a unidade principal do produto para aí então ser substituída por outro produto. ===== Configurações e preferências do usuário ===== * **Fechar janela após Inclusão**: Se esta configuração estiver ativa, a tela de cadastro será fechada após uma inclusão com sucesso. ===== Pontos de verificação ===== ==== Na inclusão/alteração de Produtos ==== * O sistema não deve salvar o cadastro sem que todos os campos obrigatórios estejam preenchidos; * O sistema não deve salvar o cadastro se já houver um produto cadastrado com a mesma descrição; * Após a inclusão de um produto, este deverá ser exibido imediatamente na lista de produtos cadastrados; * A ação do clique duplo sobre um item do grid deve ser alterar o registro selecionado. ==== Unidades de medida ==== * O produto deve ter ao menos uma unidade de medida, que é a unidade principal; * Um produto não pode ter mais que uma unidade de medida principal; * Não pode haver duas unidades de medida com a mesma sigla para um mesmo produto; * O fator de conversão de qualquer unidade de medida deve ser um número positivo menor que 100.000; * Não é possível excluir ou alterar unidades de medidas que já tenham sido usadas em algum item de nota fiscal; * A conversão das unidades de medida deve apresentar valores corretos nos módulos: * Relatório de Produção por itens * Relatório de Produção por produtos * Relatório de Armazenagem x vendas * Visão PRODUTOS X NOTAS FISCAIS no cadastro de produtos. ==== Na exclusão de Produtos ==== * O sistema deve solicitar a confirmação da exclusão de um produto; * O sistema não deve permitir a exclusão de um produto caso ele tenha sido incluído em pelo menos uma nota fiscal; * Após a exclusão de um produto, este deverá ser eliminado imediatamente da lista de produtos. ==== Na mesclagem de produtos ==== * Um produto não pode ser mesclada com ele mesmo; * Um produto não pode ser adicionado mais de uma vez à lista de exclusão; * A operação de mesclagem deve registrar no log de ações os códigos dos registros que foram mesclados e excluídos; * Os itens das notas fiscais que contem o produtos a serem excluídos ser transferidos para o produto a ser mantido: * Quando o produto mantido e um ou mais produtos a serem excluídos ocorrem na mesma nota fiscal, somente um item deve permanecer com a quantidade original somada às quantidades dos itens excluídos multiplicadas pelos respectivos fatores de conversão. O valor do item também deve ser somado ao valor dos items excluídos; * Nos demais casos, a quantidade deve ser multiplicada pelo fator de conversão da unidade principal do produto a ser mantido e o valor não deve ser alterado. ===== Observações ===== Nenhuma informação adicional. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~