Exemple #1
0
def apriTestataDocumentoEdit(testataDocumentoId):
    from promogest.ui.anagDocumenti.AnagraficaDocumenti import AnagraficaDocumenti
#    from promogest.ui.AnagraficaDocumentiEdit import AnagraficaDocumentiEdit
    from promogest.dao.TestataDocumento import TestataDocumento
    a = AnagraficaDocumenti()
    art = TestataDocumento().getRecord(id=testataDocumentoId)
    a.on_record_edit_activate(a, dao=art)
    def on_scheda_contabile_togglebutton_clicked(self, toggleButton):
        """
        Apre la finestra di registrazione documenti, ricercando solo
        i documenti del cliente
        """

        if not(toggleButton.get_active()):
            toggleButton.set_active(False)
            return

        if self.dao.id is None:
            msg = 'Prima di poter visualizzare la registrazione documenti occorre salvare il cliente.\n Salvare? '
            if YesNoDialog(msg=msg, transient=self.dialogTopLevel):
                self.on_anagrafica_complessa_detail_dialog_response(
                        self.dialogTopLevel, GTK_RESPONSE_APPLY)
            else:
                toggleButton.set_active(False)
                return

        from promogest.ui.anagDocumenti.AnagraficaDocumenti import \
                                                    AnagraficaDocumenti
        anag = AnagraficaDocumenti()
        anagWindow = anag.getTopLevel()
        showAnagraficaRichiamata(self.dialogTopLevel, anagWindow,
                toggleButton)
        anag.filter.id_cliente_filter_customcombobox.setId(self.dao.id)
        anag.filter.da_data_filter_entry.set_text('')
        anag.filter.solo_contabili_check.set_active(True)
        anag.filter.refresh()
    def nuovoDocumento(self, kind):
        if not hasAction(actionID=2):return
        from promogest.ui.anagDocumenti.AnagraficaDocumenti import AnagraficaDocumenti
        #from promogest.lib.utils import findComboboxRowFromStr
#        self.aziendaStr = Environment.azienda
        anag = AnagraficaDocumenti()
        showAnagrafica(self.main_wind.getTopLevel(), anag)
        anag.on_record_new_activate()
        findComboboxRowFromStr(anag.editElement.id_operazione_combobox, kind, 1)
        anag.editElement.id_persona_giuridica_customcombobox.grab_focus()
    def insert(self, toggleButton, returnWindow):

        def refresh():
            self.filter.refresh()
            self.filter.ragione_sociale_filter_entry.grab_focus()

        from promogest.ui.anagDocumenti.AnagraficaDocumenti import AnagraficaDocumenti
        anag = AnagraficaDocumenti()
        anagWindow = anag.getTopLevel()
        showAnagraficaRichiamata(returnWindow, anagWindow, toggleButton, refresh)
        anag.on_record_new_activate(anag.record_new_button)
