[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gepal-list] Distinta Base
From: |
Cristian Greggio |
Subject: |
[Gepal-list] Distinta Base |
Date: |
Tue, 17 Jan 2006 23:04:05 +0100 |
Dopo tanto anche in gepal abbiamo la distinta base.
Questo รจ il sorgente che ho inserito in viste
def list_test_dist(self,d,e):
a=e.attrib ## check also parameters like search or paging
d._push()
d.ui(type="listview")
d._pop()
d._push()
d.data(type="table")
#headers
d._push()
d.headers()
# definisce le caselle che si devono vedere type deve essere str
d._push()
d.header(name="articolo_padre", title="Art. Padre", type="str")
d._pop()
d._push()
d.header(name="articolo_figlio", title="Art. Figli", type="str")
d._pop()
d._push()
d.header(name="qta_figlio", title="Quantita' Figlio",
type="str")
d._pop()
d._push()
d.header(name="fase_lista_pz", title="Fase lista pezzi",
type="str")
d._pop()
d._push()
d.header(name="descr_figlio_lspz", title="Descrizione Figlio",
type="str")
d._pop()
d._pop() #headers
d._push()
d.rows()
# stabilisce il cursore nel db
c=self.db.cursor()
# inizializza il contatore e crea gli array per tenere i dati
ricevuti
# dalle query
cont=0
cod_pad=[]
cod_figl=[]
qta_figl=[]
tipo_figl=[]
descr_figl=[]
bole_figl=[]
new_code=[]
new_qta=[]
fase_figl=[]
new_code.append('V0001') # inserisce il codice d'esempio
nell'Array
new_qta.append(2) # inserisce la quantita' esp nell'Array
# per ogni articolo in new_code[] viene creata una query che
legge
# sulla lista_pezzi i codici figli del codice padre e se trova
un
# componente di prodizione lo inserisce in new_code[] e a sua
volta
# viene creata un'atra query (query ricorsive)
for figlio in new_code:
q = "select * from lista_pezzi, articoli where
codice=articolo_figlio and articolo_padre='"+ figlio +"'"
c.execute(q)
data = c.dictfetchall()
# per ogni riga della query andra a inserire i valori
negli
# appositi array
for rows in data:
figli_qta=new_qta[cont]*rows['qta_figlio']
cod_pad.append(rows['articolo_padre'])
cod_figl.append(rows['articolo_figlio'])
qta_figl.append(figli_qta)
tipo_figl.append(rows['tipo'])
descr_figl.append(rows['descrizione'])
fase_figl.append(rows['fase_lista_pz'])
# nel caso siano codici di produzione andra a
inserire
# il codice e le quantita negli array
predisposti
if (rows['tipo'])=='pro':
bole_figl.append(1)
new_code.append(rows['articolo_figlio'])
new_qta.append(figli_qta)
else:
continue
# aumenta il contatore di 1
cont=cont+1
# crea le righe con i dati che saranno visulazati nella vista
distinta
# base nome_campo=valore_in_array ex: array[contatore]
axz=0
for new in cod_figl:
d._push()
d.row(None,articolo_padre=cod_pad[axz]
,articolo_figlio=cod_figl[axz],qta_figlio=qta_figl[axz],fase_lista_pz=fase_figl[axz],descr_figlio_lspz=descr_figl[axz])
axz = axz+1
d._pop()
d._pop()
d._pop()
Saluti
Altro che Perl
_________________
# PYTHON THE BEST #
#_________________#
//////////////////
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gepal-list] Distinta Base,
Cristian Greggio <=