Como corrigir a soma duplicada em python

1. Como corrigir a soma duplicada em python

C B
Xuyzes

(usa Kali)

Enviado em 01/06/2022 - 11:27h

Eu tenho um grande problema com uma parte do meu código:

a função abaixo, ela soma os valores da coluna preço e da coluna quantidade para extrair o valor total do pedido. Mas a coluna de preço está dobrando o valor e não consigo encontrar o erro. E mesmo que eu utilize o botão limpar a tela e insira novos dados, ele continua somando os valores que foram inseridos anteriormente, antes de eu apagos..

Já tentei deletar a variável e limpar o cache de memória.. mas continua a mesma coisa!

Este programa está usando pyqt6 e python3. é um programa para emissão de ordens de venda!

# =============================================== SAVING VALUES INSERTED ON THE MAIN SCREEN IN VARIABLES

        self.obter_resultado = self.ui.comboBox_produto.currentText()
        self.obter_preco = (self.ui.insere_preco.text())
        self.obter_quantide = (self.ui.insere_quantidade.text())
        self.obter_cliente = (self.ui.insere_cliente.text())
        self.obter_prazo = self.ui.comboBox_prazo.currentText()
        self.obter_trasportadora = self.ui.comboBox_transport.currentText()
        self.obter_frete = self.ui.comboBox_frete.currentText()
        self.obter_num_pedido = (self.ui.insere_num_pedido.text())
        self.obter_vendedor = self.ui.comboBox_vendedor.currentText()
        self.obter_embalagem = self.ui.comboBox_embalagem.currentText()
        self.obter_Nf = self.ui.checkBox_NF.isChecked()
        self.obter_Snf = self.ui.checkBox_SNF.isChecked()
        self.obter_obs = (self.ui.observacoes.text())

        # =============================================== INSERTING PRICE, QUANTITY, PRODUCT AND PACKAGING IN THE "PRODUCTS" TABLE

        self.ui.tabela_recebe_produto.setRowCount(len(self.obter_resultado))
        self.ui.tabela_recebe_produto.setItem(row, 0, QtWidgets.QTableWidgetItem(self.obter_resultado))
        self.ui.tabela_recebe_produto.setItem(row, 1, QtWidgets.QTableWidgetItem(self.obter_quantide + " kg"))
        self.ui.tabela_recebe_produto.setItem(row, 2, QtWidgets.QTableWidgetItem("R$ " + self.obter_preco))
        self.ui.tabela_recebe_produto.setItem(row, 3, QtWidgets.QTableWidgetItem(self.obter_embalagem))
        row=row+1

        # =============================================== SAVING VALUES TO A TEXT FILE

        if os.path.isdir(r"C:\\Users\Public\Documents\Pie"):
             print()
        else:
             os.mkdir(r"C:\\Users\Public\Documents\Pie")

        try:
          conteudo1 = open(f"C:\\Users\Public\Documents\Pie\Pedido_{self.obter_cliente}.txt", "r", encoding="utf-8").read()
        except:
          conteudo1 = ""

        if re.search("PEDIDO DE VENDA..\n\nVENDEDOR:", conteudo1):
             arq = open(f"C:\\Users\Public\Documents\Pie\Pedido_{self.obter_cliente}.txt", "w", encoding="utf-8")
             arq.write(conteudo1+"PRODUTO: %s   |   QUANTIDADE: %s kg   |   PREÇO: R$ %s\r"%(self.obter_resultado, self.obter_quantide, self.obter_preco))
             arq.close()
        else:
             arq = open(f"C:\\Users\Public\Documents\Pie\Pedido_{self.obter_cliente}.txt", "w", encoding="utf-8")
             arq.write(conteudo1+"PEDIDO DE VENDA..\n\nVENDEDOR: %s\nCLIENTE: %s\nPRAZO: %s\nN°PEDIDO: %s\nNF: %s\nSnF: %s\nTRANSPORTADORA: %s\nFRETE: %s\nPRODUTO: %s   |   QUANTIDADE: %s kg   |   PREÇO: R$ %s\r\n\n Obs:%s\r"%(self.obter_vendedor, self.obter_cliente, self.obter_prazo, self.obter_num_pedido, self.obter_Nf, self.obter_Snf, self.obter_trasportadora, self.obter_frete, self.obter_resultado, self.obter_quantide, self.obter_preco, self.obter_obs))
             arq.close()

        # =============================================== GLOBAL VARIABLE TO CALCULATE FREIGHT
        global qtdd
        global valor
        # =============================================== CALCULATION OF FINAL WEIGHT AND QUANTITY

        valor = valor + float(self.obter_preco)
        qtdd = qtdd + float(self.obter_quantide)

        # =============================================== INSERT THE VALUE IN THE LABEL OF THE WEIGHT AND FINAL QUANTITY

        valor_total = valor * qtdd
        self.ui.recebe_peso_total.setText(str(qtdd))
        self.ui.recebe_valor_total.setText(str(valor_total))
 



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts