====== 🚀 Release Notes v1.29.1 - 31/10/2025 ====== ---- ===== 📌 Resumo da Release ===== * 12 Melhorias aplicadas em performance, usabilidade e segurança operacional. * 10 Correções garantindo estabilidade e padronização entre Web, Coletor e relatórios. ---- ===== ✨ Melhorias ===== **01. BEES-2880 / BEES-2819: [Melhoria] - Atualização do Endpoint de Autenticação Sankhya e Revisão do Modelo de Requisição** === SITUAÇÃO/REQUISITO === O processo de autenticação entre o WMS BeeStock e o ERP Sankhya estava configurado utilizando o endpoint /login. Com a atualização do padrão de integração, o Sankhya passou a exigir que o endpoint de autenticação seja /authenticate, além de requisitar o envio dos parâmetros via application/x-www-form-urlencoded. A manutenção do endpoint anterior resultaria em falhas na autenticação e bloqueio de comunicação entre os sistemas. === SOLUÇÃO === Foi alterado o endpoint de autenticação de /login para /authenticate, conforme o novo padrão definido pelo Sankhya. Além disso, foi revisada a montagem da requisição para assegurar conformidade com o formato form-encoding. ---- **02. BEES-2909: [Melhoria] - Ajuste da Lógica de Alocação no Processo de Corte de Cabos (Lance Obrigatório e Lance Mínimo)** === SITUAÇÃO/REQUISITO === Durante os testes do processo de corte de cabos, foi identificado que o sistema não estava respeitando corretamente as regras de lance obrigatório e lance mínimo na rotina de alocação. Nos casos de lance obrigatório, o sistema somava saldos fracionados entre diferentes endereços para atingir a quantidade solicitada, desconsiderando o múltiplo definido como obrigatório. Da mesma forma, em pedidos com lance mínimo, o sistema realizava alocações abaixo do limite configurado, pegando saldos de lotes menores que o esperado. Esse comportamento gerava instruções de corte incorretas, dificultando a operação dos usuários e provocando sobras indevidas no estoque. === SOLUÇÃO === Foi revisada a lógica de alocação de cabos para garantir que: * Cada lance obrigatório seja tratado como uma entidade individual de alocação, respeitando integralmente a proporção física definida; * Item de lista não ordenadaO lance mínimo seja respeitado como unidade mínima de alocação, impedindo a soma de saldos parciais de diferentes endereços; * Item de lista não ordenadaO sistema não combine quantidades de múltiplos endereços para completar o tamanho de um lance; * Item de lista não ordenadaA alocação final siga estritamente as regras de corte físico configuradas pelo cliente. ---- **03. BEES-2866: [Melhoria] - Reintrodução do Campo LineNumber na Integração de Confirmação de Separação de OP** === SITUAÇÃO/REQUISITO === Na integração de Confirmação de Separação de OP (confirmPickingProduction), foi identificado que o campo LineNumber deixou de ser enviado no payload da requisição. Esse campo é essencial para o ERP Sankhya, pois permite identificar a linha exata do item dentro da Ordem de Produção, garantindo a correspondência correta entre o WMS e o ERP. A ausência desse campo causava inconsistências e dificultava o tratamento automatizado dos itens durante a confirmação da separação. === SOLUÇÃO === Foi reintroduzido o campo LineNumber no JSON enviado pela integração confirmPickingProduction. O campo foi posicionado no mesmo nível dos demais atributos do item (ex.: ProductCode, Quantity, Batch, ExpirationDate, etc.), e seu valor corresponde ao número da linha original do item no documento de origem. ---- **04. BEES-2858: [Melhoria] - Gerenciar Campos nas telas Documentos de Saída e Monitor de Expedição** === SITUAÇÃO/REQUISITO === Atualmente, nas telas Documentos de Saída (Movimentação → Expedição → Documentos de Saída) e Monitor de Expedição (Movimentação → Expedição → Monitor de Expedição) os campos exibidos são fixos, sem possibilidade de personalização. Isso limita a visualização e a adaptação do layout às necessidades de cada filial ou perfil de usuário. === SOLUÇÃO === Implementar o recurso “Gerenciar Campos” nessas telas, com modal/listagem de todos os campos disponíveis e checkbox para exibir/ocultar colunas. Permitir aplicação por Filial (padrão da filial) e por Perfil de Acesso (sobrescreve a filial quando permitido). Incluir opção Restaurar Padrão e garantir que a exportação para Excel leve apenas os campos atualmente visíveis. ---- **05. BEES-2852: [Melhoria] - Desvincular Usuário nos Monitores de Expedição e Recebimento** === SITUAÇÃO/REQUISITO === Nos Monitores de Expedição e de Recebimento não há opção para desvincular um usuário já atribuído a uma tarefa/documento, o que impede a redistribuição de atividades em casos de ausência do operador ou necessidade de ajuste antes do início do processo. === SOLUÇÃO === Adicionar ação “Desvincular Usuário” em ambos os monitores. A ação remove o vínculo e retorna o documento para a fila geral apenas quando o documento não estiver iniciado. A opção fica visível somente para perfis com permissão de gestão e exibe mensagem de confirmação antes da execução. Em documentos já iniciados, a ação não é permitida e o sistema informa o motivo. ---- **06. BEES-2853: [Melhoria] - Incluir campo Observação nas Etiquetas de Volume (Editor de Etiquetas)** As etiquetas de volume geradas na expedição não apresentam o campo Observação do documento de saída (onde constam, por exemplo, PV e nome do cliente), prejudicando a identificação rápida dos volumes na operação. === SOLUÇÃO === Alterar a geração das etiquetas para incluir o campo Observação quando presente no documento e disponibilizar a variável correspondente no Editor de Etiquetas (WEB) para posicionamento e formatação. Se o campo estiver vazio, a etiqueta será impressa normalmente sem o dado adicional; o texto deve respeitar o espaço disponível do layout. ---- **07 BEES-2854: [Melhoria] - Endpoint para Estorno de Apontamento de Produção (Entrada Kanban)** === SITUAÇÃO/REQUISITO === Não existe integração que processe automaticamente o estorno de apontamentos de OP do Protheus, impedindo que o saldo seja recreditado no depósito Kanban (99) sem intervenção manual, o que compromete a acuracidade do estoque. === SOLUÇÃO === Criar o endpoint POST /api/import/stockReversalKanban que receba payload JSON com ordens de produção a estornar. Para cada registro válido, executar movimentação de entrada no depósito indicado (ex.: 99), registrar histórico de movimentação com dados de auditoria (ordem, produto, quantidade, data/hora, tipo “Entrada por Estorno de OP”) e retornar status de processamento. ---- **08.BEES-2855: [Melhoria] - Nova Tela Interativa de Produtos Pendentes para Alocação** === SITUAÇÃO/REQUISITO === O relatório atual “Produtos Pendentes para Alocação” é estático e limita a análise operacional, exigindo que o usuário volte a outras rotinas para localizar endereços ou concluir ações pendentes. Há necessidade de transformar o relatório em uma tela dinâmica e navegável, similar à tela de “Produtos Alocados”, exibindo apenas os itens ainda não totalmente alocados. === SOLUÇÃO === Desenvolver a nova tela “Produtos Pendentes para Alocação” em Movimentação → Expedição → Produtos Pendentes para Alocação. O layout seguirá o padrão visual de “Produtos Alocados”, com filtros dinâmicos, ordenação e exportação para Excel. Exibir as mesmas informações do relatório original e incluir totalização no rodapé. O acesso respeitará os Perfis de Acesso de Expedição. ---- **09. BEES-2848: [Melhoria] - Inclusão dos Campos Família de Materiais e Grupo de Estoque no Relatório de Produtos** === SITUAÇÃO/REQUISITO === O relatório de Produtos (Relatórios → Cadastros → Produtos → Produtos) não exibe os campos Família de Materiais e Grupo de Estoque, dificultando análises e filtros por classificação de produto. Isso limita o cruzamento de informações e relatórios gerenciais mais detalhados. === SOLUÇÃO === Adicionar os campos Família de Materiais e Grupo de Estoque na listagem de colunas e filtros do relatório de Produtos. Incluir esses campos também na exportação para Excel e validar que os dados apresentados correspondam aos registros do cadastro de Produtos. ---- **10. BEES-2887: [Melhoria] - Ajustes na Tela de Inventário Físico (Coletor) ** === SITUAÇÃO/REQUISITO === Durante a contagem via coletor, após confirmar uma contagem, o campo Quantidade (bem como Lote e Validade) não é limpo, mantendo o valor anterior. Além disso, o operador precisa selecionar manualmente a Filial e o Depósito a cada nova sessão, mesmo quando há apenas uma opção disponível, gerando lentidão e risco de erro. Também foi relatado problema na leitura de código de barras, exigindo toque manual em campos. === SOLUÇÃO === Ajustar o comportamento da tela para limpar automaticamente os campos Quantidade, Lote e Validade após a confirmação. Implementar autopreenchimento de Filial e Depósito quando houver apenas uma opção disponível. Corrigir o fluxo de leitura para que, ao pressionar Enter no campo Endereço, o sistema avance automaticamente para o campo Código de Barras, otimizando o uso no coletor. ---- **11. BEES-2893: [Melhoria] - Inclusão de Peso Total e Data de Entrega em Relatórios Operacionais ** === SITUAÇÃO/REQUISITO === Os relatórios de produtividade (KPIs) e de movimentação não exibem o peso total movimentado nem a quantidade de linhas distintas, dificultando análises mais completas de desempenho e carga operacional. O relatório “Produtos Pendentes de Alocação” também não exibe a Data de Entrega, o que prejudica o controle de prazos. === SOLUÇÃO === Adicionar o campo Peso Total (Kg) nos relatórios de produtividade e de movimentação, calculado como Peso Unitário × Quantidade. Incluir Qtd Linhas (itens distintos) no relatório “Qtd de Produtos Separados por Data e Usuário” e Data de Entrega no relatório “Produtos Pendentes de Alocação”. O cálculo deve respeitar o cadastro de produto e manter todos os filtros e agrupamentos atuais. ---- **12. BEES-2900: [Correção] - Limitar Quantidade Máxima de Impressão de Etiquetas no Coletor** === SITUAÇÃO/REQUISITO === Atualmente, na tela de consulta de código de barras do coletor, é possível solicitar a impressão de até 999.999 etiquetas, sem qualquer validação de limite. Essa ausência de controle pode gerar sobrecarga no sistema e impressão indevida de etiquetas em grande volume. === SOLUÇÃO === Implementar uma validação para limitar a quantidade máxima de etiquetas a 100 unidades por vez. Caso o usuário insira valor superior, o sistema deve exibir mensagem informando o limite permitido e impedir a impressão até que o número seja ajustado. ---- ===== 🐞 Correções ===== **13. BEES-2792: [Correção] - Erro de arredondamento ao armazenar produto com quantidade decimal ** === SITUAÇÃO/REQUISITO === Em alguns casos, ao armazenar produtos com quantidade fracionada, o sistema apresentava erro informando divergência entre a quantidade conferida e a armazenada, devido a valores com mais de 4 casas decimais. Esse comportamento causava falhas intermitentes na automação. === SOLUÇÃO ==== Ajustada a precisão de cálculo e arredondamento das quantidades para 4 casas decimais durante o processo de conferência e armazenamento, garantindo consistência entre o valor conferido e o armazenado, sem necessidade de reiniciar a tela. ---- **14. BEES-2793: [Correção] - Peso total incorreto no romaneio de expedição ** === SITUAÇÃO/REQUISITO === Ao finalizar a conferência de documentos com múltiplos produtos e volumes, o peso total exibido no romaneio considerava apenas o maior volume, ignorando os demais. === SOLUÇÃO === Corrigido o cálculo do peso total no romaneio para somar o peso de todos os volumes finalizados do documento, refletindo corretamente o total movimentado na expedição. ---- ** 15. BEES-2821: [Correção] - Filtro da coluna “Inventário” no Monitor de Logs de Etiquetas ** === SITUAÇÃO/REQUISITO ==== O filtro da coluna “Inventário” na tela Monitor de Logs - Inventário de Etiquetas não funcionava, retornando mensagem de “Nenhuma linha encontrada” mesmo com registros válidos. === SOLUÇÃO ==== Revisada a lógica de busca da coluna “Inventário”, permitindo que o filtro opere corretamente, retornando resultados conforme o código informado, igualando o comportamento aos demais filtros da tela. ---- ** 16. BEES-2833: [Correção] - Data de entrega incorreta em integração sem deliveryDate ** === SITUAÇÃO/REQUISITO === Quando o campo deliveryDate não era informado na integração de documento de entrada, o sistema atribuía a data atual às 00:00, resultando em exibição de data do dia anterior devido ao fuso horário (-3). === SOLUÇÃO === Ajustado o comportamento padrão para registrar a data atual com horário 03:00, evitando discrepâncias de fuso e exibindo corretamente a data no BeeStock. ---- ** 17. BEES-2834: [Correção] - Campos orderValue e value causam exibição R$NaN no documento de saída ** === SITUAÇÃO/REQUISITO === Quando os campos orderValue e value não eram enviados na integração de documento de saída, o sistema apresentava o valor “R$NaN” em Expedição → Detalhes → Produtos. === SOLUÇÃO === Atualizada a documentação da API para tornar os campos não obrigatórios e ajustado o sistema para exibir “R$0,0000” quando ausentes, evitando erro de exibição e garantindo compatibilidade com integrações antigas. ---- ** 18. BEES-2863: [Correção] - Documento e item marcados como ‘Armazenado’ indevidamente após conferência com avaria ** === SITUAÇÃO/REQUISITO === Ao registrar avarias na conferência de entrada, o documento e o item eram marcados como “Armazenado”, mesmo sem o processo de armazenamento concluído. === SOLUÇÃO === Ajustado o fluxo para que documentos com avarias permaneçam com status “Em Armazenagem” e itens parcialmente conferidos sejam marcados como “Armazenado Parcial”, mantendo a coerência dos status operacionais. ---- ** 19. BEES-2844: [Correção] - Divergência de casas decimais no saldo do estoque (3 em vez de 4) ** === SITUAÇÃO/REQUISITO === Na tela Consulta → Estoque → Saldo do Estoque - Detalhes, o campo “Detalhe por Produto” apresentava apenas 3 casas decimais, divergindo do padrão do sistema. === SOLUÇÃO === Ajustado o formato para exibir 4 casas decimais, padronizando a visualização com as demais rotinas e garantindo consistência de precisão. ---- ** 20. BEES-2856: [Correção] - Aprovação duplicada de divergências no Monitor de Expedição ** === SITUAÇÃO/REQUISITO === O sistema permitia que dois usuários diferentes aprovassem a mesma divergência simultaneamente, gerando movimentação duplicada e saldo negativo na coluna “Alocado”. === SOLUÇÃO === Implementado bloqueio de concorrência para impedir múltiplas aprovações sobre a mesma divergência. Após a primeira aprovação, a linha é automaticamente bloqueada para outras sessões. ---- ** 21. BEES-2882: [Correção] - Ajuste na validação de e-mail no cadastro de clientes ** === SITUAÇÃO/REQUISITO === Foi identificado um erro na validação de e-mail no cadastro de clientes, onde o sistema impedia a atualização de cadastros e instruções de expedição quando o campo de e-mail não era considerado válido. O bloqueio indevido retornava o erro “400 - E-mail inválido”, impactando operações essenciais. === SOLUÇÃO === Removida a obrigatoriedade de validação de formato de e-mail durante o processo de atualização de cadastro de clientes. Agora, o sistema permite a gravação de dados mesmo que o campo contenha e-mails inválidos, múltiplos endereços separados por “;” ou valores genéricos como “0”. ---- ** 22. BEES-2889: [Correção] - Erro ao salvar logo no cadastro da empresa ** === SITUAÇÃO/REQUISITO === Foi identificado que o sistema não salvava a logo no cadastro da empresa, exibindo mensagem de sucesso mesmo quando o processo falhava. A análise do log apontou erro “Invalid image: Unknown image format” e “Data too long for column 'str_logo_company'”, especialmente em imagens com resolução maior. === SOLUÇÃO === Ajustado o tratamento do campo de imagem para suportar arquivos .png e outras extensões compatíveis, com validação do tamanho máximo aceito. Corrigida também a mensagem de retorno, que agora só é exibida em caso de sucesso real no salvamento da logo. ----