Exemple #5
0
    def on_crea_fattura_button_clicked(self, button):
        """ RIGA DOCUMENTO:
            id, valore_unitario_netto, valore_unitario_lordo,
            quantita, moltiplicatore, applicazione_sconti,
            percentuale_iva, descrizione, id_articolo, id_magazzino,
            id_multiplo, id_listino, id_iva, id_riga_padre

            RIGA SCONTRINO:
            id, prezzo, prezzo_scontato, quantita,
            descrizione, id_testata_scontrino, id_articolo
            TODO: Vanno gestiti gli sconti
            """
        if not self.daoTse:
            messageInfo(msg="Nessuno scontrino selezionato")
            return
        if self.daoTse and not self.daoTse.id_cliente_testata_scontrino:
            if self.id_cliente_emessi_customcombobox.getId():
                a = TestataScontrinoCliente()
                a.id_cliente =  self.id_cliente_emessi_customcombobox.getId()
                a.id_testata_scontrino = self.daoTse.id
                a.persist()
            else:
                messageInfo(msg="Scontrino selezionato, ma nessun cliente assegnato")
            return
        if not findStrFromCombobox(self.operazione_combobox,0):
            obligatoryField(self.getTopLevel(), self.operazione_combobox, msg="SELEZIONA IL TIPO DOCUMENTO")
        one_day = datetime.timedelta(days=1)
        proviamo = datetime.datetime(self.daoTse.data_inserimento.year,self.daoTse.data_inserimento.month,
        self.daoTse.data_inserimento.day)
        listascontrini = TestataScontrino().select(daData=proviamo, aData=proviamo+one_day, batchSize=None, orderBy="data_inserimento")
        a = [i for i,x in enumerate(listascontrini) if x == self.daoTse]
        if a:
            a = a[0]
        else:
            a=0
        posizione= a + 1
        note = "Rif. Scontrino" + " n. " + str(posizione) + " del " + dateToString(self.daoTse.data_inserimento)

        newDao = TestataDocumento()
        newDao.data_documento = datetime.datetime.now()
        newDao.operazione = findStrFromCombobox(self.operazione_combobox,0)
        newDao.id_cliente = self.id_cliente_emessi_customcombobox.getId()
        newDao.note_pie_pagina = note
        #newDao.applicazione_sconti = self.dao.applicazione_sconti
        #sconti = []
        #sco = self.dao.sconti or []
        scontiRigaDocumento=[]
        scontiSuTotale=[]
        righeDocumento=[]
        #for s in sco:
            #daoSconto = ScontoTestataDocumento()
            #daoSconto.valore = s.valore
            #daoSconto.tipo_sconto = s.tipo_sconto
            #scontiSuTotale.append(daoSconto)
        newDao.scontiSuTotale = scontiSuTotale
        #righe = []
        rig = self.daoTse.righe
        for r in rig:
            daoRiga = RigaDocumento()
            daoRiga.id_testata_documento = newDao.id
            daoRiga.id_articolo = r.id_articolo
            daoRiga.id_magazzino = self.daoTse.id_magazzino
            daoRiga.descrizione = r.descrizione
            # Copia il campo iva
            arto = leggiArticolo(r.id_articolo)
            daoRiga.id_iva = arto["idAliquotaIva"]
            #ricalcola prezzi
            daoRiga.id_listino = self.ricercaListino()
            imponibile = float(r.prezzo)/(1+float(arto["percentualeAliquotaIva"])/100)
            imponibile_scontato = float(r.prezzo_scontato)/(1+float(arto["percentualeAliquotaIva"])/100)
            daoRiga.valore_unitario_lordo = imponibile or 0
            daoRiga.valore_unitario_netto =  imponibile_scontato

            daoRiga.percentuale_iva = arto["percentualeAliquotaIva"]

            #daoRiga.applicazione_sconti = r.applicazione_sconti
            daoRiga.quantita = r.quantita
            daoRiga.id_multiplo = None
            daoRiga.moltiplicatore = 1
            #sconti = []
            scontiRigaDocumento = []
            #sco = r.sconti
            #for s in sco:
                #daoSconto = ScontoRigaDocumento()
                #daoSconto.valore = s.valore
                #daoSconto.tipo_sconto = s.tipo_sconto
                #scontiRigaDocumento.append(daoSconto)
            daoRiga.scontiRigaDocumento = scontiRigaDocumento
            righeDocumento.append(daoRiga)

        newDao.righeDocumento = righeDocumento

        tipoid = findStrFromCombobox(self.operazione_combobox,0)
        #tipo = Operazione().getRecord(id=tipoid)
        #if not newDao.numero:
        valori = numeroRegistroGet(tipo=tipoid, date=self.daoTse.data_inserimento)
        newDao.numero = valori[0]
        newDao.registro_numerazione= valori[1]
        newDao.persist()

        res = TestataDocumento().getRecord(id=newDao.id)

        msg = "Documento creato da scontrino !\n\nIl nuovo documento e' il n. " + str(res.numero) + " del " + dateToString(res.data_documento) + " (" + newDao.operazione + ")\n" + "Lo vuoi modificare?"
        if YesNoDialog(msg=msg, transient=self.getTopLevel()):
            from promogest.ui.anagDocumenti.AnagraficaDocumenti import AnagraficaDocumenti
            anag = AnagraficaDocumenti()
            anagWindow = anag.getTopLevel()
            anagWindow.show_all()
            anag.editElement.setVisible(True)
            anag.editElement.setDao(newDao)
            anag.editElement.id_persona_giuridica_customcombobox.set_sensitive(True)
            anag.editElement.setFocus()
        self.destroy()
 def on_new_dao_button_clicked(self, button):
     if self.tipo_dao == "DOCUMENTO".lower():
         from promogest.ui.anagDocumenti.AnagraficaDocumenti import AnagraficaDocumenti
         anag = AnagraficaDocumenti(self.aziendaStr)
         showAnagrafica(self.getTopLevel(), anag)
         anag.on_record_new_activate()
     elif self.tipo_dao == "ARTICOLO".lower():
         from promogest.ui.anagArti.AnagraficaArticoli import AnagraficaArticoli
         anag = AnagraficaArticoli(self.aziendaStr)
         showAnagrafica(self.getTopLevel(), anag)
         anag.on_record_new_activate()
     elif self.tipo_dao == "CLIENTE".lower():
         from promogest.ui.anagClienti.AnagraficaClienti import AnagraficaClienti
         anag = AnagraficaClienti(self.aziendaStr)
         showAnagrafica(self.getTopLevel(), anag)
         anag.on_record_new_activate()
     elif self.tipo_dao == "VETTORE".lower():
         from promogest.ui.anagVettori.AnagraficaVettori import AnagraficaVettori
         anag = AnagraficaVettori(self.aziendaStr)
         showAnagrafica(self.getTopLevel(), anag)
         anag.on_record_new_activate()
     elif self.tipo_dao == "FORNITORE".lower():
         from promogest.ui.anagFornitori.AnagraficaFornitori import AnagraficaFornitori
         anag = AnagraficaFornitori(self.aziendaStr)
         showAnagrafica(self.getTopLevel(), anag)
         anag.on_record_new_activate()
     elif self.tipo_dao == "PROMEMORIA".lower():
         from promogest.ui.anagPromemoria.AnagraficaPromemoria import AnagraficaPromemoria
         anag = AnagraficaPromemoria(self.aziendaStr)
         showAnagrafica(self.getTopLevel(), anag)
         anag.on_record_new_activate()