Eu fui responder, o tópico sumiu.
O que ocorreu. Eu tenho uma versão em produção gerado pelo SC 7.1 no qual o código funcionada e pintava a cor de fundo da linha de acordo com o status da OS.
Agora eu precisei fazer uma manutenção com a versão SC8.1 e está dando erro:
Atenção
Use of undefined constant iw - assumed 'iw'
Script: /home/mgsistem/public_html/scriptcase/app/motoexpressweb218/grid_ordem_servico/grid_ordem_servico_grid.class.php (1835)
Atenção
Undefined index: realca_vermelho
Script: /home/mgsistem/public_html/scriptcase/app/motoexpressweb218/grid_ordem_servico/grid_ordem_servico_grid.class.php (1835)
Segue o código:
onScriptInit - eu limito alguns registros de acordo com o status da ordem de serviço:
//sc_select_where(add) = "WHERE situacao in ('P','E')";
if (empty({sc_where_current})){
sc_select_where(add) = " where situacao <> 'X' ";
} else {
sc_select_where(add) = " AND situacao <> 'X' ";
}
No onRecord - de acordo com o status eu defino o array de cores
// Define as cores de acordo com a situacao da OS
sc_warning = 'off';
sc_field_color('id_ordem','#FFFFFF');
sc_field_color('data_cadastro','#FFFFFF');
sc_field_color('descricao_tipo_transporte','#FFFFFF');
sc_field_color('id_cliente','#FFFFFF');
sc_field_color('nome_cliente','#FFFFFF');
sc_field_color('nome_solicitante','#FFFFFF');
sc_field_color('local1','#FFFFFF');
sc_field_color('valor_servico','#FFFFFF');
sc_field_color('nome_funcionario','#FFFFFF');
sc_field_color('descricao_situacao','#FFFFFF');
sc_field_color('id_recebimento','#FFFFFF');
sc_field_color('nome_funcionario','#FFFFFF');
sc_field_color('itinerario','#FFFFFF');
sc_field_color('previsao_entrega','#FFFFFF');
// Pendente
[iw]["i"]=$_i=[iw]["i"]+1;
if ({situacao}=='P') { // realçar linhas cuja situacao == 'C'
[iw]["realca_vermelho"][$_i]=[iw]["i"];
}
// Cancelado ou cancelado pelo cliente
if ({situacao}=='X' || {situacao}=='T') {
[iw]["realca_branco"][$_i]=[iw]["i"];
sc_field_color('id_ordem','#000000');
sc_field_color('data_cadastro','#000000');
sc_field_color('descricao_tipo_transporte','#000000');
sc_field_color('id_cliente','#000000');
sc_field_color('nome_cliente','#000000');
sc_field_color('nome_solicitante','#000000');
sc_field_color('local1','#000000');
sc_field_color('valor_servico','#000000');
sc_field_color('nome_funcionario','#000000');
sc_field_color('descricao_situacao','#000000');
sc_field_color('id_recebimento','#000000');
sc_field_color('nome_funcionario','#000000');
sc_field_color('itinerario','#000000');
sc_field_color('previsao_entrega','#000000');
}
// Entregue, em transito ou devolvido
if ({situacao}=='R' || {situacao}=='E' || {situacao}=='D') {
[iw]["realca_amarelo"][$_i]=[iw]["i"];
sc_field_color('id_ordem','#000000');
sc_field_color('data_cadastro','#000000');
sc_field_color('descricao_tipo_transporte','#000000');
sc_field_color('id_cliente','#000000');
sc_field_color('nome_cliente','#000000');
sc_field_color('nome_solicitante','#000000');
sc_field_color('local1','#000000');
sc_field_color('valor_servico','#000000');
sc_field_color('nome_funcionario','#000000');
sc_field_color('descricao_situacao','#000000');
sc_field_color('id_recebimento','#000000');
sc_field_color('nome_funcionario','#000000');
sc_field_color('itinerario','#000000');
sc_field_color('previsao_entrega','#000000');
}
// Concluido ou fechado
if ({situacao}=='C' || {situacao}=='F'){
[iw]["realca_verde"][$_i]=[iw]["i"];
}
$sql = "select * from ocorrencia where id_ordem = " . {id_ordem};
sc_lookup(rs_ocor, $sql);
if (isset({rs_ocor[0][0]})) {
{ocorrencias} = "<img src='../_lib/img/sys__NM__alerta4.gif' />";
} else {
{ocorrencias} = "";
}
if ({situacao} == 'P' || {situacao} == 'E' || {situacao} == 'R' || {situacao} == 'D' || {situacao} == 'T'){
{fechar_ordem_servico} = "<img src='../_lib/img/sys__NM__icone-cifrao.png' height=15 width=15 />";
} else {
{fechar_ordem_servico} = "";
}
$sql = " select * from protocolo where id_ordem = " . {id_ordem};
sc_lookup(pro,$sql);
if (isset({pro[0][0]})) {
{ver_protocolo} = "<img src='../_lib/img/sys__NM__m1.gif' height=15 width=15 />";
} else {
{ver_protocolo} = "";
}
//
if ([ACESSO] >= 2) {
{excluir_os} = "<img src='../_lib/img/delete_16.png' height=15 width=15 />";
} else {
{excluir_os} = "";
}
// Verifica se houve uma avaliação
$sql = " select id_ordem from ordem_servico_avaliacao where id_ordem='{id_ordem}'";
sc_lookup(ava,$sql);
if (isset({ava[0][0]})) {
{avaliar_os} = "<img src='../_lib/file/img/lock.png' height='15' width='15' alt='Ordem de Serviço já Avaliada' />";
} else {
{avaliar_os} = "<img src='../_lib/file/img/star_full.png' height='15' width='15' alt='Avaliar esta Ordem de Serviço'/>";
}
No onHeader
[iw]["i"]=0;
[iw]["realca_vermelho"]=array();
[iw]["realca_azul"]=array();
[iw]["realca_amarelo"]=array();
[iw]["realca_branco"]=array();
[iw]["realca_verde"]=array();
No onFooter
$_js="<script >";
foreach ([iw]["realca_vermelho"] as &$_line) {
$_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"red\" );";
}
foreach ([iw]["realca_azul"] as &$_line) {
$_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"blue\" );";
}
foreach ([iw]["realca_amarelo"] as &$_line) {
$_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"yellow\" );";
}
foreach ([iw]["realca_branco"] as &$_line) {
$_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"white\" );";
}
foreach ([iw]["realca_verde"] as &$_line) {
$_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"green\" );";
}
$_js.="</script>";
echo $_js;