示例#1
0
    def _monta_nfe_identificacao(self, ide):
        empresa = self.empresa_id
        participante = self.participante_id

        ide.tpAmb.valor = int(self.ambiente_nfe)
        ide.tpNF.valor = int(self.entrada_saida)
        ide.cUF.valor = UF_CODIGO[empresa.estado]
        ide.natOp.valor = self.natureza_operacao_id.nome
        ide.indPag.valor = int(self.ind_forma_pagamento)
        ide.serie.valor = self.serie
        ide.nNF.valor = str(D(self.numero).quantize(D('1')))

        #
        # Tratamento das datas de UTC para o horário de brasília
        #
        ide.dhEmi.valor = data_hora_horario_brasilia(
            parse_datetime(self.data_hora_emissao + ' GMT')
        )
        ide.dEmi.valor = ide.dhEmi.valor

        if self.data_hora_entrada_saida:
            ide.dhSaiEnt.valor = data_hora_horario_brasilia(
                parse_datetime(self.data_hora_entrada_saida + ' GMT')
            )
        else:
            nfe.infNFe.ide.dhSaiEnt.valor = data_hora_horario_brasilia(
                parse_datetime(self.data_hora_emissao + ' GMT')
            )

        ide.dSaiEnt.valor = ide.dhSaiEnt.valor
        ide.hSaiEnt.valor = ide.dhSaiEnt.valor

        ide.cMunFG.valor = empresa.municipio_id.codigo_ibge[:7]
        # ide.tpImp.valor = 1  # DANFE em retrato
        ide.tpEmis.valor = self.tipo_emissao_nfe
        ide.finNFe.valor = self.finalidade_nfe
        ide.procEmi.valor = 0  # Emissão por aplicativo próprio
        ide.verProc.valor = 'Odoo 10.0'
        ide.indPres.valor = self.presenca_comprador

        #
        # NFC-e é sempre emissão para dentro do estado
        # e sempre para consumidor final
        #
        if self.modelo == MODELO_FISCAL_NFCE:
            ide.idDest.valor = IDENTIFICACAO_DESTINO_INTERNO
            ide.indFinal.valor = TIPO_CONSUMIDOR_FINAL_CONSUMIDOR_FINAL

        else:
            if participante.estado == 'EX':
                ide.idDest.valor = IDENTIFICACAO_DESTINO_EXTERIOR
            elif participante.estado == empresa.estado:
                ide.idDest.valor = IDENTIFICACAO_DESTINO_INTERNO
            else:
                ide.idDest.valor = IDENTIFICACAO_DESTINO_INTERESTADUAL

            if (self.consumidor_final) or (
                        participante.contribuinte ==
                        INDICADOR_IE_DESTINATARIO_NAO_CONTRIBUINTE):
                ide.indFinal.valor = TIPO_CONSUMIDOR_FINAL_CONSUMIDOR_FINAL
示例#2
0
    def _data_hora_separadas(self):
        data_hora_emissao = data_hora_horario_brasilia(
            parse_datetime(self.data_hora_emissao))
        self.data_emissao = str(data_hora_emissao)[:10]
        self.hora_emissao = str(data_hora_emissao)[11:19]

        data_hora_entrada_saida = data_hora_horario_brasilia(
            parse_datetime(self.data_hora_entrada_saida))
        self.data_entrada_saida = str(data_hora_entrada_saida)[:10]
        self.hora_entrada_saida = str(data_hora_entrada_saida)[11:19]
    def _compute_data_hora_separadas(self):
        for documento in self:
            data_hora_emissao = data_hora_horario_brasilia(
                parse_datetime(documento.data_hora_emissao))
            documento.data_emissao = str(data_hora_emissao)[:10]
            documento.hora_emissao = str(data_hora_emissao)[11:19]

            data_hora_entrada_saida = data_hora_horario_brasilia(
                parse_datetime(documento.data_hora_entrada_saida))
            documento.data_entrada_saida = str(data_hora_entrada_saida)[:10]
            documento.hora_entrada_saida = str(data_hora_entrada_saida)[11:19]
示例#4
0
    def _compute_data_hora_separadas(self):
        super(SpedDocumento, self)._compute_data_hora_separadas()

        for documento in self:
            if documento.data_hora_autorizacao:
                data_hora_autorizacao = data_hora_horario_brasilia(
                    parse_datetime(documento.data_hora_autorizacao))
                documento.data_autorizacao = str(data_hora_autorizacao)[:10]

            if documento.data_hora_cancelamento:
                data_hora_cancelamento = data_hora_horario_brasilia(
                    parse_datetime(documento.data_hora_cancelamento))
                documento.data_cancelamento = str(data_hora_cancelamento)[:10]
示例#5
0
 def setar_datas_core(self):
     for holiday in self:
         if holiday.data_inicio and holiday.data_fim:
             data_inicio = data_hora_horario_brasilia(
                 parse_datetime(holiday.data_inicio + ' 00:00:00'))
             holiday.date_from = str(UTC.normalize(data_inicio))[:19]
             data_fim = data_hora_horario_brasilia(
                 parse_datetime(holiday.data_fim + ' 23:59:59'))
             holiday.date_to = str(UTC.normalize(data_fim))[:19]
         elif holiday.date_from and holiday.date_to:
             holiday.data_inicio = fields.Date.from_string(
                 holiday.date_from)
             holiday.data_fim = fields.Date.from_string(holiday.date_to)
 def _compute_data_hora_separadas(self):
     for carta_correcao in self:
         if carta_correcao.data_hora_autorizacao:
             data_hora_autorizacao = data_hora_horario_brasilia(
                 parse_datetime(carta_correcao.data_hora_autorizacao))
             carta_correcao.data_autorizacao = \
                 str(data_hora_autorizacao)[:10]