22 |
xmlns:lam="http://luca.org.ar/dtd/lam" |
xmlns:lam="http://luca.org.ar/dtd/lam" |
23 |
title="Lista de precios"> |
title="Lista de precios"> |
24 |
|
|
25 |
|
<parameter name="wanted" default="1"/> |
26 |
|
<parameter name="wanted_name" default="???"/> |
27 |
|
|
28 |
<datasource name="dynDS" database="papo"/> |
<datasource name="dynDS" database="papo"/> |
29 |
<datasource name="dummyDS"/> |
<datasource name="dummyDS"/> |
30 |
<datasource name="priceTypeDS" database="papo" table="_price_type_data"> |
<datasource name="priceTypeDS" database="papo" table="_price_type_data"> |
35 |
</condition> |
</condition> |
36 |
</datasource> |
</datasource> |
37 |
|
|
38 |
|
<trigger type="On-Startup"> |
39 |
|
# demorar un poco más al inicio |
40 |
|
import sys |
41 |
|
try: |
42 |
|
import ruff |
43 |
|
except ImportError: |
44 |
|
sys.path.append('../ruff/') |
45 |
|
import ruff |
46 |
|
</trigger> |
47 |
|
|
48 |
<trigger name="printTrigger" type="NAMED"><![CDATA[ |
<trigger name="printTrigger" type="NAMED"><![CDATA[ |
49 |
callTrigger('startWaitingModeTrigger') |
callTrigger('startWaitingModeTrigger') |
|
import sys |
|
|
sys.path.append('/home/john/src/cvs/papo/ruff/') |
|
50 |
from ruff import Report |
from ruff import Report |
51 |
from time import strftime |
from time import strftime |
52 |
from os import popen |
from os import popen |
53 |
import locale |
import locale |
54 |
|
import printing |
55 |
|
|
56 |
# por defecto usar la lista base (#1) -- mantener sincronizado con el |
wanted = int(str(getParameter('wanted'))) |
57 |
# default del dropdown para minimizar la sorpresa del usuario |
wanted_name = str(getParameter('wanted_name')) |
|
wanted = int(str(printBlock.priceTypeEntry) or 1) |
|
|
wanted_name = None |
|
|
|
|
|
# TIENE que haber una manera más fácil de conseguir el nombre que ya |
|
|
# está mostrando el dropdown! |
|
|
rs = priceTypeDS.createResultSet() |
|
|
more = rs.firstRecord() |
|
|
while more: |
|
|
if rs.current.getField('_table') == wanted: |
|
|
wanted_name = rs.current.getField('name') |
|
|
more=rs.nextRecord() |
|
|
if wanted_name is None: |
|
|
wanted_name = "[ sin nombre ]" |
|
58 |
|
|
59 |
r = Report('ruff/priceList.xml') |
r = Report('ruff/priceList.xml') |
60 |
old_lc_time = locale.getlocale(locale.LC_TIME) |
old_lc_time = locale.getlocale(locale.LC_TIME) |
66 |
r.page_footer(nombre=wanted_name) |
r.page_footer(nombre=wanted_name) |
67 |
locale.setlocale(locale.LC_TIME, old_lc_time) |
locale.setlocale(locale.LC_TIME, old_lc_time) |
68 |
|
|
|
# esto después vendría de un dropdown |
|
69 |
ids = [] |
ids = [] |
70 |
sel = 'SELECT parent FROM _price_type_data WHERE _table=%d' |
sel = 'SELECT parent FROM _price_type_data WHERE _table=%d' |
71 |
while wanted: |
while wanted: |
109 |
r.add_dentry('item', product=i['name'], code=i['code'], price=(i['format'] or '%10.2f') % i['price']) |
r.add_dentry('item', product=i['name'], code=i['code'], price=(i['format'] or '%10.2f') % i['price']) |
110 |
r.close_detail() |
r.close_detail() |
111 |
|
|
112 |
print >> popen("xless -fn vga", "w"), r |
printing.previewPrint([str(r)], gConfig('printcommand')) |
113 |
callTrigger('endWaitingModeTrigger') |
callTrigger('endWaitingModeTrigger') |
114 |
]]></trigger> |
]]></trigger> |
115 |
|
|
118 |
<block datasource="dummyDS" name="printBlock" restrictInsert=""> |
<block datasource="dummyDS" name="printBlock" restrictInsert=""> |
119 |
<lam:box lam:boxtype="h"> |
<lam:box lam:boxtype="h"> |
120 |
<lam:box lam:boxtype="v"> |
<lam:box lam:boxtype="v"> |
|
<label text="Elija la lista de precios a imprimir"/> |
|
|
<entry name="priceTypeEntry" style="dropdown" foreign_key="priceTypeDS._table" foreign_key_description="name" default="1"/> |
|
121 |
<lam:box lam:boxtype="h"> |
<lam:box lam:boxtype="h"> |
122 |
<entry name="byNameEntry" style="checkbox" width="3" default="1"/><label text="Ordenar por nombre" width="18"/> |
<entry name="byNameEntry" style="checkbox" width="3" default="1"/><label text="Ordenar por nombre" width="18"/> |
123 |
<lam:box lam:boxtype="v" width="*"/> |
<lam:box lam:boxtype="v" width="*"/> |