0
"Access to an internal field of a vector must be indexed: name " This message appears when I try to upload my code, I do not understand what is wrong whereas I declared all Fields, follow code :
template[TEMP_BFNProcuracao] {
metainfo {
language = "pt_BR"
declarations {
+<naturezaJuridica> : List ("Pessoa Física" , "Pessoa Jurídica") {
name = "Natureza Jurídica do cliente"
request = "O cliente é Pessoa Física ou Pessoa Jurídica?"
atomic = true
default = "Pessoa Física"
},
-|clientePf| : Vector [*PessoaFisica] {
name = "Dados do cliente"
request = "Insira as informações do cliente"
},
-|cliente| : Vector [*PessoaJuridica] {
name = "Dados da Empresa"
request = "Insira as informações do cliente"
},
+|adv| : Vector [*Advogado] {
name = "Dados do Advogado"
request = "Informe os dados do advogado"
},
-<data> : Date ,
+<procuracao> : List ("ad judicia et extra" , "ad judicia") {
name = "Procuração"
request = "Informe o tipo de procuração"
default = "ad judicia"
atomic = true
},
+<numeroDoProcesso> : String {
name = "Número do Processo"
request = "Informe o número do processo"
},
&<prazoDeValidade> : Date {
name = "Prazo de Validade da Procuração"
request = "Informe a data de validade da procuração"
}
}
}
head {
title = "Procuração BFN"
}
body {
operations {
use *branch[BRC_Operacoes]
}
}
}
// colocar vetor para clientes e advogados
*branch[BRC_ProcuracaoPF] {
operations {
print "Pelo presente instrumento particular, " ,
beginList("I"),
foreach(<clientePf> IN |clientePf|) where (separator = "%f; %s; %p; e %l.") {
print "\i" & <clientePf.nome> & ", " & <clientePf.nacionalidade> & ", " & <clientePf.estadoCivil> & <clientePf.profissao> & ", RG nº " & <clientePf.rg.numero> & ", residente e domicilidado em " & <clientePf.endereco.logradouro> ,
if (<clientePf.endereco.logradouro> == "Rua") {
<endereco.nomeDaRua>.mandatory = "+" ,
print ", " & <endereco.nomeDaRua>
}
else {
<endereco.nomeDaAvenida>.mandatory = "+" ,
print ", " & <endereco.nomeDaAvenida>
},
print ", nº " & <clientePf.endereco.numero> ,
if ( <clientePf.endereco.complemento>.isNotEmpty()) {
print ", complemento: " & <clientePf.endereco.complemento>
},
print "-" & <clientePf.endereco.cidade> & "- Brasil. \n"
},
endList(),
print " nomeia e constitui seu bastante procurador(es), " ,
beginList("I"),
foreach(<adv> IN |adv|) where (separator = "%f; %s; %p; e %l.") {
print "\i" & <adv.nome> & ", inscrito na OAB/" & <adv.carteira.uf> & "sob o numero " & <adv.carteira.numero> & ", " & <adv.nacionalidade> & ", endereço eletrônico " & <adv.email> & "\n"
},
endList(),
print ", para fim de atuarem profissionalmente, em conjunto ou separadamente, independentemente da ordem de nomeação, outorgando-lhes os poderes da cláusula" & <procuração> & ", mais os necessários para atuação nos autos, processo nº " & <numeroDoProcesso> & ", podendo substabelecer, no todo ou em parte, os poderes conferidos, e todo o mais que for necessário para o bom e fiel cumprimento do presente mandato. \n" ,
if (<prazoDeValidade>.isNotEmpty ()) {
print "Esta procuração é valida até a data do dia "& <procuracao.prazoDeValidade> & "."
},
print "\t\n São Paulo, " & <data> & "
\t\n _________________________________________________"
}
}
*branch[BRC_ProcuracaoPJ] {
operations {
print "Pelo presente instrumento particular, " ,
beginList("I"),
foreach(<cliente> IN |cliente|) where (separator = "%f; %s; %p; e %l.") {
print "\i" & <cliente.razaoSocial> & ", CNPJ nº " & <cliente.cnpj> & ", com sede em " & <cliente.endereco.via> ,
if (<cliente.endereco.via> == "Rua") {
<cliente.endereco.nomeDaRua>.mandatory = "+" ,
print ", " & <endereco.nomeDaRua>
}
elseif (<cliente.endereco.via> == "Avenida") {
<cliente.endereco.nomeDaAvenida>.mandatory = "+" ,
print ", " & <cliente.endereco.nomeDaAvenida>
}
else {
<cliente.endereco.nomeDaEstrada>.mandatory = "+" ,
print ", " & <cliente.endereco.nomeDaEstrada>
},
print ", nº " & <cliente.endereco.numero> ,
if(<cliente.endereco.complemento>.isNotEmpty()) {
print ", complemento: " & <cliente.endereco.complemento>
},
print "-" & <cliente.endereco.cidade> & "- Brasil. \n"
},
endList(),
print ", devidamente representada por " & <cliente.representante.nome> & ", RG nº " & <cliente.representante.rg.numero> ,
if (<ehSocioAdministrador> == true ) {
print " na qualidade de sócio administrador"
}
else {
print " na qualidade de sócio"
},
print " nomeia e constitui seu bastante procurador(es), " ,
beginList("I"),
foreach(<adv> IN |adv|) where (separator = "%f; %s; %p; e %l.") {
print "\i" & <adv.nome> & ", inscrito na OAB/" & <adv.carteira.uf> & "sob o numero " & <adv.carteira.numero> & ", " & <adv.nacionalidade> & ", endereço eletrônico " & <adv.email> & "\n"
},
endList(),
print ", para fim de atuarem profissionalmente, em conjunto ou separadamente, independentemente da ordem de nomeação, outorgando-lhes os poderes da cláusula" & <procuração> & ", mais os necessários para atuação nos autos, processo nº " & <numeroDoProcesso> & ", podendo substabelecer, no todo ou em parte, os poderes conferidos, e todo o mais que for necessário para o bom e fiel cumprimento do presente mandato. \n" ,
if (<prazoDeValidade>.isNotEmpty ()) {
print "Esta procuração é valida até a data do dia "& <procuracao.prazoDeValidade> & "."
},
print "\t\n São Paulo, " & <data> & "
\t\n _________________________________________________"
}
}
*struct[PessoaFisica] {
name = "Dados Pessoa Física"
request = "Informe os dados pessoais"
fields {
+[nome] : String {
name = "Nome"
request = "Informe o nome completo"
},
+[dataDeNascimento] : Date {
name = "Data de Nascimento"
request = "Informe a data de nascimento"
},
-[nacionalidade] : List ("Brasileiro" , "Estrangeiro"){
atomic = true
default = "Brasileiro"
},
+[estadoCivil] : List ("Casado(a)" , "Solteiro(a)" , "Divorciado(a)" , "Viúvo(a)" , "Desquitado(a)"){
name = "Estado Civil"
request = "Informe o estado civil"
atomic = true
},
-[regimeDeBens] : List ("Comunhão Universal" , "Comunhão Parcial" , "Separação Total") {
name = "Regime de Bens"
request = "Qual o regime de bens?"
atomic = true
},
+[rg] : *RG {
name = "RG"
},
-[cpf] : String where ("\d\d\d.\d\d\d.\d\d\d-\d\d"){
name = "CPF"
request = "Informe o número do cpf"
},
+[endereco] : *EnderecoPessoaFisica {
name = "Endereço da Pessoa"
request = "Informe o Endereço"
},
-[conjuge] : *Conjuge
}
}
*struct[RG] {
name = "RG"
request = "Informações do RG"
fields {
+[numero] : String {
name = "Número do RG"
request = "Informe o número do RG"
},
-[orgaoExpedidor] : String {
name = "Órgão Expedidor"
request = "Informe o órgão expedidor"
default = "SSP"
},
-[dataDeEmissao] : Date {
name = "Data de Emissão"
request = "Qual a data de emissão do documento?"
},
-[uf] : List ("AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO") {
name = "UF"
atomic = true
default = "SP"
}
}
}
*struct[EnderecoPessoaFisica] {
fields {
+[logradouro] : List ("Rua" , "Avenida") {
name = "Logradouro"
request = "Informe a via"
atomic = true
},
-[nomeDaRua] : String {
name = "Nome da rua"
request = "Informe o nome da rua"
},
-[nomedaAvenida] : String {
name = "Nome da avenida"
request = "Informe o nome da avenida"
},
+[numero] : Integer {
name = "Número do logradouro"
request = "Informe o número do logradouro"
},
&[complemento] : String {
name = "Complemento"
request = "Informe o complemento"
help = "Se houver complemento, preencha esse campo"
},
-[uf] : List ("AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO") {
name = "UF"
atomic = true
default = "SP"
},
-[cep] : String {
name = "CEP"
request = "Informe o CEP"
},
-[bairro] : String {
name = "Bairro"
request = "Informe o bairro"
},
+[cidade] : String {
name = "Cidade"
request = "Informe a cidade"
}
}
}
// Pessoa Jurídica
*struct[PessoaJuridica] {
name = "Dados Pessoa Jurídca"
fields {
+[razaoSocial] : String {
name = "Razão Social"
request = "Informe a razão social da empresa"
},
+[cnpj] : String {
name = "CNPJ"
request = "Informe o CNPJ"
},
-[socio] : *Socios {
name = "Informe os dados dos Sócios/Acionistas"
},
+[representante] : *Representante ,
+[endereco] : *EnderecoPessoaJuridica{
name = "Sede"
}
}
}
*struct[EnderecoPessoaJuridica] {
fields {
+[via] : List ("Rua" , "Avenida" , "Estrada") {
name = "Endereço"
request = "Informe a via"
atomic = true
},
+[numero] : Integer {
name = "Número"
request = "Informe o número da sede"
},
&[complemento] : String {
name = "Complemento"
request = "Informe o complemento"
help = "Se houver complemento preencha este campo"
},
+[uf] : List ("AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO") {
name = "UF"
atomic = true
default = "SP"
},
+[cep] : String {
name = "CEP"
request = "Informe o CEP"
},
+[cidade] : String {
name = "Cidade"
request = "Informe a cidade"
},
+[bairro] : String {
name = "Bairro"
request = "Informe o bairro"
},
-[nomeDaRua] : String {
name = "Nome da Rua"
request = "Informe o nome da rua"
},
-[nomeDaAvenida] : String {
name = "Nome da Avenida"
request = "Informe o nome da avenida"
},
-[nomeDaEstrada] : String {
name = "Nome da Estrada"
request = "Informe o nome da estrada"
}
}
}
//Advogado
*struct[Advogado] {
fields {
+[nome] : String {
name = "Nome do advogado"
request = "Informe o nome do advogado"
},
+[cpf] : String where ("\d\d\d.\d\d\d.\d\d\d-\d\d") {
name = "CPF"
request = "Informe o CPF"
},
+[carteira] : *CarteiraOAB {
name = "Carteira da OAB"
},
-[endereco] : *EnderecoPessoaFisica {
name = "Endereço do Advogado"
},
-[escritório] : String {
name = "Escritório"
request = "Informe o nome do escritório"
},
+[email] : String {
name = "Email do Advogado"
request = "Informe o email do advogado"
}
}
}
*struct[CarteiraOAB] {
fields {
+[numero] : String {
name = "Número da carteira da OAB"
request = "Informe o número da carteira da OAB"
},
+[uf] : List ("AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO") {
name = "UF"
request = "Selecione o UF da carteira da OAB"
atomic = true
default = "SP"
}
}
}
*branch[BRC_Operacoes] {
operations {
<clientePf.nome> = bold(uppercase(<clientePf.nome>)),
<cliente.razaoSocial> = bold(uppercase(<cliente.razaoSocial>)),
<data> = today(expandedDate(<data>)),
<adv.nome> = bold(uppercase(<adv.nome>)),
<prazoDeValidade> = expandedDate(<prazoDeValidade>) ,
if (<naturezaJuridica> == "Pessoa Física") {
<clientePf>.mandatory = "+" ,
use *branch[BRC_ProcuracaoPF]
}
elseif (<naturezaJuridica> == "Pessoa Jurídica") {
<cliente>.mandatory = "+" ,
use *branch[BRC_ProcuracaoPJ]
}
}
}
*struct[Representante] {
name = "Representante"
fields {
+[nome] : String {
name = "Nome do representante"
request = "Informe o nome do representante"
},
+[rg] : *RG {
name = "Dados do rg do representante"
},
+[ehSocioAdministrador] : Boolean {
name = "Sócio Administrador"
request = "O representante é sócio administrador?"
}
}
}
Please edit your question and try to put in code between the appropriate and indented tags. So the community can help you more easily.
– Victor Henrique