Exemple #1
0
def _assert_dados_qrcode(tree):
    dados = ersat.dados_qrcode(tree)

    campos = dados.split('|')
    assert len(campos) == 5

    atributos = _atributos_qrcode(tree)
    assert campos[_QRCODE_CHAVECONSULTA] == atributos.chaveconsulta
    assert campos[_QRCODE_TIMESTAMP] == atributos.timestamp
    assert campos[_QRCODE_VALORTOTAL] == atributos.valortotal
    assert campos[_QRCODE_CPFCNPJVALUE] == atributos.cpfcnpjvalue
    assert campos[_QRCODE_ASSINATURAQRCODE] == atributos.assinaturaqrcode
Exemple #2
0
def _assert_dados_qrcode(tree):
    dados = ersat.dados_qrcode(tree)

    campos = dados.split('|')
    assert len(campos) == 5

    atributos = _atributos_qrcode(tree)
    assert campos[_QRCODE_CHAVECONSULTA] == atributos.chaveconsulta
    assert campos[_QRCODE_TIMESTAMP] == atributos.timestamp
    assert campos[_QRCODE_VALORTOTAL] == atributos.valortotal
    assert campos[_QRCODE_CPFCNPJVALUE] == atributos.cpfcnpjvalue
    assert campos[_QRCODE_ASSINATURAQRCODE] == atributos.assinaturaqrcode
    def rodape(self):

        infCFe = self.root.find('./infCFe')  # (!) infCFe do cancelamento
        sat_numero_serie = 'SAT no. {}'.format(
            infCFe.findtext('ide/nserieSAT'))

        datahora = datetime.strptime(
            '{}{}'.format(infCFe.findtext('ide/dEmi'),
                          infCFe.findtext('ide/hEmi')), '%Y%m%d%H%M%S')

        datahora_emissao = datahora.strftime('%d/%m/%Y - %H:%M:%S')
        if six.PY2:
            # Python 2: strftime() resulta em str, que precisará ser passado
            # como um objeto unicode para unidecode (em self.texto())
            datahora_emissao = datahora_emissao.decode('utf-8')

        chave = ersat.ChaveCFeSAT(infCFe.attrib['Id'])

        self.normal()
        self.avanco(2)
        self.separador()
        self.centro()
        self.negrito()
        self.quebrar(u'DADOS DO CUPOM FISCAL ELETRÔNICO DE CANCELAMENTO')
        self.avanco()
        self.texto(sat_numero_serie)
        self.negrito()
        self.texto(datahora_emissao)

        self.avanco()
        self.esquerda()
        self.condensado()
        self.texto(' '.join(chave.partes()))
        self.condensado()

        self.avanco()
        self.centro()

        self.chave_cfe_code128(chave)

        self.avanco(2)
        self.impressora.qrcode(
            ersat.dados_qrcode(self._tree),
            qrcode_module_size=self._config.qrcode.tamanho_modulo,
            qrcode_ecc_level=self._config.qrcode.nivel_correcao)

        self.avanco()
        self.qrcode_mensagem()
    def rodape(self):

        infCFe = self.root.find('./infCFe') # (!) infCFe do CF-e de cancelamento
        sat_numero_serie = 'SAT no. {}'.format(infCFe.findtext('ide/nserieSAT'))

        datahora = datetime.strptime('{}{}'.format(
                infCFe.findtext('ide/dEmi'),
                infCFe.findtext('ide/hEmi')), '%Y%m%d%H%M%S')

        datahora_emissao = datahora.strftime('%d/%m/%Y - %H:%M:%S')

        chave = ersat.ChaveCFeSAT(infCFe.attrib['Id']) # CF-e de cancelamento

        self.normal()
        self.avanco(2)
        self.separador()
        self.centro()
        self.negrito()
        self.quebrar(u'DADOS DO CUPOM FISCAL ELETRÔNICO DE CANCELAMENTO')
        self.avanco()
        self.texto(sat_numero_serie)
        self.negrito()
        self.texto(datahora_emissao)

        self.avanco()
        self.esquerda()
        self.condensado()
        self.texto(' '.join(chave.partes()))
        self.condensado()

        self.avanco()
        self.centro()

        self.chave_cfe_code128(chave)

        self.avanco(2)
        self.impressora.qrcode(ersat.dados_qrcode(self._tree),
                qrcode_module_size=config.qrcode.tamanho_modulo,
                qrcode_ecc_level=config.qrcode.nivel_correcao)

        self.avanco()
        self.qrcode_mensagem()
Exemple #5
0
    def rodape(self):

        infCFe = self.root.find('./infCFe')
        sat_numero_serie = 'SAT no. {}'.format(
            infCFe.findtext('ide/nserieSAT'))

        datahora = datetime.strptime(
            '{}{}'.format(infCFe.findtext('ide/dEmi'),
                          infCFe.findtext('ide/hEmi')), '%Y%m%d%H%M%S')

        datahora_emissao = datahora.strftime('%d/%m/%Y - %H:%M:%S')

        chave = ersat.ChaveCFeSAT(infCFe.attrib['Id'])

        self.normal()
        self.separador()
        self.centro()
        self.negrito()
        self.texto(sat_numero_serie)
        self.negrito()
        self.texto(datahora_emissao)

        self.avanco()
        self.esquerda()
        self.condensado()
        self.texto(' '.join(chave.partes()))
        self.condensado()

        self.avanco()
        self.centro()

        self.chave_cfe_code128(chave)

        self.avanco(2)
        self.impressora.qrcode(ersat.dados_qrcode(self._tree),
                               qrcode_module_size=conf.qrcode.tamanho_modulo,
                               qrcode_ecc_level=conf.qrcode.nivel_correcao)

        if self.site_sefaz:
            self.condensado()
            self.texto(self.site_sefaz)
Exemple #6
0
    def corpo_dados_cfe_cancelado(self):

        infCFe = self.root_venda.find("./infCFe")  # (!) infCFe do CF-e de venda
        sat_numero_serie = "SAT no. {}".format(infCFe.findtext("ide/nserieSAT"))

        datahora = datetime.strptime(
            "{}{}".format(infCFe.findtext("ide/dEmi"), infCFe.findtext("ide/hEmi")), "%Y%m%d%H%M%S"
        )

        datahora_emissao = datahora.strftime("%d/%m/%Y - %H:%M:%S")

        chave = ersat.ChaveCFeSAT(infCFe.attrib["Id"])  # CF-e de venda

        self.normal()
        self.centro()
        self.avanco()
        self.negrito()
        self.texto(sat_numero_serie)
        self.negrito()
        self.texto(datahora_emissao)

        self.avanco()
        self.esquerda()
        self.condensado()
        self.texto(" ".join(chave.partes()))
        self.condensado()

        self.avanco()
        self.centro()

        self.chave_cfe_code128(chave)

        self.avanco(2)
        self.impressora.qrcode(
            ersat.dados_qrcode(self._tree_venda),
            qrcode_module_size=conf.qrcode.tamanho_modulo,
            qrcode_ecc_level=conf.qrcode.nivel_correcao,
        )
Exemple #7
0
 def qrcode(self):
     """Resulta nos dados que compõem o QRCode."""
     return dados_qrcode(self.xml())
Exemple #8
0
 def qrcode(self):
     """Resulta nos dados que compõem o QRCode."""
     return dados_qrcode(self.xml())