Browse Source

[DONE] Finalização do layout Nota Carioca - Geração e Cancelamento

pull/107/merge
Danimar Ribeiro 8 years ago
parent
commit
42d2a8d1e3
  1. 9
      pytrustnfe/nfse/carioca/__init__.py
  2. 13
      pytrustnfe/nfse/carioca/templates/CancelarNfse.xml
  3. 13
      pytrustnfe/nfse/carioca/templates/CancelarNfseEnvio.xml
  4. 8
      pytrustnfe/nfse/carioca/templates/ConsultarNfseEnvio.xml

9
pytrustnfe/nfse/carioca/__init__.py

@ -2,6 +2,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import os
import suds
from pytrustnfe.client import get_authenticated_client
from pytrustnfe.certificado import extract_cert_and_key_from_pfx, save_cert_key
from pytrustnfe.xml import render_xml, sanitize_response
@ -15,6 +16,8 @@ def _render(certificado, method, **kwargs):
reference = ''
if method == 'GerarNfse':
reference = 'r%s' % kwargs['rps']['numero']
elif method == 'CancelarNfse':
reference = 'Cancelamento_NF%s' % kwargs['cancelamento']['numero_nfse']
signer = Assinatura(certificado.pfx, certificado.password)
xml_send = signer.assina_xml(xml_send, reference)
@ -35,7 +38,7 @@ def _send(certificado, method, **kwargs):
client = get_authenticated_client(base_url, cert, key)
try:
response = client.service.GerarNfse(xml_send)
response = getattr(client.service, method)(xml_send)
except suds.WebFault as e:
return {
'sent_xml': str(xml_send),
@ -62,10 +65,10 @@ def gerar_nfse(certificado, **kwargs):
def xml_cancelar_nfse(certificado, **kwargs):
return _render(certificado, 'CancelarNfseEnvio', **kwargs)
return _render(certificado, 'CancelarNfse', **kwargs)
def cancelar_nfse(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_cancelar_nfse(certificado, **kwargs)
return _send(certificado, 'CancelarNfseEnvio', **kwargs)
return _send(certificado, 'CancelarNfse', **kwargs)

13
pytrustnfe/nfse/carioca/templates/CancelarNfse.xml

@ -0,0 +1,13 @@
<CancelarNfseEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<Pedido>
<InfPedidoCancelamento Id="Cancelamento_NF{{ cancelamento.numero_nfse }}">
<IdentificacaoNfse>
<Numero>{{ cancelamento.numero_nfse }}</Numero>
<Cnpj>{{ cancelamento.cnpj_prestador }}</Cnpj>
<InscricaoMunicipal>{{ cancelamento.inscricao_municipal }}</InscricaoMunicipal>
<CodigoMunicipio>{{ cancelamento.cidade }}</CodigoMunicipio>
</IdentificacaoNfse>
<CodigoCancelamento>1</CodigoCancelamento>
</InfPedidoCancelamento>
</Pedido>
</CancelarNfseEnvio>

13
pytrustnfe/nfse/carioca/templates/CancelarNfseEnvio.xml

@ -1,13 +0,0 @@
<CancelarNfseEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<Pedido>
<InfPedidoCancelamento Id="NFSe{{ rps.nfse_number }}">
<IdentificacaoNfse>
<Numero>{{ rps.nfse_number }}</Numero>
<Cnpj>{{ rps.emitter.cnpj }}</Cnpj>
<InscricaoMunicipal>{{ rps.emitter.city_inscription }}</InscricaoMunicipal>
<CodigoMunicipio>{{ rps.service.city_code }}</CodigoMunicipio>
</IdentificacaoNfse>
<CodigoCancelamento>1</CodigoCancelamento>
</InfPedidoCancelamento>
</Pedido>
</CancelarNfseEnvio>

8
pytrustnfe/nfse/carioca/templates/ConsultarNfseEnvio.xml

@ -1,8 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<ConsultarNfseEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<Prestador>
<Cnpj>{{ rps.emitter.cnpj }}</Cnpj>
<InscricaoMunicipal>{{ rps.emitter.city_inscription }}</InscricaoMunicipal>
</Prestador>
<NumeroNfse>{{ rps.nfse_number }}</NumeroNfse>
</ConsultarNfseEnvio>
Loading…
Cancel
Save