def gerar(usuario, acoes, periodo, conta_associacao, observacao_conciliacao, previa=False): try: LOGGER.info("GERANDO DEMONSTRATIVO...") rateios_conferidos = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, conferido=True).order_by('despesa__data_transacao') rateios_nao_conferidos = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, conferido=False).order_by('despesa__data_transacao') rateios_nao_conferidos_em_periodos_anteriores = RateioDespesa.rateios_da_conta_associacao_em_periodos_anteriores( conta_associacao=conta_associacao, periodo=periodo, conferido=False).order_by('despesa__data_transacao') receitas_demonstradas = Receita.receitas_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, conferido=True) path = os.path.join(os.path.basename(staticfiles_storage.location), 'cargas') nome_arquivo = os.path.join( path, 'modelo_demonstrativo_financeiro_novo_v3.xlsx') workbook = load_workbook(nome_arquivo) worksheet = workbook.active cabecalho(worksheet, periodo, conta_associacao, previa) bloco1_identificacao_apm(worksheet, acoes) bloco2_identificacao_conta(worksheet, conta_associacao, observacao_conciliacao) bloco3_resumo_por_acao(worksheet, acoes, conta_associacao, periodo) bloco4_creditos_demonstrados(worksheet, receitas_demonstradas) bloco5_despesas_demonstradas(worksheet, rateios_conferidos) bloco6_despesas_demonstradas(worksheet, rateios_nao_conferidos) bloco7_despesas_demonstradas( worksheet, rateios_nao_conferidos_em_periodos_anteriores) data_geracao_documento(worksheet, usuario, previa) finally: LOGGER.info("DEMONSTRATIVO GERADO") return workbook
def relacao_bens_info(self, request): conta_associacao_uuid = self.request.query_params.get( 'conta-associacao') periodo_uuid = self.request.query_params.get('periodo') periodo = Periodo.by_uuid(periodo_uuid) conta_associacao = ContaAssociacao.by_uuid(conta_associacao_uuid) prestacao_conta = PrestacaoConta.objects.filter( associacao=conta_associacao.associacao, periodo__uuid=periodo_uuid).first() relacao_bens = RelacaoBens.objects.filter( conta_associacao__uuid=conta_associacao_uuid, prestacao_conta=prestacao_conta).first() msg = "" if not relacao_bens: rateios = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, aplicacao_recurso=APLICACAO_CAPITAL) if rateios: msg = 'Documento pendente de geração' else: msg = "Não houve bem adquirido ou produzido no referido período." else: msg = str(relacao_bens) return Response(msg)
def gerar_dados_demonstrativo_financeiro(usuario, acoes, periodo, conta_associacao, prestacao, observacao_conciliacao, previa=False): try: LOGGER.info("GERANDO DADOS DEMONSTRATIVO...") rateios_conferidos = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, conferido=True).order_by('despesa__data_transacao') rateios_nao_conferidos = RateioDespesa.rateios_da_conta_associacao_no_periodo(conta_associacao=conta_associacao, periodo=periodo, conferido=False).order_by('despesa__data_transacao') rateios_nao_conferidos_periodos_anteriores = RateioDespesa.rateios_da_conta_associacao_em_periodos_anteriores( conta_associacao=conta_associacao, periodo=periodo, conferido=False).order_by('despesa__data_transacao') receitas_demonstradas = Receita.receitas_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, conferido=True) cabecalho = cria_cabecalho(periodo, conta_associacao, previa) identificacao_apm = cria_identificacao_apm(acoes) identificacao_conta = cria_identificacao_conta(conta_associacao, observacao_conciliacao) resumo_por_acao = cria_resumo_por_acao(acoes, conta_associacao, periodo) creditos_demonstrados = cria_creditos_demonstrados(receitas_demonstradas) despesas_demonstradas = cria_despesas(rateios_conferidos) despesas_nao_demonstradas = cria_despesas(rateios_nao_conferidos) despesas_anteriores_nao_demonstradas = cria_despesas(rateios_nao_conferidos_periodos_anteriores) observacoes = cria_observacoes(periodo, conta_associacao) data_geracao_documento = cria_data_geracao_documento(usuario, previa) data_geracao = cria_data_geracao() dados_demonstrativo = { "cabecalho": cabecalho, "identificacao_apm": identificacao_apm, "identificacao_conta": identificacao_conta, "resumo_por_acao": resumo_por_acao, "creditos_demonstrados": creditos_demonstrados, "despesas_demonstradas": despesas_demonstradas, "despesas_nao_demonstradas": despesas_nao_demonstradas, "despesas_anteriores_nao_demonstradas": despesas_anteriores_nao_demonstradas, "observacoes_acoes": observacoes, "data_geracao_documento": data_geracao_documento, "data_geracao": data_geracao } # except Exception as e: # LOGGER.error("ERRO no DADOS DEMONSTRATIVO: %s", str(e)) finally: LOGGER.info("DADOS DEMONSTRATIVO GERADO") return dados_demonstrativo
def gerar_arquivo_relacao_de_bens(periodo, conta_associacao, prestacao=None, previa=False, criar_arquivos=True): filename = 'relacao_bens.xlsx' rateios = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, aplicacao_recurso=APLICACAO_CAPITAL) if rateios: relacao_bens, _ = RelacaoBens.objects.update_or_create( conta_associacao=conta_associacao, prestacao_conta=prestacao, periodo_previa=None if prestacao else periodo, versao=RelacaoBens.VERSAO_PREVIA if previa else RelacaoBens.VERSAO_FINAL, status=RelacaoBens.STATUS_EM_PROCESSAMENTO, ) # PDF dados_relacao_de_bens = gerar_dados_relacao_de_bens( conta_associacao=conta_associacao, periodo=periodo, rateios=rateios) if criar_arquivos: gerar_arquivo_relacao_de_bens_pdf( dados_relacao_de_bens=dados_relacao_de_bens, relacao_bens=relacao_bens) if criar_arquivos: xlsx = gerar(periodo, conta_associacao, previa=previa) with NamedTemporaryFile() as tmp: xlsx.save(tmp.name) relacao_bens.arquivo.save(name=filename, content=File(tmp)) relacao_bens.arquivo_concluido() return relacao_bens LOGGER.info( "Não houve bem adquirido ou produzido no referido período (%s).", str(periodo)) return None
def gerar(periodo, conta_associacao, previa=False): LOGGER.info("GERANDO RELAÇÃO DE BENS...") rateios = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, aplicacao_recurso=APLICACAO_CAPITAL) path = os.path.join(os.path.basename(staticfiles_storage.location), 'cargas') nome_arquivo = os.path.join(path, 'modelo_relacao_de_bens.xlsx') workbook = load_workbook(nome_arquivo) worksheet = workbook.active cabecalho(worksheet, periodo, conta_associacao) identificacao_apm(worksheet, conta_associacao) data_geracao_documento(worksheet, previa) pagamentos(worksheet, rateios) return workbook
def gerar_arquivo_relacao_de_bens(periodo, conta_associacao, prestacao): filename = 'relacao_bens.xlsx' rateios = RateioDespesa.rateios_da_conta_associacao_no_periodo( conta_associacao=conta_associacao, periodo=periodo, aplicacao_recurso=APLICACAO_CAPITAL) if rateios: xlsx = gerar(periodo, conta_associacao) with NamedTemporaryFile() as tmp: xlsx.save(tmp.name) relacao_bens, _ = RelacaoBens.objects.update_or_create( conta_associacao=conta_associacao, prestacao_conta=prestacao) relacao_bens.arquivo.save(name=filename, content=File(tmp)) return LOGGER.info( "Não houve bem adquirido ou produzido no referido período (%s).", str(periodo))
def test_api_deve_conciliar_transacao_despesa( jwt_authenticated_client_a, acao_associacao_role_cultural, despesa_2020_1, rateio_despesa_2020_role_nao_conferido, rateio_despesa_2020_ptrf_conferido, periodo_2020_1, conta_associacao_cartao): url = f'/api/conciliacoes/conciliar-transacao/?periodo={periodo_2020_1.uuid}' url = f'{url}&conta_associacao={conta_associacao_cartao.uuid}' url = f'{url}&transacao={despesa_2020_1.uuid}' url = f'{url}&tipo=GASTO' response = jwt_authenticated_client_a.patch( url, content_type='application/json') despesa_conciliada = Despesa.by_uuid(despesa_2020_1.uuid) rateio_conciliado = RateioDespesa.by_uuid( rateio_despesa_2020_role_nao_conferido.uuid) assert response.status_code == status.HTTP_200_OK assert despesa_conciliada.conferido, "Despesa deveria ter sido marcada como conferida." assert rateio_conciliado.conferido, "Rateio deveria ter sido marcado como conferido." assert rateio_conciliado.periodo_conciliacao == periodo_2020_1, "Rateio deveria ter sido vinculada ao período."
def gerar(periodo, acao_associacao, conta_associacao, previa=False): try: LOGGER.info("GERANDO DEMONSTRATIVO...") rateios_conferidos = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True) rateios_nao_conferidos = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False) rateios_nao_conferidos_em_periodos_anteriores = RateioDespesa.rateios_da_acao_associacao_em_periodo_anteriores( acao_associacao=acao_associacao, periodo=periodo, conta_associacao=conta_associacao, conferido=False) receitas_demonstradas = Receita.receitas_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True) fechamento_periodo = FechamentoPeriodo.objects.filter( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo__uuid=periodo.uuid).first() path = os.path.join(os.path.basename(staticfiles_storage.location), 'cargas') nome_arquivo = os.path.join(path, 'modelo_demonstrativo_financeiro.xlsx') workbook = load_workbook(nome_arquivo) worksheet = workbook.active cabecalho(worksheet, periodo, acao_associacao, conta_associacao, previa) identificacao_apm(worksheet, acao_associacao) observacoes(worksheet, acao_associacao, periodo, conta_associacao) data_geracao_documento(worksheet, previa) sintese_receita_despesa(worksheet, acao_associacao, conta_associacao, periodo, fechamento_periodo) creditos_demonstrados(worksheet, receitas_demonstradas) acc = len(receitas_demonstradas) - 1 if len( receitas_demonstradas) > 1 else 0 pagamentos(worksheet, rateios_conferidos, acc=acc, start_line=28) acc += len(rateios_conferidos) - 1 if len( rateios_conferidos) > 1 else 0 pagamentos(worksheet, rateios_nao_conferidos, acc=acc, start_line=34) acc += len(rateios_nao_conferidos) - 1 if len( rateios_nao_conferidos) > 1 else 0 pagamentos(worksheet, rateios_nao_conferidos_em_periodos_anteriores, acc=acc, start_line=40) except Exception as e: LOGGER.info("ERRO no Demonstrativo: %s", str(e)) LOGGER.info("DEMONSTRATIVO GERADO") return workbook
def sintese_capital(row_capital, linha, acao_associacao, conta_associacao, periodo, fechamento_periodo): """ retorna uma tupla de saldos relacionados aos capitais """ saldo_reprogramado_anterior_capital = fechamento_periodo.fechamento_anterior.saldo_reprogramado_capital if fechamento_periodo and fechamento_periodo.fechamento_anterior else 0 receitas_demonstradas_capital = Receita.receitas_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True, categoria_receita=APLICACAO_CAPITAL).aggregate(valor=Sum('valor')) rateios_demonstrados_capital = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True, aplicacao_recurso=APLICACAO_CAPITAL).aggregate( valor=Sum('valor_rateio')) rateios_nao_conferidos_capital = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, aplicacao_recurso=APLICACAO_CAPITAL).aggregate( valor=Sum('valor_rateio')) rateios_nao_conferidos_outros_periodos = RateioDespesa.rateios_da_acao_associacao_em_periodo_anteriores( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, aplicacao_recurso=APLICACAO_CAPITAL).aggregate( valor=Sum('valor_rateio')) valor_capital_receitas_demonstradas = receitas_demonstradas_capital[ 'valor'] or 0 valor_capital_rateios_demonstrados = rateios_demonstrados_capital[ 'valor'] or 0 valor_capital_rateios_nao_demonstrados = rateios_nao_conferidos_capital[ 'valor'] or 0 valor_capital_rateios_nao_demonstrados_outros_periodos = rateios_nao_conferidos_outros_periodos[ 'valor'] or 0 if saldo_reprogramado_anterior_capital or valor_capital_receitas_demonstradas or valor_capital_rateios_demonstrados or valor_capital_rateios_nao_demonstrados or valor_capital_rateios_nao_demonstrados_outros_periodos: row_capital[ SALDO_ANTERIOR].value = f'K {formata_valor(saldo_reprogramado_anterior_capital)}' row_capital[ CREDITO].value = f'K {formata_valor(valor_capital_receitas_demonstradas)}' row_capital[ DESPESA_REALIZADA].value = f'K {formata_valor(valor_capital_rateios_demonstrados)}' row_capital[ DESPESA_NAO_REALIZADA].value = f'K {formata_valor(valor_capital_rateios_nao_demonstrados)}' valor_saldo_reprogramado_proximo_periodo_capital = saldo_reprogramado_anterior_capital + \ valor_capital_receitas_demonstradas - \ valor_capital_rateios_demonstrados - \ valor_capital_rateios_nao_demonstrados row_capital[ SALDO_REPROGRAMADO_PROXIMO].value = f'K {formata_valor(valor_saldo_reprogramado_proximo_periodo_capital if valor_saldo_reprogramado_proximo_periodo_capital > 0 else 0)}' row_capital[ DESPESA_NAO_DEMONSTRADA_OUTROS_PERIODOS].value = f'K {formata_valor(valor_capital_rateios_nao_demonstrados_outros_periodos)}' valor_saldo_bancario_capital = valor_saldo_reprogramado_proximo_periodo_capital + valor_capital_rateios_nao_demonstrados + valor_capital_rateios_nao_demonstrados_outros_periodos valor_saldo_bancario_capital = valor_saldo_bancario_capital if valor_saldo_bancario_capital > 0 else 0 row_capital[ SALDO_BANCARIO].value = f'K {formata_valor(valor_saldo_bancario_capital)}' linha += 1 return valor_saldo_reprogramado_proximo_periodo_capital, valor_saldo_bancario_capital, linha return (0, 0, linha)
def sintese_capital(acao_associacao, conta_associacao, periodo, fechamento_periodo, totalizador): fechamento_anterior = get_fechamento_anterior(conta_associacao=conta_associacao, acao_associacao=acao_associacao, periodo=periodo, fechamento_periodo=fechamento_periodo) saldo_reprogramado_anterior_capital = fechamento_anterior.saldo_reprogramado_capital if fechamento_anterior else 0 receitas_demonstradas_capital = Receita.receitas_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True, categoria_receita=APLICACAO_CAPITAL).aggregate(valor=Sum('valor')) receitas_nao_demonstradas_capital = Receita.receitas_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, categoria_receita=APLICACAO_CAPITAL).aggregate(valor=Sum('valor')) rateios_demonstrados_capital = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True, aplicacao_recurso=APLICACAO_CAPITAL).aggregate(valor=Sum('valor_rateio')) rateios_nao_conferidos_capital = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, aplicacao_recurso=APLICACAO_CAPITAL).aggregate(valor=Sum('valor_rateio')) rateios_nao_conferidos_outros_periodos = RateioDespesa.rateios_da_acao_associacao_em_periodo_anteriores( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, aplicacao_recurso=APLICACAO_CAPITAL).aggregate(valor=Sum('valor_rateio')) valor_capital_receitas_demonstradas = receitas_demonstradas_capital['valor'] or 0 valor_capital_receitas_nao_demonstradas = receitas_nao_demonstradas_capital['valor'] or 0 valor_capital_rateios_demonstrados = rateios_demonstrados_capital['valor'] or 0 valor_capital_rateios_nao_demonstrados = rateios_nao_conferidos_capital['valor'] or 0 valor_capital_rateios_nao_demonstrados_outros_periodos = rateios_nao_conferidos_outros_periodos['valor'] or 0 saldo_anterior = "" credito = "" despesa_realizada = "" despesa_nao_realizada = "" despesa_nao_demostrada_outros_periodos = "" saldo_reprogramado_proximo = "" saldo_bancario = "" valor_saldo_reprogramado_proximo_periodo_capital = 0 valor_saldo_bancario_capital = 0 if saldo_reprogramado_anterior_capital or valor_capital_receitas_demonstradas or valor_capital_rateios_demonstrados or valor_capital_rateios_nao_demonstrados or valor_capital_rateios_nao_demonstrados_outros_periodos: saldo_anterior = saldo_reprogramado_anterior_capital credito = valor_capital_receitas_demonstradas despesa_realizada = valor_capital_rateios_demonstrados despesa_nao_realizada = valor_capital_rateios_nao_demonstrados valor_saldo_reprogramado_proximo_periodo_capital = (saldo_reprogramado_anterior_capital + valor_capital_receitas_demonstradas - valor_capital_rateios_demonstrados - valor_capital_rateios_nao_demonstrados) saldo_reprogramado_proximo = (valor_saldo_reprogramado_proximo_periodo_capital if valor_saldo_reprogramado_proximo_periodo_capital > 0 else 0) despesa_nao_demostrada_outros_periodos = valor_capital_rateios_nao_demonstrados_outros_periodos valor_saldo_bancario_capital = (valor_saldo_reprogramado_proximo_periodo_capital + valor_capital_rateios_nao_demonstrados + valor_capital_rateios_nao_demonstrados_outros_periodos) valor_saldo_bancario_capital = valor_saldo_bancario_capital if valor_saldo_bancario_capital > 0 else 0 saldo_bancario = valor_saldo_bancario_capital linha_capital = { "saldo_anterior": saldo_anterior, "credito": credito, "despesa_realizada": despesa_realizada, "despesa_nao_realizada": despesa_nao_realizada, "despesa_nao_demostrada_outros_periodos": despesa_nao_demostrada_outros_periodos, "saldo_reprogramado_proximo": saldo_reprogramado_proximo, "saldo_reprogramado_proximo_vr": valor_saldo_reprogramado_proximo_periodo_capital, "saldo_bancario": saldo_bancario, "valor_saldo_reprogramado_proximo_periodo_capital": valor_saldo_reprogramado_proximo_periodo_capital, "valor_saldo_bancario_capital": valor_saldo_bancario_capital, "credito_nao_demonstrado": valor_capital_receitas_nao_demonstradas, } totalizador['saldo_anterior']['K'] += saldo_reprogramado_anterior_capital totalizador['credito']['K'] += valor_capital_receitas_demonstradas totalizador['despesa_realizada']['K'] += valor_capital_rateios_demonstrados totalizador['despesa_nao_realizada']['K'] += valor_capital_rateios_nao_demonstrados totalizador['despesa_nao_demostrada_outros_periodos']['K'] += valor_capital_rateios_nao_demonstrados_outros_periodos totalizador['saldo_reprogramado_proximo']['K'] += (valor_saldo_reprogramado_proximo_periodo_capital if valor_saldo_reprogramado_proximo_periodo_capital > 0 else 0) totalizador['valor_saldo_reprogramado_proximo_periodo']['K'] += valor_saldo_reprogramado_proximo_periodo_capital totalizador['valor_saldo_bancario']['K'] += valor_saldo_bancario_capital totalizador['credito_nao_demonstrado']['K'] += valor_capital_receitas_nao_demonstradas return linha_capital, totalizador
def sintese_custeio(row_custeio, linha, acao_associacao, conta_associacao, periodo, fechamento_periodo, totalizador): """ retorna uma tupla de saldos relacionados aos custeios """ fechamento_anterior = get_fechamento_anterior( conta_associacao=conta_associacao, acao_associacao=acao_associacao, periodo=periodo, fechamento_periodo=fechamento_periodo) saldo_reprogramado_anterior_custeio = fechamento_anterior.saldo_reprogramado_custeio if fechamento_anterior else 0 # Custeio receitas_demonstradas_custeio = Receita.receitas_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True, categoria_receita=APLICACAO_CUSTEIO).aggregate(valor=Sum('valor')) receitas_nao_demonstradas_custeio = Receita.receitas_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, categoria_receita=APLICACAO_CUSTEIO).aggregate(valor=Sum('valor')) rateios_demonstrados_custeio = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=True, aplicacao_recurso=APLICACAO_CUSTEIO).aggregate( valor=Sum('valor_rateio')) rateios_nao_conferidos_custeio = RateioDespesa.rateios_da_acao_associacao_no_periodo( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, aplicacao_recurso=APLICACAO_CUSTEIO).aggregate( valor=Sum('valor_rateio')) rateios_nao_conferidos_custeio_periodos_anteriores = RateioDespesa.rateios_da_acao_associacao_em_periodo_anteriores( acao_associacao=acao_associacao, conta_associacao=conta_associacao, periodo=periodo, conferido=False, aplicacao_recurso=APLICACAO_CUSTEIO).aggregate( valor=Sum('valor_rateio')) valor_custeio_receitas_demonstradas = receitas_demonstradas_custeio[ 'valor'] or 0 valor_custeio_receitas_nao_demonstradas = receitas_nao_demonstradas_custeio[ 'valor'] or 0 valor_custeio_rateios_demonstrados = rateios_demonstrados_custeio[ 'valor'] or 0 valor_custeio_rateios_nao_demonstrados = rateios_nao_conferidos_custeio[ 'valor'] or 0 valor_custeio_rateios_nao_demonstrados_periodos_anteriores = rateios_nao_conferidos_custeio_periodos_anteriores[ 'valor'] or 0 if saldo_reprogramado_anterior_custeio or valor_custeio_receitas_demonstradas or valor_custeio_rateios_demonstrados or valor_custeio_rateios_nao_demonstrados or valor_custeio_rateios_nao_demonstrados_periodos_anteriores: valor_saldo_reprogramado_proximo_periodo_custeio = ( saldo_reprogramado_anterior_custeio + valor_custeio_receitas_demonstradas - valor_custeio_rateios_demonstrados - valor_custeio_rateios_nao_demonstrados) valor_saldo_bancario_custeio = ( valor_saldo_reprogramado_proximo_periodo_custeio + valor_custeio_rateios_nao_demonstrados + valor_custeio_rateios_nao_demonstrados_periodos_anteriores) valor_saldo_bancario_custeio = valor_saldo_bancario_custeio if valor_saldo_bancario_custeio > 0 else 0 row_custeio[SALDO_ANTERIOR].value = formata_valor( saldo_reprogramado_anterior_custeio) row_custeio[CREDITO].value = formata_valor( valor_custeio_receitas_demonstradas) row_custeio[DESPESA_REALIZADA].value = formata_valor( valor_custeio_rateios_demonstrados) row_custeio[DESPESA_NAO_REALIZADA].value = formata_valor( valor_custeio_rateios_nao_demonstrados) row_custeio[CREDITO_NAO_DEMONSTRADO].value = formata_valor( valor_custeio_receitas_nao_demonstradas) row_custeio[SALDO_REPROGRAMADO_PROXIMO].value = formata_valor( valor_saldo_reprogramado_proximo_periodo_custeio if valor_saldo_reprogramado_proximo_periodo_custeio > 0 else 0) row_custeio[ DESPESA_NAO_DEMONSTRADA_OUTROS_PERIODOS].value = formata_valor( valor_custeio_rateios_nao_demonstrados_periodos_anteriores) row_custeio[SALDO_BANCARIO].value = formata_valor( valor_saldo_bancario_custeio) linha += 1 totalizador[SALDO_ANTERIOR]['C'] += saldo_reprogramado_anterior_custeio totalizador[CREDITO]['C'] += valor_custeio_receitas_demonstradas totalizador[DESPESA_REALIZADA][ 'C'] += valor_custeio_rateios_demonstrados totalizador[DESPESA_NAO_REALIZADA][ 'C'] += valor_custeio_rateios_nao_demonstrados totalizador[SALDO_REPROGRAMADO_PROXIMO][ 'C'] += valor_saldo_reprogramado_proximo_periodo_custeio if valor_saldo_reprogramado_proximo_periodo_custeio > 0 else 0 totalizador[DESPESA_NAO_DEMONSTRADA_OUTROS_PERIODOS][ 'C'] += valor_custeio_rateios_nao_demonstrados_periodos_anteriores totalizador[SALDO_BANCARIO]['C'] += valor_saldo_bancario_custeio totalizador[CREDITO_NAO_DEMONSTRADO][ 'C'] += valor_custeio_receitas_nao_demonstradas return valor_saldo_reprogramado_proximo_periodo_custeio, valor_saldo_bancario_custeio, linha, totalizador else: row_custeio[SALDO_ANTERIOR].value = formata_valor(0) row_custeio[CREDITO].value = formata_valor(0) row_custeio[DESPESA_REALIZADA].value = formata_valor(0) row_custeio[DESPESA_NAO_REALIZADA].value = formata_valor(0) row_custeio[SALDO_REPROGRAMADO_PROXIMO].value = formata_valor(0) row_custeio[ DESPESA_NAO_DEMONSTRADA_OUTROS_PERIODOS].value = formata_valor(0) row_custeio[SALDO_BANCARIO].value = formata_valor(0) row_custeio[CREDITO_NAO_DEMONSTRADO].value = formata_valor( valor_custeio_receitas_nao_demonstradas) totalizador[CREDITO_NAO_DEMONSTRADO][ 'C'] += valor_custeio_receitas_nao_demonstradas linha += 1 return 0, 0, linha, totalizador