change report and and default stock removal strategy

develop
Kumar Aberer 2015-04-14 18:13:09 +02:00
parent 941b3096e7
commit 6d8496df43
4 changed files with 75 additions and 17 deletions

View File

@ -13,7 +13,7 @@
</para>
<para>[[repeatIn(objects,'o')]] [[ setLang(o.partner_id.commercial_partner_id.lang)]]</para>
<blockTable colWidths="270,85,145" style="Struktur">
<blockTable colWidths="270,230" style="Struktur">
<tr>
<td>
<section>
@ -25,28 +25,69 @@
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
<!-- Für Sichtfenster -->
<section>[[ not (o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
<para style="normal">&#160;</para>
</section>
</section>
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
<spacer length="1.5cm"/>
<para style="normal">Lieferadresse:</para>
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
</section>
</section>
<para></para>
</td>
<td>
<para style="normal">Angebotsdatum:[[ o.state not in ['draft','sent'] and removeParentNode('para') ]]</para>
<para style="normal">Bestelldatum:[[ o.state in ['draft','sent'] and removeParentNode('para') ]]</para>
<para style="normal">Quelldokument:</para>
<para style="normal">Referenz:</para>
<!--<para style="normal">Kundennummer:</para>-->
<para style="normal">Kunde UID Nr.:</para>
<para style="normal">Ansprechpartner:</para>
</td>
<td>
<para style="normal">[[ formatLang(o.date_order,date = True) ]]&#160;</para>
<para style="normal">[[ o.origin ]]&#160;</para>
<para style="normal">[[ o.client_order_ref ]]&#160;</para>
<!--<para style="normal">[[ o.partner_id.commercial_partner_id.ref ]]&#160;</para>-->
<para style="normal">[[ o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.vat or '' ]]&#160;</para>
<para style="normal">[[ (o.user_id and o.user_id.name) or '' ]]&#160;</para>
<blockTable colWidths="85,145" style="Struktur">
<tr>
<td>
<para style="normal">Angebotsdatum:[[ o.state not in ['draft','sent'] and removeParentNode('para') ]]</para>
<para style="normal">Bestelldatum:[[ o.state in ['draft','sent'] and removeParentNode('para') ]]</para>
</td>
<td>
<para style="normal">[[ formatLang(o.date_order,date = True) ]]</para>
</td>
</tr>
<tr>
<td>
<para style="normal">Quelldokument:[[ o.state not in ['draft','sent'] and removeParentNode('tr') ]]</para>
</td>
<td>
<para style="normal">[[ o.origin ]]</para>
</td>
</tr>
<tr>
<td>
<para style="normal">Kundennummer:</para>
</td>
<td>
<para style="normal">[[ o.client_order_ref ]]</para>
</td>
</tr>
<tr>
<td>
<para style="normal">Kunde UID Nr.:</para>
</td>
<td>
<para style="normal">[[ o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.vat or '' ]]</para>
</td>
</tr>
<tr>
<td>
<para style="normal">Ansprechpartner:</para>
</td>
<td>
<para style="normal">[[ (o.user_id and o.user_id.name) or '' ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
<!--

View File

@ -66,6 +66,7 @@ def main():
'set_decimal_price',
'import_users',
'set_translations',
'set_default_removal_strategy',
]
if cmd == 'rollout':

View File

@ -98,6 +98,8 @@ class Config():
'group_stock_packaging': False, # Ermöglicht die Auswahl einer Verpackung
}
self.removal_strategy = 'fefo' #[fifo], [lifo], [fefo]
self.stock_cost_method = 'average' # [standard], [average], [real]
# Wenn gesetzt, teilen sich Gutschriften und Rechnungen den selben Nummernkreis

View File

@ -583,3 +583,17 @@ class CamadeusFunctions():
return True
return False
def set_default_removal_strategy(self):
"""Default Entnahmestrategie für Lager setzen"""
if hasattr(self.config, 'removal_strategy'):
method = self.config.removal_strategy
strategy_ids = self._execute('product.removal', 'search', [('method','=',method)])
if not strategy_ids:
return False
stock_id = self._execute('ir.model.data', 'xmlid_to_res_id', 'stock.stock_location_stock')
if not stock_id:
return False
return self._execute('stock.location', 'write', stock_id,{'removal_strategy_id':strategy_ids[0]})
return False