Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3123 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde,

 

 

Estou desenvolvendo a NFSe para Uberlandia/MG e no momento de envio da NFSe esta ocorrendo o erro: 

The element 'DataEmissaoRPS' with value '' failed to parse.

 

Segue o código abaixo.

 

Debugando o codigo vi que ao carregar o XML para o acbr ele esta capturando a data de forma correta, porem quando o acbr desmancha o xml para fazer a assinatura e remonta o xml (  FDadosMsg  ) está faltando a TAG <DataEmissaoRPS>.

 

Quando entra para o metodo de validação ocorre o erro.

 

  if FProvedorClass.GetValidarLote
    then begin
     if not(NotaUtil.Valida(FDadosMsg, FMsg,
                            FConfiguracoes.Geral.PathSchemas,
                            FConfiguracoes.WebServices.URL,
                            FConfiguracoes.WebServices.ServicoEnviar,
                            FConfiguracoes.WebServices.Prefixo4))
      then raise Exception.Create('Falha na validação do Lote ' +
                     TNFSeEnviarLoteRps(Self).NumeroLote + sLineBreak + FMsg);
    end;

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Bom dia,

 

Italo funcionou perfeitamente, porem deu outro problema agora na TAG <DocEstrangeiroTomador>, na função TNFSeR.LerRPS_IssDSF do arquivo 

pnfsNFSeR.pas, quando faço o LoadFromStream para passar o arquivo XML para o componente.

 

 

NFSe.Tomador.IdentificacaoTomador.InscricaoMunicipal := Leitor.rCampo(tcStr, 'InscricaoMunicipalTomador');
NFSe.Tomador.IdentificacaoTomador.CpfCnpj := Leitor.rCampo(tcStr, 'CPFCNPJTomador');
NFSe.Tomador.IdentificacaoTomador.DocTomadorEstrangeiro :=  'DocTomadorEstrangeiro';  -- Faltou adicionar a função( Leitor.rCampo )
NFSe.Tomador.Contato.Email := Leitor.rCampo(tcStr, 'EmailTomador');
NFSe.Tomador.Contato.Telefone          := Leitor.rCampo(tcStr, 'DDDTomador') + Leitor.rCampo(tcStr, 'TelefoneTomador');
 
Corrigi no meu arquivo funcionou perfeitamente.
 
 
Agora estou brigando com o envio, que aparentemente deu certo mas não deu!! hehehehehe
 
Desde já Obrigado!!

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Italo, 

 

tem mais algumas coisas aqui que estou verificando...!!! Vocês vão cansar de mim!!

 

Estou vendo que na função AcbrNFSe1.ConsultarLoteRps no arquivo ACBrNFSe.pas vocês tentam carregar o arquivo através do NotasFiscais.LoadFromFile(); porem percebi que o mesmo não esta preparado para DSF e tiver que utlizar o NotasFiscais.LoadFromStream(); e simplemente porque a TAG <RPS> vem CaseSensitive e com isso ele não consegue carregar este arquivo na propria função.

 

Solução foi criar o Stream e Carregar o XML de forma manual antes de chamar a função, como a property NotasFiscais está carregada neste momento não caiu no erro:

 

   if NotasFiscais.Count <= 0
    then begin
     if Assigned(Self.OnGerarLog)
      then Self.OnGerarLog('ERRO: Nenhum RPS adicionado');
     raise Exception.Create('ERRO: Nenhum RPS adicionado');
     exit;
    end;

 

 

