caros senhores,
estou usando a versao 6.0.0030 do SC e no evendo ajax onChange nao esta funcionando a macro sc_field_display,
e fazendo mais testes percebi que quando eu clico no botao novo ele nao tambem ignora o macro mostrando todos os campos.
Boa tarde,
Reportei este problema para que nossa equipe de bugs possa diagnosticar o bug.
Att,
Bernhard Bernsmann
Bom dia.
Poderia nos dar uma passo a passo no cenario utilizado.
1 - Qual formulario?
2 - Qual o campo foi criado o evento ajax?
3 - O Codigo utilizado.
Se possivel envie para bugs@netmake.com.br
e um formulario simples uncio registro, o campo e um select pessoa fisica (F) e juridica (J) o codigo utilizado foi o seguinte
# Verificando se tipo de pessoa e fisica ou juridica
if ({tipo_pessoa} == 'F')
{
# Aba Basicos
# mostra
sc_field_display({cpf}, on);
sc_field_display({rg}, on);
sc_field_display({nome_pai}, on);
sc_field_display({nome_mae}, on);
sc_field_display({orgao_expedidor}, on);
sc_field_display({naturalidade}, on);
sc_field_display({data_nascimento}, on);
# esconde
sc_field_display({cnpj}, off);
sc_field_display({nome_fantasia}, off);
sc_field_display({nome_responsavel}, off);
sc_field_display({ie}, off);
}
elseif ({tipo_pessoa} == 'J')
{
# Aba Basicos
# mostra
sc_field_display({cnpj}, on);
sc_field_display({nome_fantasia}, on);
sc_field_display({nome_responsavel}, on);
sc_field_display({ie}, on);
# esconde
sc_field_display({cpf}, off);
sc_field_display({rg}, off);
sc_field_display({nome_pai}, off);
sc_field_display({nome_mae}, off);
sc_field_display({orgao_expedidor}, off);
sc_field_display({naturalidade}, off);
sc_field_display({data_nascimento}, off);
}
nao há nada de anormal ao meu ver…
Coloque todos os campos On e use o Off no If.
meu caro todos os campos estao on porem se o cliente alterar ira desligar todos os campos ( segundo a minha logica ),
a minha logica esta totalmente correta está havendo um erro na macro… eu ja fiz o teste com outras macros e elas funcionam corretamente. o meu problema é exatamente no macro sc_field_display
Segundo seu código postado vc não esta fazendo como falei.
Desculpa.
No evento onLoad de uma aplicação form:
if({tipo_pessoa} == ‘F’){
{tipo_fornecedor} = ‘Fornecedor pessoa física’;
sc_label(“razao_social_nome”) = “Nome*”;
sc_label(“insc_estadual_rg”) = “Rg/Orgão emissor/UF*”;
sc_label(“cnpj_cpf”) = “CPF*”;
sc_block_display(data_nasc, on);
sc_block_display(insc_municipal, off);
}else{
{tipo_fornecedor} = ‘Fornecedor pessoa júridica’;
sc_label(“razao_social_nome”) = “Razão social*”;
sc_label(“insc_estadual_rg”) = “Inscrição estadual”;
sc_label(“cnpj_cpf”) = “CNPJ*”;
sc_block_display(data_nasc, off);
sc_block_display(insc_municipal, on);
}
E funcionando sem problema.
Caro George Carvalho
Não quero ser grosso mais se você leu meu tópico vai perceber que estou tendo problemas somente na função ajax_onChange e que a função onLoad está funcionando corretamente.
OK!
Troque o sc_block por sc_field
depois de mais alguns testes apreceu determinado erro
Undefined offset: 1 | Script: D:\NetMake\v6\wwwroot\scriptcase\devel\class\generator\nmDados.class.php linha: 10487
o codigo que eu estou usando é o:
# Verificando se tipo de pessoa e fisica ou juridica
if ({tipo_pessoa} == 'F')
{
# Aba Basicos
# mostra
sc_field_display({cpf},on);
sc_field_display({rg},on);
sc_field_display({nome_pai},on);
sc_field_display({nome_mae},on);
sc_field_display({orgao_expedidor},on);
sc_field_display({naturalidade},on);
sc_field_display({data_nascimento},on);
# esconde
sc_field_display({cnpj},off);
sc_field_display({nome_fantasia},off);
sc_field_display({nome_responsavel},off);
sc_field_display({ie}, off);
}
else
{
# Aba Basicos
# mostra
sc_field_display({cnpj},on);
sc_field_display({nome_fantasia},on);
sc_field_display({nome_responsavel},on);
sc_field_display({ie},on);
# esconde
sc_field_display({cpf},off);
sc_field_display({rg},off);
sc_field_display({nome_pai},off);
sc_field_display({nome_mae},off);
sc_field_display({orgao_expedidor},off);
sc_field_display({naturalidade} off);
sc_field_display({data_nascimento},off);
}