Multimask na consulta

Boa noite a todos do grupo.

Estou com a seguinte situação e gostaria se alguém já passou por situação semelhante e conseguiu resolver sem ter usando recursos do próprio SC. Eu uso o SC8.

O mascaramento do campo texto em formulário consigo user multi mask então tenho o seguinte em um campo telefone: (99) 9999-9999;(99) 99999-9999. Isto porque tem estados que usam o nono dígito e outros não.

O mascaramento na consulta não segue o mesmo padrão e consequentemente não permite multi mask, tentei mascarar o campo telefone na consulta da seguinte forma:(ZZ) Z XXXX-XXXX. E o resultado foi o seguinte:

Se o telefone é 31987654321 -> (31) 9 8765-4321
Se o telefone é 3187654321 -> (3) 1 8765-4321

Sei que posso resolver isto alterando o valor do campo no onRecord, forçando a formatação, mas queria compartilhar esta situação com o forum para saber se alguém já passou por esta situação?

Netmaker porque não seguir o mesmo padrão de configuração de mascaramento dos formulários? Se possuo multi mascaramento no formulário seria interessante que a apresentação destes campos nas consultas também permitisse que fossem configurados as mesmas máscaras.

Abs

Paolo

Olá,

Tente assim: (XX) X XXXX-XXXX

Att,

Tulio.

Por enquanto não há o que fazer.
Já existe um tópico que tratou deste assunto:
http://www.scriptcase.com.br/forum/index.php/topic,5496.0.html
minha resposta no tópico
http://www.scriptcase.com.br/forum/index.php/topic,5496.msg35625.html#msg35625

Olá Tulio! Olá Alexandre!

Mais uma vez, obrigado pelo auxílio!! É uma pena!

Alexandre, vi que seu tópico é de 2013! Esta melhoria já poderia ter saído.

Enfim, farei o tratamento do campo para resolver o meu problema.

Túlio, na sua sugestão os resultados foram os seguinte:

Se o telefone é 31987654321 -> (31) 9 8765-4321
Se o telefone é 3187654321 -> (03) 1 8765-4321 (O SC adicionou um 0 a esquerda para completar o X)

Abs a todos.

Paolo

Olá,

A intenção é substituir as mascaras por X, ficando a mascara final, assim:
(XX) XXXX-XXXX; (XX) X XXXX-XXXX

Att,

Tulio

Defina o campo como ‘Número’.

As mascaras: (##) ####-####;(##) # ####-####

Desculpa, testei e não funciona.

Conforme o Alexandre passou no link acima, segue a solução:
No evento onRecord:
switch (strlen(trim("{TELEFONE}"))) {
case 8:
{TELEFONE}="() “.substr(”{TELEFONE}",0,4)."-".substr("{TELEFONE}",4,4);
break;
case 10:
{TELEFONE}="(".substr("{TELEFONE}",0,2).") “.substr(”{TELEFONE}",2,4)."-".substr("{TELEFONE}",6,4);
break;
case 11:
{TELEFONE}="(".substr("{TELEFONE}",0,2).") “.substr(”{TELEFONE}",2,5)."-".substr("{TELEFONE}",7,4);
break;
}