RS
Pegar Valor de variável para meus IFs
Bom dia!
Amigos...algo que parece tão "banal" mas que em php nao peguei bem a idéia....
crio variáveis / campos facilmente:
$cod_cli = new TEntry('cod_cli');
$tipo_pessoa = new TCombo('tipo_pessoa');
e depois coloco na tela normalmente:
$row = $this->form->addFields( [ new TLabel('Código'), $cod_cli ],
[ new TLabel('Tipo Pessoa'), $tipo_pessoa ] );
preencho os dados e até salvo no banco normalmente...percebi que no onSave da vida ele lê todos os dados do Form...blz
mas a questão é que preciso colocar algumas regras no form: por exemplo, se no campo $tipo_pessoa for selecionado "PESSOA FÍSICA", alguns campos teram o comportamento diferente de se selecionado "PESSOA JURIDICA"...ou seja, preciso ler os valores de alguns campos específicos para fazer meus IFs...como seria essa leitura individual de uma campo / variável de pois de preenchidos?
Rodrigo
Amigos...algo que parece tão "banal" mas que em php nao peguei bem a idéia....
crio variáveis / campos facilmente:
$cod_cli = new TEntry('cod_cli');
$tipo_pessoa = new TCombo('tipo_pessoa');
e depois coloco na tela normalmente:
$row = $this->form->addFields( [ new TLabel('Código'), $cod_cli ],
[ new TLabel('Tipo Pessoa'), $tipo_pessoa ] );
preencho os dados e até salvo no banco normalmente...percebi que no onSave da vida ele lê todos os dados do Form...blz
mas a questão é que preciso colocar algumas regras no form: por exemplo, se no campo $tipo_pessoa for selecionado "PESSOA FÍSICA", alguns campos teram o comportamento diferente de se selecionado "PESSOA JURIDICA"...ou seja, preciso ler os valores de alguns campos específicos para fazer meus IFs...como seria essa leitura individual de uma campo / variável de pois de preenchidos?
Rodrigo
Para "ler" valores de campos, você pode fazer assim:
Suponhamos que você queira saber o valor do campo cod_cli ou do tipo_pessoa:
Quando se usa um parâmetro em uma função (nesse caso a variável $param), automaticamente o framework passa TODOS OS CAMPOS DO FORMULÁRIO para a função, bastando apenas consultar o valor do campo através do nome do campo como mostrado acima. Isso é útil em casos nos quais estamos usando uma função estática onde não podemos usar a variável "->this".
Outra forma de "ler" os dados dos campos preenchidos é assim: (agora mantendo o formulário preenchido sem usar parâmetro na função)
Fábio! Muito obrigado pela atenção!
Usei a primeira opção e funcionou lindamente...mas, para completar esse if, preciso depois de ler o tipo_pessoa, se for JURIDICA, preciso desabilitar alguns campos...notei que para desabilitar um campo basicamente seria assim:
$tipo_pessoa->setEditable(FALSE);
mas como criei uma função(abaixo), nao esta conseguindo acessar a variavel $cnpj_cpf:
public function onValidaTipoPessoa( $param )
{
if($param['tipo_pessoa'] == 'F')
{
new TMessage('info', 'tipo de pessoa: fisica');
$cnpj_cpf->setEditable(FALSE); <<<<<<<---------------AQUI
}else{
new TMessage('info', 'tipo de pessoa: JURIDICA');
}
}
Rodrigo, tente assim:
O mesmo serve para outros tipos de campo, exemplo: