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)
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()