Código onde se encontra o LoadFromFile();

 

    if FilesExists(aPath+'Ger\'+ANumLote+'-env-lotS.xml') then
    begin
     // Alterado por Rodrigo Cantelli
     if FConfiguracoes.Arquivos.AdicionarLiteral then
        NotasFiscais.LoadFromFile(aPath+'Ger\'+ANumLote+'-env-lotS.xml')
      else
       if FConfiguracoes.Arquivos.Salvar then
         NotasFiscais.LoadFromFile(aPath+ANumLote+'-env-lotS.xml');
    end
    else
    begin
      if FConfiguracoes.Arquivos.AdicionarLiteral then
        NotasFiscais.LoadFromFile(aPath+'Ger\'+ANumLote+'-env-lot.xml')
      else
       if FConfiguracoes.Arquivos.Salvar then
         NotasFiscais.LoadFromFile(aPath+ANumLote+'-env-lot.xml');
    end;
 
 
 
 
Outra coisa é o seguinte na function TNFSeConsultarLoteRPS.Executar do arquivo AcbrNFSeWebService.pas neste pedaço de código abaixo
percebi que utilizo esta função em negrito a string esta ficando vazia não preenchendo o segundo arquivo.
 
    ReqResp.Execute(Acao.Text, Stream);
    StrStream := TStringStream.Create('');
    StrStream.CopyFrom(Stream, 0);
 
    // FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
    // Luiz Baião 2014.12.02    ACBrProvedorNFSEBrasil
//    if FProvedor = proNFSEBrasil then
//      FRetornoWS := TiraAcentos(CaracterEmTagXML(StrStream.DataString, True))
//    else
    FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));  // Gabriel M
 
    FRetWS := FProvedorClass.GetRetornoWS(acConsLote, FRetornoWS);
 
    StrStream.Free;
 
 
 
Eu enviei a nota, teve sucesso no arquivo de retorno, porem quando vou consultar a nota logo em seguida ele me aparece o erro codigo 203 = "Lote não processado ainda", e esse cara cai em um exception travando a aplicação. Acredito que este alerta não seria o caso de um Exception pois entendi que o lote foi enviado porem ainda não processado e preciso ficar consultando o lote? Eu acho que é isso, se eu estiver errado me corrija por favor.
 
 
   Result := Self.ConsLote.Executar;
 
   if not (Result)
    then begin
     if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog)
      then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.ConsLote.Msg);
 
     if Self.ConsLote.Msg <> ''
     then raise Exception.Create(Self.ConsLote.Msg)
     else raise Exception.Create('Erro Desconhecido ao Consultar o Lote!')
 
    end;
 
E a ultima duvida é o seguinte.....
 
Enviei o lote, houve esse retorno de lote não processado ainda, quando eu tento consultar o lote novamente de forma separada ele estoura um erro que não estou conseguindo identificar:  Parte do código abaixo
 
ESOAPHTTPException with message 'O sistema não pode encontrar o arquivo especificado'URL: http://udigital.uberlandia.mg.gov.br/WsNFe2/LoteRps.jws?wsdll- SOAPAction:consultarLote
 
    ReqResp.Execute(Acao.Text, Stream);
    StrStream := TStringStream.Create('');
    StrStream.CopyFrom(Stream, 0);
 
    // FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
    // Luiz Baião 2014.12.02    ACBrProvedorNFSEBrasil
//    if FProvedor = proNFSEBrasil then
//      FRetornoWS := TiraAcentos(CaracterEmTagXML(StrStream.DataString, True))
//    else
    FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));  // Gabriel M
 
    FRetWS := FProvedorClass.GetRetornoWS(acConsLote, FRetornoWS);
 
    StrStream.Free;
 
 
 

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Italo, me desculpe esse segundo problema que passei acima foi equivocado algumas vezes retornam vazios outros não, ainda não identifiquei porque!!

 

Ignore, o problema que esta sendo retornado pelo WS no arquivo 6215727-lista-nfse-soap.xml é este: 

 

<Codigo>106</Codigo><Descricao>A Data Final de emissao das Notas Fiscais enviadas nao pode ser inferior a 01/06/2006.

 

Acredito que na hora do envio para o WS pode estar dando algum problema pois TAG <DataEmissaoRps> está sendo passada vazia... 

Atenciosamente,

 

