bzr revid: fp@tinyerp.com-20081120100922-ds1qi4fsww6ypabl
This commit is contained in:
Fabien Pinckaers 2008-11-20 11:09:22 +01:00
commit 69dc367ddb
3 changed files with 49 additions and 17 deletions

View File

@ -624,6 +624,8 @@ class account_move_line(osv.osv):
attrs.append('sum="Total debit"')
elif field.field=='credit':
attrs.append('sum="Total credit"')
elif field.field=='account_tax_id':
attrs.append('domain="[(\'parent_id\',\'=\',False)]"')
elif field.field=='account_id' and journal.id:
attrs.append('domain="[(\'journal_id\', \'=\', '+str(journal.id)+'),(\'type\',\'<>\',\'view\'), (\'type\',\'<>\',\'closed\')]"')
if field.readonly:

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -30,17 +30,45 @@ class shipping(report_sxw.rml_parse):
super(shipping, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
# 'sum_total': self._sum_total,
'get_address': self._get_address,
'get_address_ship':self._get_address_ship
})
def _get_address(self,data):
self.cr.execute("select sp.id,sp.origin,sp.address_id,so.partner_id,rp.name as name2,so.partner_invoice_id,rpa.name,rpa.street as Street,rpa.city ,rpa.zip,rc.name as country " \
"from sale_order as so, stock_picking as sp,res_partner rp,res_partner_address as rpa,res_country as rc " \
"where sp.origin=so.name " \
"and so.partner_id=rp.id " \
"and so.partner_invoice_id=rpa.id " \
"and rpa.country_id=rc.id " \
"and sp.id=%d "%(data.id))
add=self.cr.dictfetchall()
return add
def _get_address_ship(self,data):
self.cr.execute("select sp.id,sp.origin,sp.address_id,so.partner_id,rp.name as name2,so.partner_shipping_id,rpa.name,rpa.street as Street,rpa.city ,rpa.zip,rc.name as country " \
"from sale_order as so, stock_picking as sp,res_partner rp,res_partner_address as rpa,res_country as rc " \
"where sp.origin=so.name " \
"and so.partner_id=rp.id " \
"and so.partner_shipping_id=rpa.id " \
"and rpa.country_id=rc.id " \
"and sp.id=%d "%(data.id))
ship=self.cr.dictfetchall()
return ship
# def _sum_total(self,data):
# print "======data=======",data['id']
# print "======data=======",data
# self.cr.execute("SELECT sum(pt.list_price*sm.product_qty) FROM stock_picking as sp "\
# "LEFT JOIN stock_move sm ON (sp.id = sm.picking_id) "\
# "LEFT JOIN product_product pp ON (sm.product_id = pp.id) "\
# "LEFT JOIN product_template pt ON (pp.product_tmpl_id = pt.id) "\
# "WHERE sm.picking_id = %d "%(data['id']))
# sum_total = self.cr.fetchone()[0] or 0.00
# return sum_total
# return True
report_sxw.report_sxw('report.sale.shipping','stock.picking','addons/sale/report/shipping.rml',parser=shipping)
report_sxw.report_sxw('report.sale.shipping','stock.picking','addons/sale/report/shipping.rml',parser=shipping)

View File

@ -117,19 +117,21 @@
<blockTable colWidths="287.0,254.0" repeatRows="1" style="Tableau1">
<tr>
<td>
<para style="terp_default_Bold_9">Invoiced to</para>
<para style="terp_default_9">[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.name or '' ]]</para>
<para style="terp_default_9">[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.street or '']]</para>
<para style="terp_default_9">[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.zip or '']]</para>
<para style="terp_default_9">[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.city or '' ]]</para>
<para style="terp_default_9">[[ o.address_id and o.address_id.partner_id and o.address_id.partner_id.country_id and o.address_id and o.address_id.partner_id and o.address_id.partner_id.name or '']]</para>
<para style="terp_default_Bold_9">Invoiced To</para>
<para style="terp_default_9">[[ repeatIn(get_address(o),'add') ]]</para>
<para style="terp_default_9">[[ add['name2'] ]]</para>
<para style="terp_default_9">[[ add['street'] ]]</para>
<para style="terp_default_9">[[ add['city'] ]]</para>
<para style="terp_default_9">[[ add['country'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_shipping_id and o.sale_id.partner_shipping_id.name or '']]</para>
<para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_shipping_id and o.sale_id.partner_shipping_id.street or '']]</para>
<para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_shipping_id and o.sale_id.partner_shipping_id.zip or '']]</para>
<para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_shipping_id and o.sale_id.partner_shipping_id.city or '']]</para>
<para style="terp_default_9">[[ o.sale_id and o.sale_id.partner_shipping_id and o.sale_id.partner_shipping_id.country_id and o.sale_id.partner_shipping_id.country_id.name or '']]</para>
<para style="terp_default_Bold_9">Shipping To</para>
<para style="terp_default_9">[[ repeatIn(get_address_ship(o),'ship') ]]</para>
<para style="terp_default_9">[[ ship['name2'] ]]</para>
<para style="terp_default_9">[[ ship['street'] ]]</para>
<para style="terp_default_9">[[ ship['city'] ]]</para>
<para style="terp_default_9">[[ ship['country'] ]]</para>
</td>
</tr>
</blockTable>