def getGiacenza(self): try: giace = giacenzaArticolo(year=workingYear, idArticolo=self.id, allMag=True)[0] except: giace = 0 return giace
def _setGiacenzaArticolo(self): if self.arti.codice not in ["Stampa", "z-CONTR","z-BONIFICO"]: giace =giacenzaArticolo(year=Environment.workingYear, idMagazzino=self.id_magazzino, idArticolo=self.id_articolo)[0] else: giace = 0 return giace
def _getGiacenza(self): if not hasattr(self, "daData"): self.daData = None if not hasattr(self, "aData"): self.aData = None return giacenzaArticolo( daData=self.daData or None, aData=self.aData or None, idMagazzino=self.id_magazzino, idArticolo=self.id_articolo) or 0
def on_calculate_button_clicked(self, button): idMagazzino = findIdFromCombobox(self.id_magazzino_label_combobox) if self.manuale_radio.get_active(): quantitagenerale = self.quantita_entry.get_text() for row in self._treeViewModel: row[5] = quantitagenerale elif self.giacenza_radio.get_active(): for row in self._treeViewModel: pbar(self.pbar,parziale=row.path[0]+1,totale=len(self._treeViewModel)) if idMagazzino: giacenza = giacenzaArticolo(year=Environment.workingYear, idMagazzino=idMagazzino, idArticolo=row[0].id_articolo) else: giacenza = giacenzaArticolo(year=Environment.workingYear, idArticolo=row[0].id_articolo, allMag=True) if int(giacenza) <= 0: row[5] = "1" else: row[5] = str(int(giacenza)) pbar(self.pbar,stop=True) elif self.movimento_radio.get_active(): from promogest.dao.TestataMovimento import TestataMovimento # from promogest.dao.TestataDocumento import TestataDocumento for row in self._treeViewModel: pbar(self.pbar,parziale=row.path[0]+1,totale=len(self._treeViewModel)) docu = TestataMovimento().select(idArticolo=row[0].id_articolo, batchSize=None) # docu = TestataDocumento().select(idArticolo=row[0].id_articolo, batchSize=None) if docu: doc = docu[-1] for riga in doc.righe: if riga.codice_articolo == row[1]: quanti = riga.quantita if int(quanti) <= 0: row[5] = "1" else: row[5] = str(int(quanti)) pbar(self.pbar,stop=True)
def mostraArticoloPart(anaedit, id, art=None, quan=None): """questa funzione viene chiamata da ricerca articolo e si occupa di riempire la riga[0] con i dati corretti presi dall'articolo """ data = stringToDate(anaedit.data_documento_entry.get_text()) # articolo c'è if id is not None: #anaedit.dettaglio_giacenza_togglebutton.set_property("sensible", True) fillComboboxMultipli(anaedit.id_multiplo_customcombobox.combobox, id, True) articolo = leggiArticolo(id) if posso("PW"): AnagraficaDocumentiEditPromoWearExt.fillLabelInfo(anaedit, articolo) artic = Articolo().getRecord(id=id) if articleType(artic) =="father": anaedit.ArticoloPadre = artic anaedit.promowear_manager_taglia_colore_togglebutton.set_property("visible", True) anaedit.promowear_manager_taglia_colore_togglebutton.set_sensitive(True) # anaedit.on_promowear_manager_taglia_colore_togglebutton_toggled(anaedit) anaedit.NoRowUsableArticle = True if art: # articolo proveninente da finestra taglia e colore ... anaedit.NoRowUsableArticle = False articolo = art anaedit._righe[0]["idArticolo"] = id anaedit._righe[0]["codiceArticolo"] = articolo["codice"] anaedit.articolo_entry.set_text(anaedit._righe[0]["codiceArticolo"]) anaedit._righe[0]["descrizione"] = articolo["denominazione"] anaedit.descrizione_entry.set_text(anaedit._righe[0]["descrizione"]) anaedit._righe[0]["percentualeIva"] = mN(articolo["percentualeAliquotaIva"],2) #ATTENZIONEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!!! anaedit._righe[0]["idAliquotaIva"] = articolo["idAliquotaIva"] findComboboxRowFromId(anaedit.id_iva_customcombobox.combobox, anaedit._righe[0]["idAliquotaIva"]) # anaedit.percentuale_iva_entry.set_text(str(anaedit._righe[0]["percentualeIva"])) anaedit._righe[0]["idUnitaBase"] = articolo["idUnitaBase"] anaedit._righe[0]["unitaBase"] = articolo["unitaBase"] anaedit.unitaBaseLabel.set_text(anaedit._righe[0]["unitaBase"]) if ((anaedit._fonteValore == "acquisto_iva") or (anaedit._fonteValore == "acquisto_senza_iva")): costoLordo = str(articolo['valori']["prezzoLordo"]) if costoLordo: costoLordo = costoLordo.replace(',', '.') costoNetto = str(articolo['valori']["prezzoNetto"]) if costoNetto: costoNetto = costoNetto.replace(',', '.') if anaedit._fonteValore == "acquisto_iva": costoLordo = calcolaPrezzoIva(costoLordo, anaedit._righe[0]["percentualeIva"]) costoNetto = calcolaPrezzoIva(costoNetto, anaedit._righe[0]["percentualeIva"]) anaedit._righe[0]["prezzoLordo"] = mN(costoLordo) anaedit.prezzo_lordo_entry.set_text(str(anaedit._righe[0]["prezzoLordo"])) anaedit._righe[0]["prezzoNetto"] = mN(costoNetto) anaedit.prezzo_netto_label.set_text(str(anaedit._righe[0]["prezzoNetto"])) anaedit._righe[0]["prezzoNettoUltimo"] = mN(costoNetto) anaedit._righe[0]["sconti"] = articolo['valori']["sconti"] anaedit._righe[0]["applicazioneSconti"] = articolo['valori']["applicazioneSconti"] anaedit.sconti_widget.setValues(anaedit._righe[0]["sconti"], anaedit._righe[0]["applicazioneSconti"], False) anaedit._righe[0]["codiceArticoloFornitore"] = articolo['valori']["codiceArticoloFornitore"] anaedit.codice_articolo_fornitore_entry.set_text(anaedit._righe[0]["codiceArticoloFornitore"]) quantita =articolo["quantita"] quantita = quantita.replace(',','.') anaedit._righe[0]["quantita"] = quantita anaedit.quantita_entry.set_text(anaedit._righe[0]["quantita"]) if anaedit._righe[0]["quantita"]: anaedit.calcolaTotaleRiga() elif anaedit._fonteValore == "vendita_iva": costoLordo = str(articolo['valori']["prezzoDettaglio"]) if costoLordo: costoLordo = costoLordo.replace(',','.') anaedit._righe[0]["prezzoLordo"] = mN(costoLordo) anaedit.prezzo_lordo_entry.set_text(str(anaedit._righe[0]["prezzoLordo"])) anaedit._righe[0]["sconti"] = articolo['valori']["scontiDettaglio"] anaedit._righe[0]["applicazioneSconti"] = articolo['valori']["applicazioneScontiDettaglio"] anaedit.sconti_widget.setValues(anaedit._righe[0]["sconti"], anaedit._righe[0]["applicazioneSconti"], False) quantita =articolo["quantita"] quantita = quantita.replace(',', '.') anaedit._righe[0]["quantita"] = quantita anaedit.quantita_entry.set_text(anaedit._righe[0]["quantita"]) if anaedit._righe[0]["quantita"]: anaedit.calcolaTotaleRiga() anaedit.on_show_totali_riga() #anaedit.refresh_combobox_listini() elif anaedit._fonteValore == "vendita_senza_iva": costoLordo = str(articolo['valori']["prezzoIngrosso"]) if costoLordo: costoLordo = costoLordo.replace(',','.') anaedit._righe[0]["prezzoLordo"] = mN(costoLordo) anaedit.prezzo_lordo_entry.set_text(str(anaedit._righe[0]["prezzoLordo"])) anaedit._righe[0]["sconti"] = articolo['valori']["scontiIngrosso"] anaedit._righe[0]["applicazioneSconti"] = articolo['valori']["applicazioneScontiIngrosso"] anaedit.sconti_widget.setValues(anaedit._righe[0]["sconti"], anaedit._righe[0]["applicazioneSconti"], False) quantita =articolo["quantita"] quantita = quantita.replace(',','.') anaedit._righe[0]["quantita"] = quantita anaedit.quantita_entry.set_text(anaedit._righe[0]["quantita"]) if anaedit._righe[0]["quantita"]: anaedit.calcolaTotaleRiga() anaedit.on_show_totali_riga() anaedit.on_confirm_row_button_clicked(anaedit.dialogTopLevel) return #Eccoci all'articolo normale anaedit._righe[0]["idArticolo"] = id anaedit._righe[0]["codiceArticolo"] = articolo["codice"] anaedit.articolo_entry.set_text(anaedit._righe[0]["codiceArticolo"]) anaedit._righe[0]["descrizione"] = articolo["denominazione"] #lottiDataScadenza(idArticolo = id, data=data) if posso("ADR"): artADR = AnagraficaDocumentiEditADRExt.getADRArticolo(id) if artADR: # Aggiorna la descrizione con alcuni dati ADR anaedit._righe[0]["descrizione"] += "\nUN {0},, {1},, {2}, {3}".format(artADR.numero_un, artADR.classe_pericolo, artADR.gruppo_imballaggio, artADR.galleria) anaedit.descrizione_entry.set_text(anaedit._righe[0]["descrizione"]) # Recuperiamo l'aliquota preferenziale del cliente se impostata _id_aliquota_iva = None if anaedit._tipoPersonaGiuridica == "cliente": _id = anaedit.id_persona_giuridica_customcombobox.getId() if _id: _cliente = leggiCliente(_id) if _cliente and 'id_aliquota_iva' in _cliente: _id_aliquota_iva = _cliente['id_aliquota_iva'] anaedit._righe[0]["idAliquotaIva"] = _id_aliquota_iva or articolo["idAliquotaIva"] findComboboxRowFromId(anaedit.id_iva_customcombobox.combobox, _id_aliquota_iva or anaedit._righe[0]["idAliquotaIva"]) # Risolviamo la percentuale tramite id_iva_customcombobox iva = findStrFromCombobox(anaedit.id_iva_customcombobox.combobox, 0) if iva: anaedit._righe[0]["percentualeIva"] = mN(iva.percentuale, 2) or 0 else: anaedit._righe[0]["percentualeIva"] = 0 anaedit._righe[0]["idUnitaBase"] = articolo["idUnitaBase"] anaedit._righe[0]["unitaBase"] = articolo["unitaBase"] anaedit.unitaBaseLabel.set_text(anaedit._righe[0]["unitaBase"]) anaedit._righe[0]["idMultiplo"] = None anaedit._righe[0]["moltiplicatore"] = 1 if posso("GN") and anaedit.noleggio: anaedit._righe[0]["divisore_noleggio"] = artic.divisore_noleggio anaedit.coeficente_noleggio_entry.set_text(str(anaedit._righe[0]["divisore_noleggio"])) anaedit._getPrezzoAcquisto() anaedit._righe[0]["prezzoLordo"] = 0 anaedit._righe[0]["prezzoNetto"] = 0 anaedit._righe[0]["sconti"] = [] anaedit._righe[0]["applicazioneSconti"] = 'scalare' anaedit._righe[0]["codiceArticoloFornitore"] = artic.codice_articolo_fornitore #inserisco dei dati nel frame delle informazioni anaedit.giacenza_label.set_text(str(giacenzaArticolo(year=Environment.workingYear, idMagazzino=findIdFromCombobox(anaedit.id_magazzino_combobox), idArticolo=anaedit._righe[0]["idArticolo"]))) anaedit.quantitaMinima_label.set_text(str(artic.quantita_minima)) # Acquisto if ((anaedit._fonteValore == "acquisto_iva") or (anaedit._fonteValore == "acquisto_senza_iva")): fornitura = leggiFornitura(id, anaedit.id_persona_giuridica_customcombobox.getId(), data) costoLordo = fornitura["prezzoLordo"] costoNetto = fornitura["prezzoNetto"] if anaedit._fonteValore == "acquisto_iva": costoLordo = calcolaPrezzoIva(costoLordo, anaedit._righe[0]["percentualeIva"]) costoNetto = calcolaPrezzoIva(costoNetto, anaedit._righe[0]["percentualeIva"]) anaedit._righe[0]["prezzoLordo"] = costoLordo anaedit.prezzo_lordo_entry.set_text(str(anaedit._righe[0]["prezzoLordo"])) anaedit._righe[0]["prezzoNetto"] = costoNetto anaedit.prezzo_netto_label.set_text(str(anaedit._righe[0]["prezzoNetto"])) anaedit._righe[0]["prezzoNettoUltimo"] = costoNetto anaedit._righe[0]["sconti"] = fornitura["sconti"] anaedit._righe[0]["applicazioneSconti"] = fornitura["applicazioneSconti"] anaedit.sconti_widget.setValues(anaedit._righe[0]["sconti"], anaedit._righe[0]["applicazioneSconti"], False) # anaedit._righe[0]["codiceArticoloFornitore"] = fornitura["codiceArticoloFornitore"] anaedit.codice_articolo_fornitore_entry.set_text(anaedit._righe[0]["codiceArticoloFornitore"] or "") #vendita elif ((anaedit._fonteValore == "vendita_iva") or (anaedit._fonteValore == "vendita_senza_iva")): anaedit.refresh_combobox_listini() if quan: anaedit.quantita_entry.set_text(str(quan)) anaedit._righe[0]["quantita"] = str(quan) if not posso("SM") and articolo["quantita_minima"]: anaedit.quantita_entry.set_text(str(articolo["quantita_minima"])) anaedit._righe[0]["quantita"] = str(articolo["quantita_minima"]) else: anaedit.articolo_entry.set_text('') anaedit.descrizione_entry.set_text('') anaedit.codice_articolo_fornitore_entry.set_text('') anaedit.numero_lotto_entry.set_text("") anaedit.data_scadenza_datewidget.set_text('') anaedit.data_produzione_datewidget.set_text('') anaedit.data_prezzo_datewidget.set_text('') anaedit.ordine_minimo_entry.set_text('') anaedit.tempo_arrivo_merce_entry.set_text('') # anaedit.percentuale_iva_entry.set_text('0') anaedit.id_iva_customcombobox.combobox.set_active(-1) anaedit.id_multiplo_customcombobox.combobox.clear() anaedit.id_listino_customcombobox.combobox.clear() anaedit.prezzo_lordo_entry.set_text('0') anaedit.quantita_entry.set_text('0') anaedit.prezzo_netto_label.set_text('0') anaedit.sconti_widget.clearValues() anaedit.totale_riga_label.set_text('0') anaedit._righe[0]["idArticolo"] = None anaedit._righe[0]["codiceArticolo"] = '' anaedit._righe[0]["descrizione"] = '' anaedit._righe[0]["codiceArticoloFornitore"] = '' anaedit._righe[0]["percentualeIva"] = 0 anaedit._righe[0]["idAliquotaIva"] = None anaedit._righe[0]["idUnitaBase"] = None anaedit._righe[0]["idMultiplo"] = None anaedit._righe[0]["moltiplicatore"] = 1 anaedit._righe[0]["idListino"] = None anaedit._righe[0]["prezzoLordo"] = 0 anaedit._righe[0]["quantita"] = 0 anaedit._righe[0]["prezzoNetto"] = 0 anaedit._righe[0]["divisore_noleggio"] = 0 anaedit._righe[0]["sconti"] = [] anaedit._righe[0]["applicazioneSconti"] = 'scalare' anaedit._righe[0]["totale"] = 0 if anaedit._tipoPersonaGiuridica == "cliente": if anaedit.ricerca == "codice_a_barre" and setconf("Documenti", "no_ricerca_incrementale") and anaedit.nolottotemp: anaedit.lotto_temp_entry.grab_focus() else: anaedit.id_listino_customcombobox.combobox.grab_focus() elif anaedit._tipoPersonaGiuridica == "fornitore": anaedit.codice_articolo_fornitore_entry.grab_focus() else: anaedit.descrizione_entry.grab_focus()