Gabriel Monteiro Rezende

  • 2 semanas depois ...
  • 1 mês depois ...
Postado

Boa tarde Gabriel,

 

Por favor, post como anexo somente as Units que você alterou para corrigir o problema.

 

Desta forma fica mais fácil realizarmos um merge e disponibilizar para todos.

 

Boa tarde Italo,

 

É estive meio afastado do projeto estou retornando agora com o desenvolvimento.

 

É vou iniciar de novo o assunto, sobre esses erros anteriores conseguimos sanar aqui, acredito que era alguma coisa na informações do ACBrNFSe.

 

Estou com o seguinte problema que é o seguinte, consigo enviar a Nota e não ocorre erro nem nada, logo após o envio destas notas preciso consulta-las para verificar se foi processada. Gostaria de saber se é algum problema na minha codificação ou no ACBR.

 

Estou meio bloqueado nesta parte, pois consegui enviar o lote e agora não consigo obter o retorno.

 

Segue os Print's em anexo.

 

 

Desde já, Obrigado!

 

 

 

 

post-37704-0-73901600-1432834834_thumb.p

post-37704-0-48097700-1432834874_thumb.p

Atenciosamente,

 

Gabriel Monteiro Rezende

  • 2 semanas depois ...
  • Consultores
Postado

Boa noite Gabriel,

 

Post em anexo o fragmento de código da sua aplicação que contem o método de envio e de consulta.

 

Se você utilizar:

 

ACBrNFSe.Enviar(<numLote>);

 

Se encarrega de enviar, consultar, etc.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa noite Gabriel,

 

Post em anexo o fragmento de código da sua aplicação que contem o método de envio e de consulta.

 

Se você utilizar:

 

ACBrNFSe.Enviar(<numLote>);

 

Se encarrega de enviar, consultar, etc.

 

Bom dia Italo,

 

segue abaixo os print's com a minha codificação.

post-37704-0-39618200-1433943438_thumb.p

post-37704-0-33295100-1433943442_thumb.p

post-37704-0-39618200-1433943438_thumb.p

post-37704-0-33295100-1433943442_thumb.p

Atenciosamente,

 

Gabriel Monteiro Rezende

  • Consultores
Postado

Boa tarde Gabriel,

 

Porque você não utiliza o próprio componente para gerar o XML?

 

Porque você carrega o XML salvo em disco em uma variavel Stream e depois o carrega novamente usando o loadfromstream?

 

Sendo que você pode:

 

ACBrNFSe.NotasFiscais.LoadFromFile(<nome completo do arquivo>);

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa tarde Gabriel,

 

Porque você não utiliza o próprio componente para gerar o XML?

 

Porque você carrega o XML salvo em disco em uma variavel Stream e depois o carrega novamente usando o loadfromstream?

 

Sendo que você pode:

 

ACBrNFSe.NotasFiscais.LoadFromFile(<nome completo do arquivo>);

 

Boa tarde Italo,

 

Antigamente tinha a comunicação com a DSFNET via DLL, porem há muitas falhas então começamos a montar o XML de forma manual e após muitos estudos achamos o ACBR, então optamos por fazer o envio pelo mesmo. Então para não perder o serviço feito, continuamos gerando o arquivo XML.

 

O motivo de carregar no Stream é o seguinte, quando eu faço o LoadFromFile o arquivo não é carregado, pois na implementação dessa função a buscar pelo nome "Rps" é casesensitive e seguindo o manual da DSFnet na estrutura do XML é "RPS" tudo maiusculo então crio o arquivo com a TAG "RPS" e "Rps"( não sei se o ocorre problema ), mas quando eu vou carregar pela função LoadFromStream ele faz a captura "RPS" tudo maisculo( ou seja, quando utilizo o LoadFromFile ele não carrega o arquivo no componente ).

Atenciosamente,

 

Gabriel Monteiro Rezende

  • 1 mês depois ...
Postado

Boa tarde Gabriel,

 

