Jump to content
fernandolk_1992

Erro fv validação campo (RESOLVIDO)

Recommended Posts

Boa Tarde, estou tentando fazer uma FV para validar um campo no cadastro de produtos do RM, no If/Else coloquei a seguinte condição de validação:this.Tables["TPRODUTODEF"]["CODTBORCAMENTO"].IsNull

Porem ao aplicar a FV no gatilho Antes de Salvar Registro e testar a validação, aparece o seguinte erro:

1901503991_errovalidao.jpg.9c50eae7c7c4181459e72b94ad0ff40f.jpg

A mensagem aparece tanto se eu preencher ou não preencher o campo. É como se a formula não encontrasse o campo ou tabela para efetuar a validação.

Alguém tem uma sugestão de como contornar esse problema ou outra alternativa para efetuar essa validação?

Share this post


Link to post
Share on other sites

Vc quer testar se o campo da Natureza está marcado ou não?? é isso?? Envia aqui a sua FV q facilita para verificar onde q está com algum galho pra poder te ajudar. 

Share this post


Link to post
Share on other sites

@Jair - Fórmula, boa noite, fiquei um tempo sem responder... e quando estava testando uma solução entrou seu post :).

Vamos lá, @fernandolk_1992, boa noite, pois bem, existem milhares de formas para resolver essa questão, aqui vai uma delas.

 

image.png

Ao ver essa imagem, podes achar estranho esse campo nesta tabela, porém, como estamos com a action no contexto a aplicação monta o dataset com uma query, que nós usuários podemos visualizar, apertando ctrl + alt + f9...

image.png

Ao copiar esse texto, irás ver o conteúdo da query enviado para montar o DataSet, nela irás verificar o campo que você precisa neste DataSet, logo, cada um desses datasets podem conter campos de outras tabelas isso é normal, só não confundir dataset com a tabela do banco está tudo certoooooo !

P/S tem alguns dataset com query errada na aplicação, então cuidado, sempre que quiser verificar pega o campo em uma expressão e joga na tela... e/ou replica a query. 

Espero que ajude... 

 

abraços.

 

Share this post


Link to post
Share on other sites

Bom Dia @Jair - Fórmula e @luisgustavogomes, agradeço desde já pelas resposta.
A Formula tem como objetivo validar o campo Natureza Orçamentaria/Financeira no cadastro do produto pois para a empresa o mesmo não pode estar em branco.

A Formula que foi feita está assim:
image.png.b897f9b28ab5856cb068531c9b9b3c60.png

Não Usei um foreach pois entendo que a Validação do campo ocorra dentro do cadastro do produto e por esse motivo o sistema já entende que é apenas 1 produto a ser validado. Porem caso melhore o desempenho usando o foreach ou exista outra explicação para usa-lo eu posso colocar hehe...

A condição para entrar na validação, conforme tinha postado anteriormente era:

this.Tables["TPRODUTODEF"]["CODTBORCAMENTO"].IsNull 


Porem mudando para:

this.Tables["TPRODUTO"]["CODTBORCAMENTO"].IsNull

conforme orientação do Luis a Formula foi validada. O problema era realmente a Tabela para qual estava apontando.

 

Uma dúvida, Ao tentar incluir o dataset no contexto da formula o sistema não encontrou o de cadastro de produtos, conforme print a baixo, não sei se é alguma falta de permissão ao meu usuário ou é pelo fato de usarmos o sistema na cloud da TOTVS.

image.png.34fbcddf5738480c297b8143bf43fef2.png

Share this post


Link to post
Share on other sites
7 minutos atrás, luisgustavogomes disse:

@fernandolk_1992, bom dia! 

Em relação a não utilização da FOREACH é tranquilo como vai utilizado na tela de cadastro... agora em relação a seleção do DataSet... deve pesquisar pela action do produto EstPrdAction

Certo, realmente procurando por esse dataset apareceu... Obrigado.

Share this post


Link to post
Share on other sites
2 horas atrás, fernandolk_1992 disse:

Bom Dia @Jair - Fórmula e @luisgustavogomes, agradeço desde já pelas resposta.
A Formula tem como objetivo validar o campo Natureza Orçamentaria/Financeira no cadastro do produto pois para a empresa o mesmo não pode estar em branco.

Fernando... se é apenas para não permitir que não esteja preenchido, não é o caso de marcar o campo como obrigatório apenas???? Peguei o campo da Unidade para o exemplo, mas funciona para qualquer campo.

image.png 

Share this post


Link to post
Share on other sites

Olá, Fernando. O erro ocorre porque você está querendo validar se o campo em questão está nulo, porém temos algumas situações que esse campo não está nulo e sim "em branco". Para resolver a questão mudar a condição na FV para o trecho abaixo:

 

this.Tables["TPRODUTODEF"]["CODTBORCAMENTO"].ToString().Length < 1

Share this post


Link to post
Share on other sites
Em 21/06/2022 at 11:53, Jair - Fórmula disse:

Fernando... se é apenas para não permitir que não esteja preenchido, não é o caso de marcar o campo como obrigatório apenas???? Peguei o campo da Unidade para o exemplo, mas funciona para qualquer campo.

image.png 

Jair, não sei o motivo, mas essa opção está desabilitada conforme o print:
image.png.3502ec443f029b11d2d2859259d4be54.png

Já havia olhado isso antes, é beeem mais facil do que fazer a FV hehe.

17 horas atrás, tonyBP2 disse:

Olá, Fernando. O erro ocorre porque você está querendo validar se o campo em questão está nulo, porém temos algumas situações que esse campo não está nulo e sim "em branco". Para resolver a questão mudar a condição na FV para o trecho abaixo:

 


this.Tables["TPRODUTODEF"]["CODTBORCAMENTO"].ToString().Length < 1

Boa Tarde Tony, o problema foi resolvido mudando a tabela de TPRODUTODEF para TPRODUTO, aceitou com o .isnull.

image.png

Share this post


Link to post
Share on other sites

Pode ser por seu usuário não estar como Supervisor, ou alguma outra permissão... se você não for o "mestre" peça pra fazerem nesse outro usuário pra ver se lá habilita. :)

Share this post


Link to post
Share on other sites
19 horas atrás, caiiomonteiro disse:

Boa tarde @fernandolk_1992 você está tentando fazer o processo que o @Jair - Fórmula mencionou abrindo um "novo" cadastro.

image.png.ee30e44cbe74e3b70fc396e06e5967ea.png

 

Tente editar um cadastro existente e tornar o campo obrigatório, provavelmente a opção vai estar habilitada.

Bem observado Caio. Verdade... tem que fazer o que falei num registro que tenha já gravado na base, e com isso, será lida a informação já contida no campo, podendo assumir "esse dado como obrigatório". 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.