def _refresh(self): findComboboxRowFromId(self.id_banca_ccb.combobox, self.dao.id_banca) self.numero_conto_entry.set_text(self.dao.numero_conto or '') self.data_widget.set_text(dateToString(self.dao.data_riporto) or '') self.valore_smentry.set_text(str(self.dao.valore_riporto or Decimal(0))) self.codice_sia_entry.set_text(self.dao.codice_sia or '') self.banca_pref_check.set_active(self.dao.banca_predefinita or False)
def refresh(self): # Aggiornamento TreeView idArticolo = self.id_articolo_filter_customcombobox1.getId() if idArticolo is None: self._treeViewModel.clear() messageInfo(transient=self._visualizzazione.getTopLevel(), msg='Selezionare un articolo !') return idListino = findIdFromCombobox(self.id_listino_filter_combobox1) daDataListino = stringToDate(self.da_data_listino_filter_entry.get_text()) aDataListino = stringToDate(self.a_data_listino_filter_entry.get_text()) self.numRecords = ListinoArticolo().count(idArticolo=idArticolo, idListino=idListino, listinoAttuale=None, # daDataListino =daDataListino, # aDataListino=aDataListino ) self._refreshPageCount() liss = ListinoArticolo().select(orderBy=self.orderBy, idArticolo=idArticolo, idListino=idListino, listinoAttuale=None, # daDataListino=daDataListino, # aDataListino=aDataListino, offset = self.offset, batchSize = self.batchSize) self._treeViewModel.clear() for l in liss: przDet = mN(l.prezzo_dettaglio or 0) przIngr = mN(l.prezzo_ingrosso or 0) ricDett = '%-6.3f' % calcolaRicarico(float(l.ultimo_costo or 0), float(l.prezzo_dettaglio or 0), float(l.percentuale_iva or 0)) margDett = '%-6.3f' % calcolaMargine(float(l.ultimo_costo or 0), float(l.prezzo_dettaglio or 0), float(l.percentuale_iva or 0)) ricIngr = '%-6.3f' % calcolaRicarico(float(l.ultimo_costo or 0), float(l.prezzo_ingrosso or 0)) margIngr = '%-6.3f' % calcolaMargine(float(l.ultimo_costo or 0), float(l.prezzo_ingrosso or 0)) self._treeViewModel.append((l, (l.denominazione or ''), dateToString(l.data_listino), przDet, ricDett, margDett, przIngr, ricIngr, margIngr, (l.ultimo_costo or 0)))
def on_aggiorna_button_clicked(self, widget): # Alcuni controlli sull'input if self.periodo_checkbutton.get_active() and \ (self.inizio_periodo_date.get_text() == '' or \ self.fine_periodo_date.get_text() == ''): messageWarning('Inserire una data valida') return model = self.scadenzario_treeview.get_model() model.clear() if self.periodo_checkbutton.get_active(): # Mostra le scadenze nel periodo tds = TestataDocumentoScadenza().select(orderBy=TestataDocumentoScadenza.data, complexFilter=(and_(TestataDocumentoScadenza.data_pagamento==None, TestataDocumentoScadenza.data.between(stringToDateTime(self.inizio_periodo_date.get_text()), stringToDateTime(self.fine_periodo_date.get_text()))))) else: # Mostra le prossime scadenze tds = TestataDocumentoScadenza().select(orderBy=TestataDocumentoScadenza.data, complexFilter=(and_(TestataDocumentoScadenza.data_pagamento==None, TestataDocumentoScadenza.data>=datetime.now()))) tipo_doc = '' for t in tds: doc = TestataDocumento().getRecord(id=t.id_testata_documento) if doc.operazione not in Environment.hapag: continue if doc.documento_saldato: continue if doc.id_fornitore and self.da_pagare: tipo_doc = 'A' if doc.id_cliente and self.da_incassare: tipo_doc = 'V' model.append([None, "%s" % dateToString(t.data), "%s" % doc.intestatario, tipo_doc, "%s" % doc.numero, # numero documento "€ %s" % mN(t.importo, 2), # importo "", # descrizione t.pagamento])
def refresh(self): # Aggiornamento TreeView idAzienda = self._anagrafica._idAzienda numero_conto = prepareFilterString( self.numero_conto_filter_entry.get_text()) def filterCountClosure(): return BancheAzienda().count(idAzienda=idAzienda, numeroConto=numero_conto) self._filterCountClosure = filterCountClosure self.numRecords = self.countFilterResults() self._refreshPageCount() # Let's save the current search as a closure def filterClosure(offset, batchSize): return BancheAzienda().select(orderBy=self.orderBy, idAzienda=idAzienda, numeroConto=numero_conto, offset=offset, batchSize=batchSize) self._filterClosure = filterClosure daos = self.runFilter() self._treeViewModel.clear() for dao in daos: self._treeViewModel.append((dao, (dao.denominazione_banca), (dao.numero_conto or ''), (dateToString(dao.data_riporto) or ''), (str(dao.valore_riporto) or ''), (dao.codice_sia or ''), (dao.banca_predefinita or False)))
def analizza(self, data_inizio=None, data_fine=None, pageData=None): if not data_inizio: messageError(msg='Inserire una data d\'inizio periodo.') return 0 if not data_fine: data_inizio_, data_fine = dataInizioFineMese(data_inizio) documenti = TestataDocumento().select(complexFilter=(and_(or_(TestataDocumento.operazione=='Fattura differita vendita', TestataDocumento.operazione=='Fattura accompagnatoria'), TestataDocumento.data_documento.between(data_inizio, data_fine))), batchSize=None) if not documenti: messageInfo(msg="Nessun risultato.") return 0 righe = [] buff = self.recordIB() i = 0 totale_importi = Decimal(0) for documento in documenti: if self.progressbar: pbar(self.progressbar, parziale=i, totale=len(documenti)) ope = leggiOperazione(documento.operazione) if ope: if ope['tipoPersonaGiuridica'] != 'cliente': continue banca = None if documento.id_banca: banca = leggiBanca(documento.id_banca) else: continue cli = leggiCliente(documento.id_cliente) cli_ente = Cliente().getRecord(id=documento.id_cliente) cod_fisc_piva = '' if cli_ente: cod_fisc_piva = cli_ente.codice_fiscale or cli_ente.partita_iva else: cod_fisc_piva = documento.codice_fiscale_cliente debitore = Debitore(cod_fisc_piva, banca['abi'], banca['cab']) debitore.descrizione[0] = '' if cli['ragioneSociale']: debitore.descrizione[0] = cli['ragioneSociale'] else: debitore.descrizione[0] = cli['cognome'] + ' ' + cli['nome'] debitore.indirizzo = documento.indirizzo_cliente debitore.CAP = documento.cap_cliente debitore.provincia = documento.provincia_cliente debitore.comune = documento.localita_cliente for scadenza in documento.scadenze: if pagamentoLookup(scadenza.pagamento): row = "%s N. %s a %s del %s \nImporto: %s data scadenza: %s" % (documento.operazione, documento.numero, documento.intestatario, dateToString(documento.data_documento), # scadenza.pagamento, mN(scadenza.importo, 2), dateToString(scadenza.data) ) progressivo = i + 1 totale_importi += scadenza.importo buff += self.record14(progressivo, scadenza.data, scadenza.importo, debitore) buff += self.record20(progressivo) buff += self.record30(progressivo, debitore) buff += self.record40(progressivo, debitore) buff += self.record50(progressivo, debitore, row.replace('\n', '')) buff += self.record51(progressivo, progressivo) buff += self.record70(progressivo) riga = { 'destinatario': debitore.descrizione[0], 'indirizzo': debitore.indirizzo, 'CAP': debitore.CAP, 'comune': debitore.comune, 'provincia': debitore.provincia, 'cod_fisc_piva': cod_fisc_piva, 'banca_abi': banca['abi'], 'banca_cab': banca['cab'], 'importo': scadenza.importo, 'data_scadenza': scadenza.data, 'rif_debito': row } righe.append(riga) i = i + 1 buff += self.recordEF(i, totale_importi) pageData['righe'] = righe pageData['totale_importi'] = totale_importi pageData['disposizioni'] = i if self.progressbar: pbar(self.progressbar, stop=True) self._buffer = buff