Jump to content
Nilmar Sá

Campo complementar do item do movimento como Obrigatório

Recommended Posts

Senhore, boa tarde.

Tentei utilizar uma dica sobre um assunto parecido que foi utilizado no movimento, mas agora preciso implementar essa função num campo complementar do item em um movimento. Criei um campo complementar do item chamado Datavencimento e fiz a fórmula da seguinte maneira: Se Tabitmmovcompl('datavencimento','D') <> '' Entao 1 Senao 0 Fimse

mas não deu certo. Dá um erro com a seguinte mensagem: Erro de execução da fórmula xxxxx. Mensagem: Erro 3 na execução da fórmula xxxxx: operação inválida para os tipos dos operandos idmov = yyyyyy.

Alguém tem alguma dica?

Valeu.

Share this post


Link to post
Share on other sites

Juliano, isso funciona apenas pra movimentos já gravados... na inclusão não vai funcionar, pois, o teste é feito na gravação da TMOV, ou neste caso na gravação da TITMMOV, e no caso de testar a TMOVCOMPL ou TITMMOVCOMPL, elas só são gravadas apos a gravação do movimento, então, o sistema sozinho, da maneira que está hoje, NUNCA terá como validar isso na inclusão. Já me bati muito com isso, e só consegui uma solução por TRIGGER que mesmo assim não ficou legal, então, nem recomendo.

Share this post


Link to post
Share on other sites

Putz Jair.... pior que é verdade... tinha esquecido desse detalhe é tabela complementar...

Eu tambem me bati bastante com isso, e acabamos desistindo de fazer a consistencia.

Abraço.

Share this post


Link to post
Share on other sites

Oi pessoal. Na verdade é possivel. Eu trabalho com fómula de consistencia normalmente nos campos complementares do itens do movimento.

Exemplo:

Código: C1031

Título: Favor Verificar o NÚMERO e a SÉRIE do Equipamento!

Texto:

SE TABITMMOVCOMPL ('NROMAQUINA' , 'S')= ''

ENTAO 0

SENAO SE TABITMMOVCOMPL ('NROSERIE' , 'S')= ''

ENTAO 0

SENAO 1

FIMSE

FIMSE

Share this post


Link to post
Share on other sites

Marcelo,

Alterei para sua sugestão mas deu a mensagem de erro.

obrigado.

Oi pessoal. Na verdade é possivel. Eu trabalho com fómula de consistencia normalmente nos campos complementares do itens do movimento.

Exemplo:

Código: C1031

Título: Favor Verificar o NÚMERO e a SÉRIE do Equipamento!

Texto:

SE TABITMMOVCOMPL ('NROMAQUINA' , 'S')= ''

ENTAO 0

SENAO SE TABITMMOVCOMPL ('NROSERIE' , 'S')= ''

ENTAO 0

SENAO 1

FIMSE

FIMSE

Share this post


Link to post
Share on other sites

Valeu Marcelo. Muito obrigado pela a ajuda.

Só para o pessoal ficar por dentro, o Marcelo conectou via TS e fez os testes. A fórmula ficou dessa forma:

SE TABITMMOVCOMPL ('DATAVENCIMENTO' , 'D') ='01/01/2000'

ENTAO 0

SENAO 1

FIMSE

Devido a algum problema no sistema, ou na base, foi necessário colocar uma data entre as aspas.

O alerta só aparece quando o movimento é salvo e, infelizmente, não tem como aparecer ao incluir o item.

Mais uma vez agradeço à todos pela a atenção e principalmente a boa vontade do Marcelo em dar esse suporte remoto.

Share this post


Link to post
Share on other sites

Lembrando que no cadastro de campos complementares do item do movimento habilitamos um valor default (01/01/2000) pois quando não existe este valor default realmente o sistema dá erro na fórmula de consistencia. Depois só foi informar na fórmula a data que deveria barrar. Neste caso o valor default de 01/01/2000, que poderia ser qualquer valor.

Obs: Quando o tipo de dado do campo complementar for DATA é necessario um default. Senão pode deixar sem default e na fómula utilizar "aspas". como nos exemplos acima citado.

E é isso ai!

Share this post


