Ir para conteúdo
  • Cadastre-se

dev botao

Invalid variant type cast NFSe Blumenau


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 1612 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde.

Enviando NFS-e para prefeitura de Blumenau e ao buscar o retorno temos "ERRO: Invalid variant type cast"

No fonte pnfsNFSeW_ABRASFv2 Linha 883 e 884, para provedor proSimplISSv2 e preenchido o campo NFSe.Competencia, esta sendo feito a conversão para tcDat.

Porem na leitura deste campo no fonte pnfsNFSeR esta lendo como tcStr, não realizando a conversão para formato data.

Ao gerar o XML sem a Competencia, então o ACBR ao ler utiliza a data de emissão que esta no padrão data, mas se informado esta campo ou se der um load no xml para consultar o retorno, ele gera o erro.

Em anexo somente comentei "proSimplISSv2" do case para ser executado a conversão com o tcStr e o problema esta resolvido.

Anexado o font para analise.

pnfsNFSeW_ABRASFv2.pas

  • Curtir 1
Postado

Bom dia.

Na minha aplicação segui exemplo do ACBRMonitorPlus, e para buscar o resultado do RPS realizei a sequencia abaixo.

ACBrNFSe1.NotasFiscais.LoadFromFile('c:\.....\56810-rps.xml');

e depois 

ACBrNFSe1.ConsultarNFSeporRps(parametros....);

Em seguida processo o retorno e gero uma resposta, similar ao ACBRMonitorPlus para NF-e.

Note que no RPS já esta assinado, porque eu gerei no RPS simples, e fiz o LoadFromFile no componente e depois enviei para a prefeitura, no rps que gerei eu não preencho a tag <Competencia>, o ACBR coloca a data de emissão quando não preenchido, se no envio for informado esta tag, também geraria o mesmo problema.

O xml em anexo foi enviado para produção, gerou o erro reclamado, fiz a alteração recomendada, após foi gerado nota e já esta cancelado.

Att. Rodrigo.

56820-rps.xml

  • Consultores
Postado

Bom dia Rodrigo,

Ao carregar o XML do RPS para realizar a consulta da NFS-e por RPS não vejo nenhum problema com relação a tag <Competencia>, pelo que me recordo nessa consulta ela não é utilizada pra nada.

O que não ficou claro para mim é: você gera o XML do RPS salva em disco, depois carrega para poder enviar, é isso?

Se sim, porque não gera e envia de uma vez?

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

Bom dia.

Sim. Gero o XML do RPS salva em disco, depois carrega para poder enviar.

Adicionei a rotina igual ao AcbrMonitorPlus, para fazer o processo igual feito nas NF-e, isso porque tenho muitos cliente que tem o servidor que processa as notas, também porque utilizo o Delphi 7 e o ACBR não seria mais compatível.

Att. Rodrigo

Postado

Se utilizar a opção "Consultar NFSe por RPS" do app exemplo, ao importar o xml que esta no post, o erro é apresentado.

Juliomar, o erro é aprestando no fonte pnfsNFSeW_ABRASFv2 Linha 884, porque tenta converter uma string em data, e esta string não foi formata na maneria correta para data. (Se entendi corretamente sua pergunta)

  • Consultores
Postado

Boa tarde Rodrigo,

Mas vendo o XML do RPS que você anexou o conteúdo da tag Competência esta exatamente igual ao da tag DataEmissao.

Uma coisa importante, com o ACBrInstall_Trunk2 eu consigo compilar e instalar todos os componentes no D7.

 

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 Italo

Sim, os dois campos são iguais, mas no aplicativo de exemplo do ACBR, quando realiza a opção "Consultar NFSe por RPS", vou tentar descrever abaixo a sequencia em resumo

No fonte ACBrNFSeNotasFiscais
    Na linha 1058         LerXML(AXML);    
        No Fonte - pnfsNFSeR    
            Linha 559  Leitor.rCampo(tcStr, 'Competencia');                Resultado da leitura '2020-06-19' 
            Linha 570 ou 571, Leitor.rCampo(tcDat, 'DataEmissao'); Resultado da leitura 44001     
    
    Em seguida no fonte ACBrNFSeNotasFiscais 
    Na linha 1061         GerarXML;
        No Fonte - pnfsNFSeR
            //Data de emissão
                Linha 842 - proModernizacaoPublica: Gerador.wCampo(tcDat, '#4', 'DataEmissao', 10, 10, 1, NFSe.DataEmissao, DSC_DEMI); //OK Tudo funcionando
            //Data de Competencia
                Linha 884 - proModernizacaoPublica: Gerador.wCampo(tcDat, '#4', 'Competencia', 10, 10, 1, NFSe.Competencia, DSC_DEMI);    Aqui gera o erro.  

 

Ou seja, tenta converter  o texto '2020-06-19'  para data, porque na leitura do xml, trata como texto.

Outra alternativa, seria na leitura do XML, tratar como data(tcDat)

  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 1612 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.