problemas com consultas depois de atualizar pra SC5.1

(danyx) #1

Bom dia!!!

Tenho uma aplicação de agendamento que estava funcionando perfeitamente antes dessa nova versão!!

Vamos lá: Essa apicação consiste em um formulário onde cadastra à agenda que existe um campo “Status” onde o usuário tem a opção de “Esperando” ou “Agendado”, pois bem na aplicação de consulta aparece os status com as respectivas cores: Esperando(RED) e Agendado(Green), na qual, no campo status da consulta coloco esse script no evento onrecord:

if ({status} == “Esperando”) {
{status}="".{status}."";
}
else {
{status}="".{status}."";
}

Funcionando perfeitamente na versão anterior, no entanto, quando atualizei para versão 5.1, as cores só aparecem em modo de detalhe, ou seja, quando clico na lupa ao lado do registro, se nao clico nos detalhes os status ficam pretos!!

alguem sabe o que foi isso?

(George Carvalho) #2

Utilize a macro sc_field_color(“campo”, “cor”)

sc_field_color (“campo”, “cor”)

Esta macro tem por objetivo, de forma dinâmica, alterar/restaurar a cor do texto de determinado campo da consulta.

(Lucimar Magalhães) #3

Não sei, do jeito que a coisa anda pode ser que algo tenha alterado sim… mas tente outras alternativas:

if ({status} == "Esperando") {
   {status}="<font style='color:#FF0000'>".{status}."</FONT>";
}
else {
   {status}="<font style='color:#00FF00'>".{status}."</FONT>";
}

Ou as macros sc_field_color ou sc_field_style.

(danyx) #4

Bom dia George

Coloquei essa macro, no entanto, está retornando só uma cor!!!

ex: if({status} = ‘Esperando’)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}

está retornando só azul, no entanto, quando fosse agendado retornasse verde!!

Desde já agradeço!!

(Cleyton Euler) #5

Danyx, seu código tem um errinho:

ex: if({status} =‘Esperando’)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}

Utilize == no IF que acho que vai dá certo.

(danyx) #6

Olá Cleyton,

Testei com == com aspas simples e dupla e nada!!
Estranho qua na versao anterior nao tinha problema nenhum!!!
e agora?

(George Carvalho) #7

Ponha echo({status}); para verificar o valor do campo.

(danyx) #8

Opa George,

coloquei conforme vc falou:

if echo({status}==“Esperando”)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}

apareceu esse erro:
Parse error: syntax error, unexpected T_ECHO, expecting ‘(’ in C:\Program Files (x86)\NetMake\v5\wwwroot\scriptcase\app\JetClinic\grid_agendar_consulta\grid_agendar_consulta_grid.class.php on line 1638

(Tiago Kirsten) #9

Você interpretou mal o George,

ele disse pra você fazer assim:

echo({status});

if ({status}==“Esperando”)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}

(danyx) #10

Mesmo assim, nada!!!
Nao sei o que eu faço mais!!

(Lucimar Magalhães) #11

Tentou o sc_field_style?

(George Carvalho) #12

Qual o valor listado no echo?

Se não listou nada seu campo ta branco.

(danyx) #13

Olá George,

Na consulta com o echo aparece só 1 e 2, quais os parâmetros que eu tenho que colocar?

(George Carvalho) #14

Se 1 for ‘Esperando’

if ({status} == ‘1’)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}

ou

Se 2 for ‘Esperando’

if ({status} == ‘2’)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}

Vai depender do valro do ‘Esperando’.

(waae) #15
  • vi em um dos tópicos… nao lembro qual… que essa macro não está mesmo funcionado na nova versão… nao consegui achar o topico.
    Tb uso essa macro em muitos projetos… como ainda não mudei de versão essas alterações me preocupam!!
(George Carvalho) #16

Jaqueline,

O problema é que nosso amigo esta testando com o label do campo e não com o valor.

Quanto a macro funciona, acabei de testar utilizando a Versão 5.01.0007

(danyx) #17

if ({status} == ‘1’)
{
sc_field_color(“status”,"#0000FF");
}
else
{
sc_field_color(“status”,"#008B00");
}
Veleu George,

Tinha que passar mesmo o valor!!!

no entanto, Quando clico em detalhes aparece esse: Parse error: syntax error, unexpected T_ELSE in C:\Program Files (x86)\NetMake\v5\wwwroot\scriptcase\app\JetClinic\grid_agendar_consulta\grid_agendar_consulta_det.class.php on line 292

(George Carvalho) #18

Post as linhas 291, 292 e a 293