Porque você não utiliza o próprio componente para gerar o XML?

 

Porque você carrega o XML salvo em disco em uma variavel Stream e depois o carrega novamente usando o loadfromstream?

 

Sendo que você pode:

 

ACBrNFSe.NotasFiscais.LoadFromFile(<nome completo do arquivo>);

 

Boa tarde Italo,

 

Antigamente tinha a comunicação com a DSFNET via DLL, porem há muitas falhas então começamos a montar o XML de forma manual e após muitos estudos achamos o ACBR, então optamos por fazer o envio pelo mesmo. Então para não perder o serviço feito, continuamos gerando o arquivo XML.

 

O motivo de carregar no Stream é o seguinte, quando eu faço o LoadFromFile o arquivo não é carregado, pois na implementação dessa função a buscar pelo nome "Rps" é casesensitive e seguindo o manual da DSFnet na estrutura do XML é "RPS" tudo maiusculo então crio o arquivo com a TAG "RPS" e "Rps"( não sei se o ocorre problema ), mas quando eu vou carregar pela função LoadFromStream ele faz a captura "RPS" tudo maisculo( ou seja, quando utilizo o LoadFromFile ele não carrega o arquivo no componente ).

....

Atenciosamente,

 

Gabriel Monteiro Rezende

  • Consultores
Postado

Bom dia Gabriel,

Na unit ACBrNFSeNotasFiscais - function LoadFromFile altere a linha:

                    else if pos('</Rps>', ArquivoXML.Text) > 0

para:

                    else if (pos('</Rps>', ArquivoXML.Text) > 0) or (pos('</RPS>', ArquivoXML.Text) > 0)

Acredito que com essa alteração vai fazer a leitura do XML.

 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado (editado)

Bom dia Gabriel,

Na unit ACBrNFSeNotasFiscais - function LoadFromFile altere a linha:

                    else if pos('</Rps>', ArquivoXML.Text) > 0

para:

                    else if (pos('</Rps>', ArquivoXML.Text) > 0) or (pos('</RPS>', ArquivoXML.Text) > 0)

Acredito que com essa alteração vai fazer a leitura do XML.

Bom dia Italo, então o problema é:

Se vc reparar na parte mas abaixo na função: CASE Tipo OF o tratamento é diferente no segundo caso(LoadFromStream). Ou seja mesmo fazendo esta alteração, quando chegou na parte de carregar as informações ele não encontrou as TAGs.

Essa função não foi tratado para "operadora" IssDSF. Olhe a diferença depois entre uma e outra, segue abaixo.

 

Na unit ACBrNFSeNotasFiscais - function LoadFromFile

  if pos('</CompNfse>', ArquivoXML.Text) > 0
   then Tipo := 1
   else if pos('</ComplNfse>', ArquivoXML.Text) > 0
         then Tipo := 2
         else if pos('</Nfse>', ArquivoXML.Text) > 0
               then Tipo := 3
               else if pos('</ListaRps>', ArquivoXML.Text) > 0
                    then Tipo := 4
                    else if pos('</Rps>', ArquivoXML.Text) > 0 ) 
                         then Tipo := 5

                         else if pos('</listaRps>', ArquivoXML.Text) > 0
                              then Tipo := 6
                              else if pos('</NFS-e>', ArquivoXML.Text) > 0
                                    then Tipo := 7 // Infisc
                                    else Tipo := 0;

 

Na unit ACBrNFSeNotasFiscais - function LoadFromStream

 

  if pos('</CompNfse>', ArquivoXML.Text) > 0
   then Tipo := 1
   else if pos('</ComplNfse>', ArquivoXML.Text) > 0
         then Tipo := 2
         else if pos('</Nfse>', ArquivoXML.Text) > 0
               then Tipo := 3
               else if pos('</ListaRps>', ArquivoXML.Text) > 0
                    then Tipo := 4
                    else if pos('</Rps>', ArquivoXML.Text) > 0
                         then Tipo := 5
                         else if pos('</listaRps>', ArquivoXML.Text) > 0
                              then Tipo := 6
                              else if pos('</RPS>', ArquivoXML.Text) > 0
                                then Tipo := 7 //issDSF / CTA

                                else if pos('</Nota>', ArquivoXML.Text) > 0
                                  then Tipo := 8 //issDSF / CTA
                                  else Tipo := 0; 

