O que há de novo no Venda+
Novidades e melhorias mais recentes:
21/11/2024Ajuste Mega ERP - Campos customizáveis não estão sendo inseridos na tabela
Ao importar um documento de venda que possui campo customizável do Venda+ para o Mega, o campo customizável não era criado/preenchido na VEN_PEDIDOCAMPOESPECIFICO. Foi identificado que o erro ocorria porque os campos específicos deveriam ser inseridos no campo VDV_BL_DOCUMENTOJSON da tabela VDM_VINCULODOCUMENTO, mas esse campo não existe nas versões tokyo.
Sendo assim, inserimos o campo VDV_BL_DOCUMENTOJSON na tables def da tabela VDM_VINCULODOCUMENTO da tokyo.
Histórico de novidades e melhorias:
Importante
As labels (etiquetas) estão disponíveis somente nas matérias publicadas a partir de 21/11/2024. Logo, as matérias anteriores a essa data encontram-se no padrão antigo.
Melhorias
Flutter - Ajustar a chamada do getUserIdToken
Problema: Ao realizar a primeira sincronização, caso durante a sincronização a autenticação do firebase renovasse o token (que dura uma hora) estava retornando 401(Unauthorized) pois chamava nossas APIs com o token expirado.
Ajuste: Alterar o momento em que é consultado o token, fazendo esse processo antes de cada requisição é garantido que sempre terá o token.
Mega ERP - Campos customizáveis não estão sendo inseridos na tabela
Problema: Ao importar um documento de venda que possui campo customizável do Venda+ para o Mega, o campo customizável não estava sendo criado/preenchido na VEN_PEDIDOCAMPOESPECIFICO.
Ajuste: Foi inserido o campo VDV_BL_DOCUMENTOJSON na tables def da tabela VDM_VINCULODOCUMENTO da tokyo.
Novidade
Cockpit do administrador
O Cockpit é um painel centralizado que permite ao administrador monitorar e gerenciar todos os pedidos realizados pelos vendedores, oferecendo uma visão clara e em tempo real tanto dos pedidos sincronizados quanto dos não sincronizados.
Explore todos os recursos e otimize sua experiência, acesse a documentação completa aqui e descubra como aproveitar ao máximo o Cockpit.
Melhoria
Functions - Senior X - Sincronizar os endereços de entrega ao fazer alterações na pessoa ou nas definições de cliente
Problema: No SeniorX ao atualizar o cadastro de person, ou criar/atualizar o cadastro de customer. Caso o cliente possuísse endereços de entrega já importados para o Venda+, o campo endereço de entrega era sobrescrito por uma array vazia.
Ajuste: Nos Webhooks personUpdate, customerCreated e customerUpdated foi incluída consulta aos endereços de entrega da pessoa.
Novidade
Endereço de entrega no Venda+
O APP Venda+ é uma ferramenta essencial para vendedores que precisam emitir pedidos de venda de forma rápida e eficiente. Uma das funcionalidades chave é a capacidade de informar o endereço de entrega diretamente no pedido de venda, utilizando os endereços já cadastrados no sistema. Isso garante que a informação chegue completa ao ERP (Sistema de Gestão Empresarial), facilitando o processo de faturamento.
⭐Acesse a documentação do Endereço de entrega no Venda+
Melhorias
Functions - Não exibindo na listagem, usuário master criado Venda+ Admin
Problema: No portal admin, ao concluir a criação de um usuário master, não fechava o popup do cadastro e não exibia o novo usuário na listagem de usuários. Nos logs do firebase era apresentada a mensagem:
“userController create: Value for argument “data” is not a valid Firestore document. Cannot use “undefined” as a Firestore value (found in field “token”). If you want to ignore undefined values, enable ignoreUndefinedProperties
.”
Ajuste: Na função create da userController ao inicializar o objeto do tipo ParametroEmpresa, foi incluído o atribuito token.
Functions - Sincronização de produto - Value for argument “data” is not a valid Firestore document
Problema: Na sincronização de produtos e tabelas de preço, após implementação anterior: Percentual máximo de desconto permitido a seguinte mensagem está sendo apresentada:
“executeSincronizaProdutos: Produto Produto: 01.01.055 Value for argument “data” is not a valid Firestore document. Cannot use “undefined” as a Firestore value (found in field “tabelaPreco.1
.percentualMaximoDesconto”)”
Ajuste: Validar se o campo existe no retorno e caso não exista passar null.
Não permitindo digitar valor unitário do produto
Problema: Ao tentar digitar o valor unitário de um item no documento de venda a seguinte mensagem está sendo apresentada em debug:
“Bad state: No element”
O erro está sendo ocasionado devido o validator inserido no campo percentual de desconto. Esse validator utiliza o id da tabela de preço para identificar se existe um percentual máximo de desconto informado. Como ao digitar o valor unitário do item, a tabela de preço é removida e o método setState é acionado, no momento da validação o id da tabela de preço do item está vazio, ocasionando o erro Bad state: No element.
Ajuste: Verificar se o id da tabela do item não está vazio antes de fazer a validação do percentual máximo de desconto. Em caso de item sem tabela de preço, não validar o percentual máximo de desconto.
Filtro de vendas - Filtro obrigando a seleção de uma situação
Problema: No filtro da aba vendas, caso não seja selecionada uma situação a tela não está fazendo o filtro e a seguinte mensagem está aparecendo em Debug: “Unexpected null value.” Ao fechar o filtro, não estava guardando os valores das datas(inicio/fim).
Ajuste: Ao executar a função aplicarFiltro(), validar se o campo selectedSituacao está nulo. Alterada a verificação na atribuição de datas para os campos data inicio e data fim.
Functions - Considerar a empresa ao sincronizar as tabelas de preço
Problema: No Senior X , ao sincronizar um produto em que possua o mesmo código em duas empresas o produto estava sendo sincronizado incluindo a tabela de preço da empresa errada. O erro ocorre pois não estávamos considerando o código da empresa retornado na tabela de preço.
Ajuste: Passou-se a comparar, além do código do produto, o código da empresa ao realizar a sincronização com o Firebase.
Sincronização de vínculo entre cliente e forma de cobrança
Problema: Ao vincular uma forma de cobrança no cadastro de um cliente, caso o cliente seja de um padrão que não esteja sincronizado com o firebase a seguinte mensagem está sendo apresentada:
“ Erro na SyncService
Erro: FirebaseError: [code=permission-denied]: 7 PERMISSION_DENIED: Missing or insufficient permissions.”
Ajuste: Antes de realizar o merge passamos a validar se o padrão do cliente em questão está sincronizado com o firebase. Caso não esteja, não realizamos o merge.
Vínculo Cliente x Tabela de Preço
Neste contexto, o Venda+ continuará mantendo o comportamento atual, onde, se houver um vínculo entre cliente e tabela de preços, apenas a opção de preço correspondente será exibida ao usuário no momento da venda.
Essa abordagem visa garantir a consistência e integração entre o ERP XT e o Venda+, assegurando que as informações de tabela de preços vinculadas aos clientes sejam refletidas adequadamente no sistema de vendas. Com essa implementação, busca-se aprimorar a experiência do usuário e fortalecer a coesão entre as plataformas, contribuindo para uma gestão mais eficiente das informações relacionadas às tabelas de preços.