Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa tarde a todos,

Estou desenvolvendo o gerenciamento de notas fiscais de serviço para o município de Itajaí - SC (Provedor Publica)

Ao Realizar os testes de cancelamento da nota, utilizei o código de cancelamento C001, no qual segundo o manual não precisa da descrição de cancelamento (motivo).

Porém, ao tentar cancelar a NFSe o Web Service retorna a mensagem informando que está faltando a descrição do cancelamento. 

No manual de integração informa que somente o Código C999 precisaria de uma descrição. Entrei em contato com o provedor (Publica) e fui informado que para todos os códigos de cancelamento deverá ser informado uma descrição.

Conforme E-mail abaixo:

Citar

Boa tarde João.

Conforme determinação da Prefeitura de Itajaí, todas as notas fiscais que são canceladas, as mesmas deverão conter motivos de cancelamentos.
Ou seja, para cada cancelamento que você for realizar, você terá que informar o motivo de cancelamento.

Atenciosamente,
Rodrigo Fernandes
Consultor de Sistemas
[email protected]

No componente ACBRNFSe possui a seguinte validação para o código de cancelamento:

// Unit pnfsNFSeG, Linha 1600
if (Provedor in [proPublica]) and (CodigoCanc = 'C999') then
	Gerador.wCampoNFSe(tcStr, '#1', 'MotivoCancelamento', 01, 255, 1, MotivoCanc, '');

Fazendo com que mesmo informando o motivo de cancelamento para um Código diferente de 'C999', não é inserido a TAG MotivoCancelamento.

Para resolver o problema foi simples, apenas retirei a condição (CodigoCanc = 'C999').

Segue a unit alterada em anexo.

Se tiver alguém que utiliza NFSE para esse provedor e pudesse realizar um teste de cancelamento, ficaria agradecido.

pnfsNFSeG.pas

Postado

Boa tarde Italo,

Analisei agora o arquivo (pnfsNFSeG.pas) no qual foi subido no SVN, e está com um problema.

O arquivo que foi subido no SVN já possui uma validação se tratando ao cancelamento para o provedor da publica.

Codigo: 

 // linha 1597 
 if Provedor in [proPublica, proTecnos] then
 	Gerador.wCampoNFSe(tcStr, '#1', 'MotivoCancelamento', 01, 255, 1, MotivoCanc, '');

 // linha 1600
 if (Provedor in [proPublica]) then
    Gerador.wCampoNFSe(tcStr, '#1', 'MotivoCancelamento', 01, 255, 1, MotivoCanc, '');

No momento está inserindo duas tags <MotivoCancelamento> devido as duas validações. Para corrigir basta remover uma.

Não anexei o arquivo pois acredito que é mais simples remover uma validação.

Não sei o que houve para estar com essas duas validações, pois eu tenho os fontes sempre atualizados aqui e no arquivo que lhe enviei não possui a validação da linha 1597.

Obrigado!

  • Este tópico foi criado há 3081 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...