Editado por Gabriel Rezende

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado (editado)

Bom dia Italo, 

tenho uma boa noticia, eu eliminei essa geração do XML de forma manual, já passei tudo direto pelo componente tive sucesso até o momento de Envio.

Estou com o problema na TAG <DescriminacaoServico/> o erro segue abaixo: 

 

Mesmo preenchendo a mesma.

 

Sem título.png

Sem título2.png

Editado por Gabriel Rezende

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Bom dia Gabriel,

creio que você não esteja informando os itens do RPS (para este provedor é necessário)

with ItemServico.Add do
  begin
    Descricao     := 'Discriminacao';
    Quantidade  := 1;
    ValorUnitario:= 10;
 end;

Postado

Bom dia Gabriel,

creio que você não esteja informando os itens do RPS (para este provedor é necessário)

with ItemServico.Add do
  begin
    Descricao     := 'Discriminacao';
    Quantidade  := 1;
    ValorUnitario:= 10;
 end;

Bom dia Michel,

Era isto mesmo, agora o envio funcionou.

Muito Obrigado!

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Bom dia Gabriel,

creio que você não esteja informando os itens do RPS (para este provedor é necessário)

with ItemServico.Add do
  begin
    Descricao     := 'Discriminacao';
    Quantidade  := 1;
    ValorUnitario:= 10;
 end;

Michel, boa tarde. 

Só uma duvida, no envio da NFSe para este provedor.

Você faz o envio em LOTE? ou nota a nota? Pois quando fiz pela DLL, precisa obter toda vez o sequencial do RPS pois quando uma das notas do LOTE não é enviada eu não consigo enviar a sequencia, então toda vez que envio uma nota eu tenho que obter o ultimo sequencial, porem vi que nos exemplos do ACBR não encontrei essa captura.

Como faço? Tenho alguma forma de envio que não preciso ficar obtendo esse sequencial, mas que dando erro em uma nota a proxima ele aceite?

 

Desde já, obrigado

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Bom dia,

Sim, envio em lote. No meu caso, sempre criamos o RPS, com o sequencial correto, e enviamos na ordem. Normalmente se algum RPS tem erro os outros RPS do lote não processa.

No componente existe a função ConsultarSequencialRPS, creio que seria pra este seu caso, já tentou utiliza-la?

  • Curtir 1
Postado

Bom dia,

Sim, envio em lote. No meu caso, sempre criamos o RPS, com o sequencial correto, e enviamos na ordem. Normalmente se algum RPS tem erro os outros RPS do lote não processa.

No componente existe a função ConsultarSequencialRPS, creio que seria pra este seu caso, já tentou utiliza-la?

Opa!! Michel foi o que eu imaginei mesmo, eu fiz dessa forma porem aquele negocio se a nota anterior não for a proxima tambem não vai.

 

Agora eu estou com problema para CANCELAMENTO, não estou conseguindo nem explicar, não sei se estou carregando o arquivo correto. Quando carrega do LoadFromFile, ficam faltando informações, quando Carrego pelo LoadFromStream ele funciona, mas faltam algumas informações...To brigando com isso aqui hoje o dia inteiro, mas está dificil se vc tiver alguma ideia.. hehehheheheh

 

Desde já obrigado.

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado (editado)

