Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions packages/fatt/lib/upgrades/001_insertmario.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from gnr.app.gnrapp import GnrApp
from gnr.core.gnrbag import Bag



def main(db):
tbl_fattura = db.table('fatt.fattura')
tbl_cliente = db.table('fatt.cliente')

name = 'Mario Rossi Srl'
#if tbl_cliente.query(where='$ragione_sociale=:nn', nn=name).count()==0:

# inserisco il cliente
cliente_record = tbl_cliente.newrecord(ragione_sociale=name)
tbl_cliente.insert(cliente_record)

# inserisco 10 fatture
# il campo colonna_testo è None
for _ in range(10):
tbl_fattura.insert(tbl_fattura.newrecord(cliente_id=cliente_record['id']))
41 changes: 41 additions & 0 deletions packages/fatt/lib/upgrades/002_read_aggregate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
from gnr.app.gnrapp import GnrApp
from gnr.core.gnrbag import Bag



def main(db):
tbl_fattura = db.table('fatt.fattura')
tbl_cliente = db.table('fatt.cliente')
print('\n')
print ("\nFETCH NORMALE: colonna_testo è None")
for row in map(dict,tbl_cliente.query(columns="@fatture.colonna_testo").fetch()):
row.pop('pkey')
print ("\t", dict(row))

print ("\nSELECTION NORMALE: colonna_testo è None")
for row in tbl_cliente.query(columns="@fatture.colonna_testo").selection().output('dictlist'):
row.pop('pkey')
print ("\t", row)

print ("\nSELECTION CON _aggregateRows: colonna_testo è ''")
for row in tbl_cliente.query(columns="@fatture.colonna_testo").selection(_aggregateRows=True).output('dictlist'):
row.pop('pkey')
print ("\t", row, "<<== DEVE ESSERE None")

print ("\nSELECTION CON _aggregateRows e colonna rinominata: torna a essere None")
for row in tbl_cliente.query(columns="@fatture.colonna_testo as prova").selection(_aggregateRows=True).output('dictlist'):
row.pop('pkey')
print ("\t", row)


print("\nIpotesi: problema in gnrsqldata.SqlSelection._aggregateRows")
print('''Nella riga "mixColumns = [c for c in explodingColumns if c in index and not self.colAttrs[c].get('one_one') and not( aggregateDict and (c in aggregateDict))]"''')

print ("\nriavviami con python 002_read_aggregate.py")

if __name__ == '__main__':
gnrapp = GnrApp('sandbox')
db = gnrapp.db

main(db)
db.commit()
3 changes: 2 additions & 1 deletion packages/fatt/model/fattura.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ def config_db(self, pkg):

tbl.column('sconto',dtype='percent',name_long='Sconto')
tbl.aliasColumn('clientenome','@cliente_id.ragione_sociale',name_long='Cliente')

tbl.column('colonna_testo', size=":20")

def ricalcolaTotali(self,fattura_id=None,mylist=None):
with self.recordToUpdate(fattura_id) as record:
totale_lordo,totale_iva = self.db.table('fatt.fattura_riga'
Expand Down