Autor Tópico: ** RESOLVIDO ** Campos ReadOnly e Navegação  (Lida 1855 vezes)

Agostinho

  • Avançado
  • ****
  • Mensagens: 277
    • Email
** RESOLVIDO ** Campos ReadOnly e Navegação
« Online: Fevereiro 11, 2010, 04:22:10 pm »
Criei um formulario e no evento onLoad dele coloquei o código abaixo:

if ({valor_pago} = 0) {
      sc_field_readonly({empresa}, 'off');
      sc_field_readonly({tipo_lancamento}, 'off');
      sc_field_readonly({centro_custo}, 'off');
      sc_field_readonly({pessoa}, 'off');
      sc_field_readonly({data_entrada}, 'off');
      sc_field_readonly({data_emissao}, 'off');
      sc_field_readonly({debito_credito}, 'off');
      sc_field_readonly({numero}, 'off');
      sc_field_readonly({observacao}, 'off');
}else{
      sc_field_readonly({empresa}, 'on');
      sc_field_readonly({tipo_lancamento}, 'on');
      sc_field_readonly({centro_custo}, 'on');
      sc_field_readonly({pessoa}, 'on');
      sc_field_readonly({data_entrada}, 'on');
      sc_field_readonly({data_emissao}, 'on');
      sc_field_readonly({debito_credito}, 'on');
      sc_field_readonly({numero}, 'on');
      sc_field_readonly({observacao}, 'on');
      sc_alert("Titulo ja possui valor pago, nao pode ser alterado");       
}

Meu problema é que ao navegar entre os registros e encontrar o campo (VALOR_PAGO <> 0) ele coloca ReadOnly no campos cfe a regra, mas ao navegar para os próximos registros ele nao passa de novo pela regra para testar o campo (VALOR_PAGO = 0) e deixar como false o ReadOnly, alguem sabe como resolver isto. Ja tentei colocar no event Refresh e tb não resolveu, ou seja, o que ele assume a primeira vez é o que fica e mesmo o registro seguinte sendo diferente ele não volta.
« Última modificação: Fevereiro 11, 2010, 07:46:59 pm por Agostinho »

George Carvalho

  • Expert
  • *****
  • Mensagens: 1373
    • Email
Re: Campos ReadOnly e Navegação
« Responder #1 Online: Fevereiro 11, 2010, 05:44:44 pm »
Agostinho,

Não sou muito bom em programação PHP mais:

(NUNCA ESQUECER que o sinal de comparação é "==" (dois iguais) e que o de atribuição é so "=" (um igual). É frequente as pessoas distraírem-se e colocar apenas um "=" dentro de um if e terem resultados inesperados, porque quando se faz if ($a=$b) estamos a atribuir a $a o valor de $b, e não a comparar se $a é igual a $b)

Li esta observação e nunca esqueci, no seu caso não seria if ({valor_pago} == 0) {

George Carvalho
George Carvalho
Porto de Galinhas/PE

Agostinho

  • Avançado
  • ****
  • Mensagens: 277
    • Email
Re: Campos ReadOnly e Navegação
« Responder #2 Online: Fevereiro 11, 2010, 07:46:31 pm »
Esta certo vc, vicios do COBOL, DELPHI e por ai vai, teste e realmente resolveu desta forma.

obrigado

Agostinho,

Não sou muito bom em programação PHP mais:

(NUNCA ESQUECER que o sinal de comparação é "==" (dois iguais) e que o de atribuição é so "=" (um igual). É frequente as pessoas distraírem-se e colocar apenas um "=" dentro de um if e terem resultados inesperados, porque quando se faz if ($a=$b) estamos a atribuir a $a o valor de $b, e não a comparar se $a é igual a $b)

Li esta observação e nunca esqueci, no seu caso não seria if ({valor_pago} == 0) {

George Carvalho