Em relação ao cancelamento, sempre fiz com os dados que tenho salvo no banco de dados, sem carregar o XML, tente assim.

    ACBrNFSe1.NotasFiscais.Clear;
    with ACBrNFSe1.NotasFiscais.Add, Ds_Tabela.DataSet do
      begin
        NFSe.Numero                                                    := 'INFORMAR';
        NFSe.IdentificacaoRps.Numero                                   := 'INFORMAR';
        NFSe.IdentificacaoRps.Serie                                    := 'INFORMAR';
        NFSe.IdentificacaoRps.Tipo                                     := trRPS;
        NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj              := 'INFORMAR';
        NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal:= 'INFORMAR';
        NFSe.PrestadorServico.Endereco.CodigoMunicipio                 := 'INFORMAR';
        NFSe.MotivoCancelamento                                        := 'INFORMAR'; //Se nao me engano, o motivo é usado em apenas um provedor e não no DSF (a confirmar)
        NFSe.CodigoVerificacao                                         := 'INFORMAR';
      end;

    ACBrNFSe1.WebServices.CancelaNFSe(mCodCanc);

 

Editado por Michel Ouriques
  • Curtir 1
Postado

Em relação ao cancelamento, sempre fiz com os dados que tenho salvo no banco de dados, sem carregar o XML, tente assim.

    ACBrNFSe1.NotasFiscais.Clear;
    with ACBrNFSe1.NotasFiscais.Add, Ds_Tabela.DataSet do
      begin
        NFSe.Numero                                                    := 'INFORMAR';
        NFSe.IdentificacaoRps.Numero                                   := 'INFORMAR';
        NFSe.IdentificacaoRps.Serie                                    := 'INFORMAR';
        NFSe.IdentificacaoRps.Tipo                                     := trRPS;
        NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj              := 'INFORMAR';
        NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal:= 'INFORMAR';
        NFSe.PrestadorServico.Endereco.CodigoMunicipio                 := 'INFORMAR';
        NFSe.MotivoCancelamento                                        := 'INFORMAR'; //Se nao me engano, o motivo é usado em apenas um provedor e não no DSF (a confirmar)
        NFSe.CodigoVerificacao                                         := 'INFORMAR';
      end;

    ACBrNFSe1.WebServices.CancelaNFSe(mCodCanc);

 

Muito obrigado Michel, é dessa maneira ficou bem melhor....

Só mais uma duvida ...kkkkkk

Como sei se o houve sucesso, ou erro? Pois o ACBr1.WebServices.CancNFSe.Msg retorna vazio, mesmo não cancelando a nota, fui DEBUG o codigo vi o erro em DEBUG lego após o Stream de envio, mas não consegui pegar o erro aqui na frente.

Atenciosamente,

 

Gabriel Monteiro Rezende

Postado

Então Gabriel,

eu usava este provedor para São Luis - MA (agora já é outro provedor), e lá a prefeitura não permitia (na época) o cancelamento via WebService, por isso não tenho como te dizer especificamente como você deve proceder.

Mais tente ativar a propriedade ACBrNFSe.Configuracoes.WebServices.Salvar e veja mais detalhes no XML.

Obs.: Segundo o XML schema do provedor irá retornar uma tag Sucesso no XML

 

  • Curtir 1
Postado

Então Gabriel,

eu usava este provedor para São Luis - MA (agora já é outro provedor), e lá a prefeitura não permitia (na época) o cancelamento via WebService, por isso não tenho como te dizer especificamente como você deve proceder.

Mais tente ativar a propriedade ACBrNFSe.Configuracoes.WebServices.Salvar e veja mais detalhes no XML.

Obs.: Segundo o XML schema do provedor irá retornar uma tag Sucesso no XML

 

Opa!!! Entendi, Ok, esse provedor é muito complicado..Hehehehehhehe.

Vou fazer isto, vou ler o XML de retorno.

E impressão da DANFE? ou Obter o link direto? Você chegou a utilizar ou não?

 

Desde já Obrigado..

Atenciosamente,

 

Gabriel Monteiro Rezende

  • Este tópico foi criado há 3123 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.