Link to post
Share on other sites
Lembrando que no cadastro de campos complementares do item do movimento habilitamos um valor default (01/01/2000) pois quando não existe este valor default realmente o sistema dá erro na fórmula de consistencia. Depois só foi informar na fórmula a data que deveria barrar. Neste caso o valor default de 01/01/2000, que poderia ser qualquer valor.

Obs: Quando o tipo de dado do campo complementar for DATA é necessario um default. Senão pode deixar sem default e na fómula utilizar "aspas". como nos exemplos acima citado.

E é isso ai!

Marcelo, bom dia.

Com base nas informações que você passou. Há a possibilidade de criar uma fórmula de consistência, que torne "obrigatório" o preenchimento de um campo complementar de um movimento específico.?

[]s

Share this post


Link to post
Share on other sites

Sim. A principio após a versão 10.80 TUDO no corpore pode ser configurado para obrigatirio: Campo livre, filtro, campo complemente etc.. Idenpendente de fórmula de consistência. Um bom exemplo é no RMFluxus onde não existe fórmula de consistência para os lançamentos. outro exemplo é o cadastro de cliente/Fornecedor. Infelizmente não posso colocar nada para downloads (tenho um material da Totvs datado de 13/07/2010). Repasse seu email para que possa enviar. Mas, caso queira usar os recusos já conhecidos basta enviar os dados de seu campo complementar e a consistência que precisa. Obs: Não consigo visualizar print de tela! então escreva ou alterar a forma de contato.

No aguardo...

Share this post


Link to post
Share on other sites
Sim. A principio após a versão 10.80 TUDO no corpore pode ser configurado para obrigatirio: Campo livre, filtro, campo complemente etc.. Idenpendente de fórmula de consistência. Um bom exemplo é no RMFluxus onde não existe fórmula de consistência para os lançamentos. outro exemplo é o cadastro de cliente/Fornecedor. Infelizmente não posso colocar nada para downloads (tenho um material da Totvs datado de 13/07/2010). Repasse seu email para que possa enviar. Mas, caso queira usar os recusos já conhecidos basta enviar os dados de seu campo complementar e a consistência que precisa. Obs: Não consigo visualizar print de tela! então escreva ou alterar a forma de contato.

No aguardo...

O campo complementar seria o TMOCOMPL.OBSFATURA. A condição seria para "não salvar" se estive branco, vazio.

Sabe como posso conseguir esse material, já que por aqui é meio complicado, até mesmo passar e-mail de contato.

[]s

Share this post


Link to post
Share on other sites

Segue fórmula de consistencia para o MOVIMENTO:

SE TABMOVCOMPL ('OBSFATURA' , 'S') =''

ENTAO 0

SENAO 1

FIMSE

Obs: Depois do operador = (igual) são duas aspas simples. Favor não colocar aspas dupla.

No aguardo...

Share this post


Link to post
Share on other sites
Segue fórmula de consistencia para o MOVIMENTO:

SE TABMOVCOMPL ('OBSFATURA' , 'S') =''

ENTAO 0

SENAO 1

FIMSE

Obs: Depois do operador = (igual) são duas aspas simples. Favor não colocar aspas dupla.

No aguardo...

Havia colocado o operando <> " ". Nesse caso que seja obrigatório o preenchimento, não deveria ser <> ' '?

[]s

Share this post


Link to post
Share on other sites
Havia colocado o operando <> " ". Nesse caso que seja obrigatório o preenchimento, não deveria ser <> ' '?

[]s

Marcelo,

Funcionou a questão.

Só que quando há uma integração do do Officina com o Nucleus, a fórmula não funciona.

Só no caso de atualizar o movimento no Nucleus, ai gera a mensagem de erro.

Mas mesmo assim, vlw.

[]s

Share this post


Link to post
Share on other sites

ou use uma trigger.

Exemplo:

CREATE TRIGGER [dbo].[TMOVCOMPL_INSERT]

ON [dbo].[TMOVCOMPL]

FOR INSERT

AS

BEGIN

DECLARE @OBSFATURA VARCHAR (255)

SET @OBSFATURA =(SELECT OBSFATURA FROM INSERTED)

IF @OBSFATURA IS NOT NULL

BEGIN

RAISERROR ('Favor Preenche Campo Observação da Fatura!',11,127)

END

END

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.