diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 1b378e15e93..d1726d164b6 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -98,6 +98,7 @@ module named account_voucher. 'wizard/account_reconcile_view.xml', 'wizard/account_reconcile_partner_process_view.xml', 'wizard/account_automatic_reconcile_view.xml', + 'wizard/account_financial_report_view.xml', 'project/wizard/project_account_analytic_line_view.xml', 'account_end_fy.xml', 'account_invoice_view.xml', diff --git a/addons/account/account.py b/addons/account/account.py index 1412cc9b61f..61e1fb021a9 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2637,6 +2637,79 @@ class account_fiscal_position_account_template(osv.osv): account_fiscal_position_account_template() +class account_financial_report(osv.osv): + _name = "account.financial.report" + _description = "Account Report" + + def _get_level(self, cr, uid, ids, field_name, arg, context=None): + res = {} + for report in self.browse(cr, uid, ids, context=context): + level = 0 + if report.parent_id: + level = report.parent_id.level + 1 + res[report.id] = level + return res + + def _get_children_by_order(self, cr, uid, ids, context=None): + res = [] + for id in ids: + res.append(id) + ids2 = self.search(cr, uid, [('parent_id', '=', id)], order='sequence ASC', context=context) + res += self._get_children_by_order(cr, uid, ids2, context=context) + return res + + def _get_balance(self, cr, uid, ids, name, args, context=None): + res = {} + res_all = {} + for report in self.browse(cr, uid, ids, context=context): + balance = 0.0 + if report.id in res_all: + balance = res_all[report.id] + elif report.type == 'accounts': + # it's the sum of balance of the linked accounts + for a in report.account_ids: + balance += a.balance + elif report.type == 'account_report' and report.account_report_id: + # it's the amount of the linked report + res2 = self._get_balance(cr, uid, [report.account_report_id.id], 'balance', False, context=context) + res_all.update(res2) + for key, value in res2.items(): + balance += value + elif report.type == 'sum': + # it's the sum of balance of the children of this account.report + #for child in report.children_ids: + res2 = self._get_balance(cr, uid, [rec.id for rec in report.children_ids], 'balance', False, context=context) + res_all.update(res2) + for key, value in res2.items(): + balance += value + res[report.id] = balance + res_all[report.id] = balance + return res + + _columns = { + 'name': fields.char('Report Name', size=128, required=True), + 'parent_id': fields.many2one('account.financial.report', 'Parent'), + 'children_ids': fields.one2many('account.financial.report', 'parent_id', 'Account Report'), + 'sequence': fields.integer('Sequence'), + 'type': fields.selection([ + ('sum','Sum'), + ('accounts','Accounts'), + ('account_report','Account Report'), + ],'Type'), + 'account_ids': fields.many2many('account.account', 'account_account_financial_report', 'report_line_id', 'account_id', 'Accounts'), + 'note': fields.text('Notes'), + 'account_report_id': fields.many2one('account.financial.report', 'Account Report'), + 'balance': fields.function(_get_balance, 'Balance'), + 'display_detail': fields.boolean('Display the account list'), + 'level': fields.function(_get_level, string='Level', store=True, type='integer'), + } + + _defaults = { + 'type': 'sum', + } + +account_financial_report() + # Multi charts of Accounts wizard class wizard_multi_charts_accounts(osv.osv_memory): diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml index 062e1f6382b..89538603ae7 100644 --- a/addons/account/account_menuitem.xml +++ b/addons/account/account_menuitem.xml @@ -30,6 +30,7 @@ + + + + + account.financial.report.form + account.financial.report + form + +
+ + + + + + + + + + + + +
+ + + account.financial.report.tree + account.financial.report + tree + + + + + + + + + + + + account.financial.report.search + account.financial.report + search + + + + + + + + + + + + + + + + + + + Account Reports + ir.actions.act_window + account.financial.report + form + tree,form + + + Makes a generic system to draw financial reports easily. + + + + + + account.report.hierarchy + account.financial.report + tree + children_ids + + + + + + + + + + + Account Reports Hierarchy + account.financial.report + tree + + [('parent_id','=',False)] + + + + diff --git a/addons/account/report/__init__.py b/addons/account/report/__init__.py index 7c09027f3ca..c9e49c2e02d 100644 --- a/addons/account/report/__init__.py +++ b/addons/account/report/__init__.py @@ -42,6 +42,7 @@ import account_analytic_entries_report import account_balance_sheet import account_profit_loss import account_treasury_report +import account_financial_report # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/report/account_financial_report.py b/addons/account/report/account_financial_report.py new file mode 100644 index 00000000000..6b0ada74708 --- /dev/null +++ b/addons/account/report/account_financial_report.py @@ -0,0 +1,90 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import time + +from report import report_sxw +from common_report_header import common_report_header +from tools.translate import _ + +class report_account_common(report_sxw.rml_parse, common_report_header): + + def __init__(self, cr, uid, name, context=None): + super(report_account_common, self).__init__(cr, uid, name, context=context) + self.localcontext.update( { + 'get_lines': self.get_lines, + 'time': time, + 'get_fiscalyear': self._get_fiscalyear, + 'get_account': self._get_account, + 'get_start_period': self.get_start_period, + 'get_end_period': self.get_end_period, + 'get_filter': self._get_filter, + 'get_start_date':self._get_start_date, + 'get_end_date':self._get_end_date, + }) + self.context = context + + def set_context(self, objects, data, ids, report_type=None): + new_ids = ids + if (data['model'] == 'ir.ui.menu'): + new_ids = 'chart_account_id' in data['form'] and [data['form']['chart_account_id']] or [] + objects = self.pool.get('account.account').browse(self.cr, self.uid, new_ids) + return super(report_account_common, self).set_context(objects, data, new_ids, report_type=report_type) + + def get_lines(self, data): + lines = [] + account_obj = self.pool.get('account.account') + currency_obj = self.pool.get('res.currency') + ids2 = self.pool.get('account.financial.report')._get_children_by_order(self.cr, self.uid, [data['form']['account_report_id'][0]], context=data['form']['used_context']) + for report in self.pool.get('account.financial.report').browse(self.cr, self.uid, ids2, context=data['form']['used_context']): + vals = { + 'name': report.name, + 'balance': report.balance, + 'type': 'report', + 'level': report.level, + } + if data['form']['enable_filter']: + vals['balance_cmp'] = self.pool.get('account.financial.report').browse(self.cr, self.uid, report.id, context=data['form']['comparison_context']).balance + lines.append(vals) + if report.type == 'accounts' and report.display_detail and report.account_ids: + account_ids = account_obj._get_children_and_consol(self.cr, self.uid, [x.id for x in report.account_ids]) + for account in account_obj.browse(self.cr, self.uid, account_ids, context=data['form']['used_context']): + if account.type != 'view': + flag = False + vals = { + 'name': account.code + ' ' + account.name, + 'balance': account.balance, + 'type': 'account', + 'level': 6, + 'account_type': account.type, + } + if not currency_obj.is_zero(self.cr, self.uid, account.company_id.currency_id, vals['balance']): + flag = True + if data['form']['enable_filter']: + vals['balance_cmp'] = account_obj.browse(self.cr, self.uid, account.id, context=data['form']['comparison_context']).balance + if not currency_obj.is_zero(self.cr, self.uid, account.company_id.currency_id, vals['balance_cmp']): + flag = True + if flag: + lines.append(vals) + return lines + +report_sxw.report_sxw('report.account.financial.report', 'account.financial.report', + 'addons/account/report/account_financial_report.rml', parser=report_account_common, header='internal') + diff --git a/addons/account/report/account_financial_report.rml b/addons/account/report/account_financial_report.rml new file mode 100644 index 00000000000..8dd92335266 --- /dev/null +++ b/addons/account/report/account_financial_report.rml @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [[ data['form']['account_report_id'][1] ]] + + + + + + + + + + Chart of Account + Fiscal Year + Filter By [[ get_filter(data)!='No Filter' and get_filter(data) ]] + + + [[ get_account(data) or removeParentNode('para') ]] + [[ get_fiscalyear(data) or '' ]] + [[ get_filter(data)=='No Filter' and get_filter(data) or removeParentNode('para') ]] + [[ get_filter(data)=='Date' or removeParentNode('blockTable') ]] + + Start Date + End Date + + + [[ formatLang(get_start_date(data),date=True) ]] + [[ formatLang(get_end_date(data),date=True) ]] + + + [[ get_filter(data)=='Periods' or removeParentNode('blockTable') ]] + + Start Period + End Period + + + [[ get_start_period(data) or removeParentNode('para') ]] + [[ get_end_period(data) or removeParentNode('para') ]] + + + + + + + + + + + + + [[ data['form']['enable_filter'] == 0 or removeParentNode('blockTable') ]] + + + Name + + + Balance + + + + [[ repeatIn(get_lines(data), 'a') ]] + [[ (a.get('level') <> 0) or removeParentNode('tr') ]] + [[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]] + [[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_name'}) ]] [[ a.get('name') ]] + [[ a.get('level') == 4 or removeParentNode('td') ]][[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_balance'}) ]][[ formatLang(a.get('balance'))]] [[company.currency_id.symbol]] + [[ a.get('level') <> 4 or removeParentNode('td') ]][[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_balance'}) ]][[ formatLang(a.get('balance'))]] [[company.currency_id.symbol]] + + + + + + + [[ data['form']['enable_filter'] == 1 or removeParentNode('blockTable') ]] + + + Name + + + Balance + + + [[ data['form']['label_filter'] ]] + + + + [[ repeatIn(get_lines(data), 'a') ]] + [[ (a.get('level') <> 0) or removeParentNode('tr') ]] + [[ setTag('tr','tr',{'style': 'Table'+str(min(3,'level' in a and a.get('level') or 1))}) ]] + [[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_name'}) ]] [[ a.get('name') ]] + [[ a.get('level') == 4 or removeParentNode('td') ]][[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_balance'}) ]][[ formatLang(a.get('balance'))]] [[company.currency_id.symbol]] + [[ a.get('level') <> 4 or removeParentNode('td') ]][[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_balance'}) ]][[ formatLang(a.get('balance'))]] [[company.currency_id.symbol]] + [[ a.get('level') == 4 or removeParentNode('td') ]][[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_balance'}) ]][[ formatLang(a.get('balance_cmp'))]] [[company.currency_id.symbol]] + [[ a.get('level') <> 4 or removeParentNode('td') ]][[ setTag('para','para',{'style': 'terp_level_'+str(min(6,a['level']))+'_balance'}) ]][[ formatLang(a.get('balance_cmp'))]] [[company.currency_id.symbol]] + + + + + + + diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv index cd945a2248d..79e4dbb0c03 100644 --- a/addons/account/security/ir.model.access.csv +++ b/addons/account/security/ir.model.access.csv @@ -67,6 +67,7 @@ "access_account_fiscalyear_employee","account.fiscalyear employee","model_account_fiscalyear","base.group_user",1,0,0,0 "access_res_currency_account_manager","res.currency account manager","base.model_res_currency","group_account_manager",1,1,1,1 "access_res_currency_rate_account_manager","res.currency.rate account manager","base.model_res_currency_rate","group_account_manager",1,1,1,1 +"access_res_currency_rate_type_account_manager","res.currency.rate.type account manager","base.model_res_currency_rate_type","group_account_manager",1,1,1,1 "access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0 "access_account_invoice_user","account.invoice.line user","model_account_invoice_line","base.group_user",1,0,0,0 "access_account_payment_term_partner_manager","account.payment.term partner manager","model_account_payment_term","base.group_user",1,0,0,0 @@ -127,4 +128,7 @@ "access_account_sequence_fiscal_year_sale_user","account.sequence.fiscalyear.sale.user","model_account_sequence_fiscalyear","base.group_sale_salesman",1,1,1,0 "access_account_sequence_fiscal_year_sale_manager","account.sequence.fiscalyear.sale.manager","model_account_sequence_fiscalyear","base.group_sale_manager",1,1,1,1 "access_account_treasury_report_manager","account.treasury.report.manager","model_account_treasury_report","account.group_account_manager",1,0,0,0 +"access_account_financial_report","account.financial.report","model_account_financial_report","account.group_account_user",1,1,1,1 +"access_account_financial_report_invoice","account.financial.report invoice","model_account_financial_report","account.group_account_invoice",1,0,0,0 +"access_account_financial_report_manager","account.financial.report","model_account_financial_report","account.group_account_manager",1,1,1,1 diff --git a/addons/account/wizard/__init__.py b/addons/account/wizard/__init__.py index caed6fc3977..d82eff62142 100644 --- a/addons/account/wizard/__init__.py +++ b/addons/account/wizard/__init__.py @@ -47,6 +47,7 @@ import account_open_closed_fiscalyear import account_invoice_state import account_chart import account_tax_chart +import account_financial_report #TODO: remove this file no moe used # also remove related view fiel diff --git a/addons/account/wizard/account_financial_report.py b/addons/account/wizard/account_financial_report.py new file mode 100644 index 00000000000..de9cae3a00c --- /dev/null +++ b/addons/account/wizard/account_financial_report.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import fields, osv + +class accounting_report(osv.osv_memory): + _name = "accounting.report" + _inherit = "account.common.report" + _description = "Accounting Report" + + _columns = { + 'enable_filter': fields.boolean('Enable Comparison'), + 'account_report_id': fields.many2one('account.financial.report', 'Account Reports', required=True), + 'label_filter': fields.char('Column Label', size=32, help="This label will be displayed on report to show the balance computed for the given comparison filter."), + 'fiscalyear_id_cmp': fields.many2one('account.fiscalyear', 'Fiscal Year', help='Keep empty for all open fiscal year'), + 'filter_cmp': fields.selection([('filter_no', 'No Filters'), ('filter_date', 'Date'), ('filter_period', 'Periods')], "Filter by", required=True), + 'period_from_cmp': fields.many2one('account.period', 'Start Period'), + 'period_to_cmp': fields.many2one('account.period', 'End Period'), + 'date_from_cmp': fields.date("Start Date"), + 'date_to_cmp': fields.date("End Date"), + } + + _defaults = { + 'filter_cmp': 'filter_no', + 'target_move': 'posted', + } + + def _build_comparison_context(self, cr, uid, ids, data, context=None): + if context is None: + context = {} + result = {} + result['fiscalyear'] = 'fiscalyear_id_cmp' in data['form'] and data['form']['fiscalyear_id_cmp'] or False + result['journal_ids'] = 'journal_ids' in data['form'] and data['form']['journal_ids'] or False + result['chart_account_id'] = 'chart_account_id' in data['form'] and data['form']['chart_account_id'] or False + if data['form']['filter_cmp'] == 'filter_date': + result['date_from'] = data['form']['date_from_cmp'] + result['date_to'] = data['form']['date_to_cmp'] + elif data['form']['filter_cmp'] == 'filter_period': + if not data['form']['period_from_cmp'] or not data['form']['period_to_cmp']: + raise osv.except_osv(_('Error'),_('Select a starting and an ending period')) + result['period_from'] = data['form']['period_from_cmp'] + result['period_to'] = data['form']['period_to_cmp'] + return result + + def check_report(self, cr, uid, ids, context=None): + if context is None: + context = {} + res = super(accounting_report, self).check_report(cr, uid, ids, context=context) + data = {} + data['form'] = self.read(cr, uid, ids, ['account_report_id', 'date_from_cmp', 'date_to_cmp', 'fiscalyear_id_cmp', 'journal_ids', 'period_from_cmp', 'period_to_cmp', 'filter_cmp', 'chart_account_id', 'target_move'], context=context)[0] + for field in ['fiscalyear_id_cmp', 'chart_account_id', 'period_from_cmp', 'period_to_cmp', 'account_report_id']: + if isinstance(data['form'][field], tuple): + data['form'][field] = data['form'][field][0] + comparison_context = self._build_comparison_context(cr, uid, ids, data, context=context) + res['datas']['form']['comparison_context'] = comparison_context + return res + + def _print_report(self, cr, uid, ids, data, context=None): + data['form'].update(self.read(cr, uid, ids, ['date_from_cmp', 'date_to_cmp', 'fiscalyear_id_cmp', 'period_from_cmp', 'period_to_cmp', 'filter_cmp', 'account_report_id', 'enable_filter', 'label_filter'], context=context)[0]) + return { + 'type': 'ir.actions.report.xml', + 'report_name': 'account.financial.report', + 'datas': data, + } + +accounting_report() + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/wizard/account_financial_report_view.xml b/addons/account/wizard/account_financial_report_view.xml new file mode 100644 index 00000000000..2083fd0ed53 --- /dev/null +++ b/addons/account/wizard/account_financial_report_view.xml @@ -0,0 +1,52 @@ + + + + + + Accounting Report + accounting.report + form + + + + + + + + + + + + + + + + + + + + + + + + + + Financial Report + accounting.report + ir.actions.act_window + form + form + + new + + + + + + diff --git a/addons/account/wizard/account_reconcile.py b/addons/account/wizard/account_reconcile.py index 30bac2ae1fd..d03051b2ccb 100644 --- a/addons/account/wizard/account_reconcile.py +++ b/addons/account/wizard/account_reconcile.py @@ -110,7 +110,7 @@ class account_move_line_reconcile_writeoff(osv.osv_memory): It opens the write off wizard form, in that user can define the journal, account, analytic account for reconcile """ _name = 'account.move.line.reconcile.writeoff' - _description = 'Account move line reconcile' + _description = 'Account move line reconcile (writeoff)' _columns = { 'journal_id': fields.many2one('account.journal','Write-Off Journal', required=True), 'writeoff_acc_id': fields.many2one('account.account','Write-Off account', required=True), diff --git a/addons/crm_claim/security/ir.model.access.csv b/addons/crm_claim/security/ir.model.access.csv index 51b2a276a8b..b23ef97b7fd 100644 --- a/addons/crm_claim/security/ir.model.access.csv +++ b/addons/crm_claim/security/ir.model.access.csv @@ -2,4 +2,4 @@ "access_crm_claim_manager","crm.claim.manager","model_crm_claim","base.group_sale_manager",1,1,1,1 "access_crm_claim_user","crm.claim.user","model_crm_claim","base.group_sale_salesman",1,1,1,0 "access_crm_claim_report_manager","crm.claim.report.manager","model_crm_claim_report","base.group_sale_manager",1,1,1,1 -"access_crm_claim_partner_manager","crm.claim.partner.manager","model_crm_claim","base.group_partner_manager",1,1,1,1 +"access_crm_claim_partner_manager","crm.claim.partner.manager","model_crm_claim","base.group_partner_manager",1,0,0,0 diff --git a/addons/knowledge/i18n/lo.po b/addons/knowledge/i18n/lo.po index 36628631ef8..e611649b996 100644 --- a/addons/knowledge/i18n/lo.po +++ b/addons/knowledge/i18n/lo.po @@ -8,44 +8,44 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-09-19 04:37+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2011-09-19 09:09+0000\n" +"Last-Translator: Phoxaysy \n" "Language-Team: Lao \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-19 04:41+0000\n" -"X-Generator: Launchpad (build 13955)\n" +"X-Launchpad-Export-Date: 2011-09-20 04:54+0000\n" +"X-Generator: Launchpad (build 13980)\n" #. module: knowledge #: model:ir.ui.menu,name:knowledge.menu_document msgid "Knowledge" -msgstr "" +msgstr "ການຄຸ້ມຄອງເອກະສານ" #. module: knowledge #: help:knowledge.installer,wiki_quality_manual:0 msgid "Creates an example skeleton for a standard quality manual." -msgstr "" +msgstr "ສ້າງໂຄງຮ່າງຕົວຢ່າງເພື່ອຄູ່ມືທີ່່ມີມາດຕະຖານ" #. module: knowledge #: view:knowledge.installer:0 msgid "Share information within the company with these specific Addons." -msgstr "" +msgstr "ນຳໃຊ້ຂໍ້ມູນຮ່ວມກັນໄພໃນບໍລິສັດກັບ Addons ເຫລົ່ານີ້." #. module: knowledge #: field:knowledge.installer,document_ftp:0 msgid "Shared Repositories (FTP)" -msgstr "" +msgstr "ເກັບຂໍ້ມູນທີ່ໃຊ້ຮ່ວມກັນ(FTP)" #. module: knowledge #: model:ir.module.module,shortdesc:knowledge.module_meta_information msgid "Knowledge Management System" -msgstr "" +msgstr "ລະບົບການຄຸ້ມຄອງເອກະສານ" #. module: knowledge #: field:knowledge.installer,wiki:0 msgid "Collaborative Content (Wiki)" -msgstr "" +msgstr "ເນື່ອໃນການເຮັດວຽກຮ່ວມກັນ(wiki)" #. module: knowledge #: help:knowledge.installer,document_ftp:0 @@ -53,6 +53,9 @@ msgid "" "Provides an FTP access to your OpenERP's Document Management System. It lets " "you access attachments and virtual documents through a standard FTP client." msgstr "" +"ນຳໃຊ້ໂປລແກລມ FTP ເຂົ້າຫາລະບົບການຄູ້ມຄອງອກະສານ OpenERP ຂອງທ່ານ. " +"ມັນຊ່ວຍໃຫ້ທ່ານເຂົ້າຫາຂໍ້ມູນ ແລະ ເອກະສານຕ່າງໆຄືກັນກັບທ່ານຢູ່ໃນໜ່ວຍ computer " +"ຂອງທ່ານເອງ" #. module: knowledge #: help:knowledge.installer,document_webdav:0 @@ -61,16 +64,18 @@ msgid "" "you access attachments and virtual documents through your standard file " "browser." msgstr "" +"ນຳໃຊ້ໂປລແກລມ WebDAV ເຂົ້າຫາລະບົບການຄູ້ມຄອງອກະສານ OpenERP ຂອງທ່ານ. " +"ມັນຊ່ວຍໃຫ້ທ່ານເຂົ້າຫາຂໍ້ມູນ ແລະ ເອກະສານຕ່າງໆຜ່ານ Browser ທີ່ມີມາດຕະຖານ." #. module: knowledge #: view:knowledge.installer:0 msgid "Configure" -msgstr "" +msgstr "ສ້ອມຕັ້້ງ" #. module: knowledge #: view:knowledge.installer:0 msgid "title" -msgstr "" +msgstr "ຫົວຂໍ້:" #. module: knowledge #: model:ir.module.module,description:knowledge.module_meta_information @@ -78,31 +83,33 @@ msgid "" "Installer for knowledge-based tools\n" " " msgstr "" +"ຕິດຕັ້ງເຄື່ອງມືພື້ນຖານຂອງການຸ້ມຄອງເອກະສານ\n" +" " #. module: knowledge #: model:ir.ui.menu,name:knowledge.menu_document_configuration msgid "Configuration" -msgstr "" +msgstr "ການກໍານົດຄ່າ" #. module: knowledge #: model:ir.actions.act_window,name:knowledge.action_knowledge_installer msgid "Knowledge Modules Installation" -msgstr "" +msgstr "ການຕິດຕັ້ງໂມດຸນຂອງການຄຸ້ມຄອງເອກະສານ" #. module: knowledge #: field:knowledge.installer,wiki_quality_manual:0 msgid "Quality Manual" -msgstr "" +msgstr "ຄູ່ມືຄຸນນະພາບ" #. module: knowledge #: field:knowledge.installer,document_webdav:0 msgid "Shared Repositories (WebDAV)" -msgstr "" +msgstr "ເກັບຄືນຂໍ້ມູນທີ່ໃຊ້ຮ່ວມກັນ(WebDAV)" #. module: knowledge #: field:knowledge.installer,progress:0 msgid "Configuration Progress" -msgstr "" +msgstr "ຄວາມຕໍ່ເນື່ອງໃນການກຳນົດຄ່າ" #. module: knowledge #: help:knowledge.installer,wiki_faq:0 @@ -110,37 +117,38 @@ msgid "" "Creates a skeleton internal FAQ pre-filled with documentation about " "OpenERP's Document Management System." msgstr "" +"ສ້າງໂຄງຮ່າງຂ້າງໃນFAQ ກ່ອນທີ່ເຕັມດ້ວຍເອກະສານກ່ຽວກັບການຈັດການເອກະສານ ERP" #. module: knowledge #: field:knowledge.installer,wiki_faq:0 msgid "Internal FAQ" -msgstr "" +msgstr "ຂ້າງໃນFAQ" #. module: knowledge #: model:ir.ui.menu,name:knowledge.menu_document2 msgid "Collaborative Content" -msgstr "" +msgstr "ເນື້ອໃນການເຮັດວຽກຮ່ວມກັນ" #. module: knowledge #: field:knowledge.installer,config_logo:0 msgid "Image" -msgstr "" +msgstr "ຮູບພາບ" #. module: knowledge #: model:ir.actions.act_window,name:knowledge.action_knowledge_installer #: view:knowledge.installer:0 msgid "Knowledge Application Configuration" -msgstr "" +msgstr "ການນຳໃຊ້ການຕັ້ງຄ່າເອກະສານ" #. module: knowledge #: model:ir.model,name:knowledge.model_knowledge_installer msgid "knowledge.installer" -msgstr "" +msgstr "ການຕິດຕັ້ງເອກະສານ" #. module: knowledge #: view:knowledge.installer:0 msgid "Configure Your Knowledge Application" -msgstr "" +msgstr "ຕັ້ງຄ່າການນຳໃຊ້ເອກະສານຂອງທ່ານ" #. module: knowledge #: help:knowledge.installer,wiki:0 @@ -148,8 +156,9 @@ msgid "" "Lets you create wiki pages and page groups in order to keep track of " "business knowledge and share it with and between your employees." msgstr "" +"ສ້າງໜ້າWiki ແລະ ໜ້າກູ່ມເພື່ອຕິດຕາມເອກະສານທາງທລະກິດ ແລະ ລະຫວ່າງພະນັກງານຂອງທ່ານ" #. module: knowledge #: view:knowledge.installer:0 msgid "Content templates" -msgstr "" +msgstr "ເນື້ອໃນແມ່ແບບ" diff --git a/addons/hr_payroll_l10n_be/__init__.py b/addons/l10n_be_hr_payroll/__init__.py similarity index 86% rename from addons/hr_payroll_l10n_be/__init__.py rename to addons/l10n_be_hr_payroll/__init__.py index 61db034b52c..fb327bcb6c4 100644 --- a/addons/hr_payroll_l10n_be/__init__.py +++ b/addons/l10n_be_hr_payroll/__init__.py @@ -1,8 +1,8 @@ # -*- encoding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2009 Tiny SPRL (). +# Copyright (C) 2011 OpenERP SA (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -15,9 +15,7 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see # ############################################################################## -import hr_payroll_l10n_be -import hr_contract -import hr_payroll +import l10n_be_hr_payroll diff --git a/addons/hr_payroll_l10n_be/__openerp__.py b/addons/l10n_be_hr_payroll/__openerp__.py similarity index 80% rename from addons/hr_payroll_l10n_be/__openerp__.py rename to addons/l10n_be_hr_payroll/__openerp__.py index b9f887f3ff8..ca0851ed9eb 100644 --- a/addons/hr_payroll_l10n_be/__openerp__.py +++ b/addons/l10n_be_hr_payroll/__openerp__.py @@ -1,8 +1,8 @@ # -*- encoding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2009 Tiny SPRL (). +# Copyright (C) 2011 OpenERP SA (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -15,19 +15,18 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see . # ############################################################################## { - 'name': 'hr_payroll_l10n_be', + 'name': 'Belgian Payroll Rules', 'category': 'payroll', - 'init_xml':[], - 'author': 'OpenERP', + 'author': 'OpenERP SA', 'depends': ['hr_payroll','hr_contract'], 'version': '1.0', 'description': """ -Belgian Payroll system. -======================= +Belgian Payroll Rules +===================== * Employee Details * Employee Contracts @@ -41,12 +40,12 @@ Belgian Payroll system. """, 'active': False, - 'demo_xml': [ - 'hr_payroll_l10n_be_demo.xml', + 'demo': [ + 'l10n_be_hr_payroll_demo.xml', ], - 'update_xml':[ - 'hr_payroll_l10n_be_view.xml', - 'hr_payroll_l10n_be_data.xml', + 'data':[ + 'l10n_be_hr_payroll_view.xml', + 'l10n_be_hr_payroll_data.xml', 'data/hr.salary.rule.csv', ], 'installable': True diff --git a/addons/hr_payroll_l10n_be/data/hr.salary.rule.csv b/addons/l10n_be_hr_payroll/data/hr.salary.rule.csv similarity index 100% rename from addons/hr_payroll_l10n_be/data/hr.salary.rule.csv rename to addons/l10n_be_hr_payroll/data/hr.salary.rule.csv diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be.py b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll.py similarity index 90% rename from addons/hr_payroll_l10n_be/hr_payroll_l10n_be.py rename to addons/l10n_be_hr_payroll/l10n_be_hr_payroll.py index 3c98e99cd71..761374da283 100644 --- a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be.py +++ b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll.py @@ -2,8 +2,7 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved -# d$ +# Copyright (C) 2011 OpenERP SA (). All Rights Reserved # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,18 +19,7 @@ # ############################################################################## -import time -from datetime import date -from datetime import datetime -from datetime import timedelta - -import netsvc from osv import fields, osv -import tools -from tools.translate import _ -import decimal_precision as dp - - class hr_contract_be(osv.osv): _inherit = 'hr.contract' diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_data.xml b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml similarity index 100% rename from addons/hr_payroll_l10n_be/hr_payroll_l10n_be_data.xml rename to addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_demo.xml similarity index 100% rename from addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml rename to addons/l10n_be_hr_payroll/l10n_be_hr_payroll_demo.xml diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_view.xml similarity index 100% rename from addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml rename to addons/l10n_be_hr_payroll/l10n_be_hr_payroll_view.xml diff --git a/addons/hr_payroll_l10n_be/security/hr.salary.rule.csv b/addons/l10n_be_hr_payroll/security/hr.salary.rule.csv similarity index 100% rename from addons/hr_payroll_l10n_be/security/hr.salary.rule.csv rename to addons/l10n_be_hr_payroll/security/hr.salary.rule.csv diff --git a/addons/purchase/i18n/da.po b/addons/purchase/i18n/da.po new file mode 100644 index 00000000000..d8d48b072d8 --- /dev/null +++ b/addons/purchase/i18n/da.po @@ -0,0 +1,1798 @@ +# Danish translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:15+0000\n" +"PO-Revision-Date: 2011-09-19 08:04+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Danish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-09-20 04:54+0000\n" +"X-Generator: Launchpad (build 13980)\n" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_confirmingpurchaseorder0 +msgid "" +"The buyer has to approve the RFQ before being sent to the supplier. The RFQ " +"becomes a confirmed Purchase Order." +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:292 +#, python-format +msgid "You can not confirm purchase order without Purchase Order Lines." +msgstr "" + +#. module: purchase +#: field:purchase.order,invoiced:0 +msgid "Invoiced & Paid" +msgstr "Faktureret & Betalt" + +#. module: purchase +#: field:purchase.order,location_id:0 +#: view:purchase.report:0 +#: field:purchase.report,location_id:0 +msgid "Destination" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:721 +#, python-format +msgid "" +"You have to select a product UOM in the same category than the purchase UOM " +"of the product" +msgstr "" + +#. module: purchase +#: help:purchase.report,date:0 +msgid "Date on which this document has been created" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.purchase_rfq +msgid "" +"You can create a request for quotation when you want to buy products to a " +"supplier but the purchase is not confirmed yet. Use also this menu to review " +"requests for quotation created automatically based on your logistic rules " +"(minimum stock, MTO, etc). You can convert the request for quotation into a " +"purchase order once the order is confirmed. If you use the extended " +"interface (from user's preferences), you can select the way to control your " +"supplier invoices: based on the order, based on the receptions or manual " +"encoding." +msgstr "" + +#. module: purchase +#: selection:purchase.order,invoice_method:0 +msgid "From Reception" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Not Invoiced" +msgstr "" + +#. module: purchase +#: field:purchase.order,dest_address_id:0 +msgid "Destination Address" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +#: field:purchase.report,validator:0 +msgid "Validated By" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: field:purchase.order,partner_id:0 +#: view:purchase.order.line:0 +#: view:purchase.report:0 +#: field:purchase.report,partner_id:0 +msgid "Supplier" +msgstr "Leverandør" + +#. module: purchase +#: view:purchase.order.line_invoice:0 +msgid "Do you want to generate the supplier invoices ?" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.purchase_form_action +msgid "" +"Use this menu to search within your purchase orders by references, supplier, " +"products, etc. For each purchase order, you can track the products received, " +"and control the supplier invoices." +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:735 +#, python-format +msgid "The selected supplier only sells this product by %s" +msgstr "" + +#. module: purchase +#: code:addons/purchase/wizard/purchase_line_invoice.py:156 +#, python-format +msgid "Supplier Invoices" +msgstr "" + +#. module: purchase +#: sql_constraint:purchase.order:0 +msgid "Order Reference must be unique !" +msgstr "" + +#. module: purchase +#: model:process.transition,name:purchase.process_transition_packinginvoice0 +#: model:process.transition,name:purchase.process_transition_productrecept0 +msgid "From a Pick list" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:660 +#, python-format +msgid "No Pricelist !" +msgstr "Ingen prisliste" + +#. module: purchase +#: field:purchase.order.line,product_qty:0 +#: view:purchase.report:0 +#: field:purchase.report,quantity:0 +msgid "Quantity" +msgstr "" + +#. module: purchase +#: view:purchase.order.line_invoice:0 +msgid "Select an Open Sale Order" +msgstr "" + +#. module: purchase +#: field:purchase.order,company_id:0 +#: field:purchase.order.line,company_id:0 +#: view:purchase.report:0 +#: field:purchase.report,company_id:0 +msgid "Company" +msgstr "Virksomhed" + +#. module: purchase +#: view:board.board:0 +#: model:ir.actions.act_window,name:purchase.action_purchase_order_monthly_categ_graph +#: view:purchase.report:0 +msgid "Monthly Purchase by Category" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Set to Draft" +msgstr "" + +#. module: purchase +#: selection:purchase.order,state:0 +#: selection:purchase.report,state:0 +msgid "Invoice Exception" +msgstr "" + +#. module: purchase +#: model:product.pricelist,name:purchase.list0 +msgid "Default Purchase Pricelist" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_current_purchases +msgid "Current purchases" +msgstr "Nuværende indkøb" + +#. module: purchase +#: help:purchase.order,dest_address_id:0 +msgid "" +"Put an address if you want to deliver directly from the supplier to the " +"customer.In this case, it will remove the warehouse link and set the " +"customer location." +msgstr "" + +#. module: purchase +#: help:res.partner,property_product_pricelist_purchase:0 +msgid "" +"This pricelist will be used, instead of the default one, for purchases from " +"the current partner" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Fax :" +msgstr "" + +#. module: purchase +#: help:purchase.order,pricelist_id:0 +msgid "" +"The pricelist sets the currency used for this purchase order. It also " +"computes the supplier price for the selected products/quantities." +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_stock_partial_picking +msgid "Partial Picking" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:296 +#, python-format +msgid "Purchase order '%s' is confirmed." +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Approve Purchase" +msgstr "Godkendt indkøb" + +#. module: purchase +#: model:process.node,name:purchase.process_node_approvepurchaseorder0 +#: view:purchase.order:0 +#: selection:purchase.order,state:0 +#: selection:purchase.report,state:0 +msgid "Approved" +msgstr "Godkendt" + +#. module: purchase +#: view:purchase.report:0 +msgid "Reference UOM" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Origin" +msgstr "" + +#. module: purchase +#: field:purchase.report,product_uom:0 +msgid "Reference UoM" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_purchase_line_product_tree +msgid "Purchases" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: field:purchase.order,notes:0 +#: view:purchase.order.line:0 +#: field:purchase.order.line,notes:0 +msgid "Notes" +msgstr "Noter" + +#. module: purchase +#: code:addons/purchase/purchase.py:660 +#, python-format +msgid "" +"You have to select a pricelist or a supplier in the purchase form !\n" +"Please set one before choosing a product." +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "September" +msgstr "September" + +#. module: purchase +#: report:purchase.order:0 +#: field:purchase.order,amount_tax:0 +#: view:purchase.order.line:0 +#: field:purchase.order.line,taxes_id:0 +msgid "Taxes" +msgstr "Skatter" + +#. module: purchase +#: model:ir.actions.report.xml,name:purchase.report_purchase_order +#: model:ir.model,name:purchase.model_purchase_order +#: model:process.node,name:purchase.process_node_purchaseorder0 +#: field:procurement.order,purchase_id:0 +#: view:purchase.order:0 +#: model:res.request.link,name:purchase.req_link_purchase_order +#: field:stock.picking,purchase_id:0 +msgid "Purchase Order" +msgstr "Indkøbsordre" + +#. module: purchase +#: field:purchase.order,name:0 +#: view:purchase.order.line:0 +#: field:purchase.order.line,order_id:0 +msgid "Order Reference" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Net Total :" +msgstr "Netto total:" + +#. module: purchase +#: view:purchase.installer:0 +msgid "Configure Your Purchases Management Application" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_procurement_management_product +#: model:ir.ui.menu,name:purchase.menu_procurement_partner_contact_form +msgid "Products" +msgstr "Produkter" + +#. module: purchase +#: field:purchase.installer,progress:0 +msgid "Configuration Progress" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_packinginvoice0 +msgid "" +"A Pick list generates an invoice. Depending on the Invoicing control of the " +"sale order, the invoice is based on delivered or on ordered quantities." +msgstr "" + +#. module: purchase +#: selection:purchase.order,state:0 +#: selection:purchase.order.line,state:0 +#: selection:purchase.report,state:0 +msgid "Cancelled" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:315 +#, python-format +msgid "Purchase amount over the limit" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Convert to Purchase Order" +msgstr "" + +#. module: purchase +#: field:purchase.order,pricelist_id:0 +#: field:purchase.report,pricelist_id:0 +msgid "Pricelist" +msgstr "Prislist" + +#. module: purchase +#: selection:purchase.order,state:0 +#: selection:purchase.report,state:0 +msgid "Shipping Exception" +msgstr "" + +#. module: purchase +#: field:purchase.order.line,invoice_lines:0 +msgid "Invoice Lines" +msgstr "" + +#. module: purchase +#: model:process.node,name:purchase.process_node_packinglist0 +#: model:process.node,name:purchase.process_node_productrecept0 +msgid "Incoming Products" +msgstr "" + +#. module: purchase +#: model:process.node,name:purchase.process_node_packinginvoice0 +msgid "Outgoing Products" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Manually Corrected" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +msgid " Month " +msgstr " Måned " + +#. module: purchase +#: view:purchase.order:0 +msgid "Reference" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:244 +#, python-format +msgid "Cannot delete Purchase Order(s) which are in %s State!" +msgstr "" + +#. module: purchase +#: field:purchase.report,dest_address_id:0 +msgid "Dest. Address Contact Name" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_stock_move +msgid "Stock Move" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,day:0 +msgid "Day" +msgstr "Dag" + +#. module: purchase +#: code:addons/purchase/purchase.py:344 +#, python-format +msgid "Purchase order '%s' has been set in draft state." +msgstr "" + +#. module: purchase +#: field:purchase.order.line,account_analytic_id:0 +msgid "Analytic Account" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,nbr:0 +msgid "# of Lines" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:696 +#: code:addons/purchase/purchase.py:735 +#: code:addons/purchase/wizard/purchase_order_group.py:47 +#, python-format +msgid "Warning" +msgstr "" + +#. module: purchase +#: field:purchase.installer,purchase_analytic_plans:0 +msgid "Purchase Analytic Plans" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_purchase_installer +msgid "purchase.installer" +msgstr "" + +#. module: purchase +#: selection:purchase.order.line,state:0 +msgid "Draft" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Net Price" +msgstr "Netto pris" + +#. module: purchase +#: view:purchase.order.line:0 +msgid "Order Line" +msgstr "" + +#. module: purchase +#: help:purchase.order,shipped:0 +msgid "It indicates that a picking has been done" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:721 +#, python-format +msgid "Wrong Product UOM !" +msgstr "" + +#. module: purchase +#: model:process.node,name:purchase.process_node_confirmpurchaseorder0 +#: selection:purchase.order.line,state:0 +msgid "Confirmed" +msgstr "Bekræftet" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,price_average:0 +msgid "Average Price" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Total :" +msgstr "Total:" + +#. module: purchase +#: model:process.transition.action,name:purchase.process_transition_action_confirmpurchaseorder0 +#: view:purchase.order.line_invoice:0 +msgid "Confirm" +msgstr "Bekræft" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_procurement_management_invoice +#: view:purchase.order:0 +msgid "Invoice Control" +msgstr "" + +#. module: purchase +#: constraint:res.company:0 +msgid "Error! You can not create recursive companies." +msgstr "" + +#. module: purchase +#: field:purchase.order,partner_ref:0 +msgid "Supplier Reference" +msgstr "" + +#. module: purchase +#: help:purchase.order,amount_tax:0 +msgid "The tax amount" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_productrecept0 +msgid "" +"A Pick list generates a supplier invoice. Depending on the Invoicing control " +"of the purchase order, the invoice is based on received or on ordered " +"quantities." +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: field:purchase.order,state:0 +#: view:purchase.order.line:0 +#: field:purchase.order.line,state:0 +#: view:purchase.report:0 +msgid "State" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.action_stock_move_report_po +msgid "" +"Reception Analysis allows you to easily check and analyse your company order " +"receptions and the performance of your supplier's deliveries." +msgstr "" + +#. module: purchase +#: report:purchase.quotation:0 +msgid "Tel.:" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_stock_picking +#: field:purchase.order,picking_ids:0 +msgid "Picking List" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Print" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_view_purchase_order_group +msgid "Merge Purchase orders" +msgstr "" + +#. module: purchase +#: field:purchase.order,order_line:0 +msgid "Order Lines" +msgstr "Ordre linie" + +#. module: purchase +#: code:addons/purchase/purchase.py:662 +#, python-format +msgid "No Partner!" +msgstr "" + +#. module: purchase +#: report:purchase.quotation:0 +msgid "Fax:" +msgstr "Fax:" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,price_total:0 +msgid "Total Price" +msgstr "Total pris" + +#. module: purchase +#: view:purchase.order:0 +msgid "Untaxed amount" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_product_pricelist_action2_purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_config_pricelist +msgid "Pricelists" +msgstr "Prislister" + +#. module: purchase +#: field:purchase.report,partner_address_id:0 +msgid "Address Contact Name" +msgstr "" + +#. module: purchase +#: help:purchase.order,invoice_method:0 +msgid "" +"From Order: a draft invoice will be pre-generated based on the purchase " +"order. The accountant will just have to validate this invoice for control.\n" +"From Picking: a draft invoice will be pre-generated based on validated " +"receptions.\n" +"Manual: allows you to generate suppliers invoices by chosing in the " +"uninvoiced lines of all manual purchase orders." +msgstr "" + +#. module: purchase +#: help:purchase.order,invoice_ids:0 +msgid "Invoices generated for a purchase order" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:292 +#: code:addons/purchase/purchase.py:362 +#: code:addons/purchase/purchase.py:372 +#: code:addons/purchase/wizard/purchase_line_invoice.py:122 +#, python-format +msgid "Error !" +msgstr "" + +#. module: purchase +#: view:purchase.order.line:0 +msgid "General Information" +msgstr "" + +#. module: purchase +#: view:board.board:0 +msgid "My Board" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Purchase Order Confirmation N°" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.action_purchase_order_report_all +msgid "" +"Purchase Analysis allows you to easily check and analyse your company " +"purchase history and performance. From this menu you can track your " +"negotiation performance, the delivery performance of your suppliers, etc." +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Approved by Supplier" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_invoicefrompackinglist0 +msgid "" +"The invoice is created automatically if the Invoice control of the purchase " +"order is 'On picking'. The invoice can also be generated manually by the " +"accountant (Invoice control = Manual)." +msgstr "" + +#. module: purchase +#: selection:purchase.order,invoice_method:0 +msgid "From Order" +msgstr "" + +#. module: purchase +#: model:process.transition.action,name:purchase.process_transition_action_invoicefrompurchaseorder0 +msgid "Create invoice" +msgstr "" + +#. module: purchase +#: field:purchase.order.line,move_dest_id:0 +msgid "Reservation Destination" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:244 +#, python-format +msgid "Invalid action !" +msgstr "" + +#. module: purchase +#: selection:purchase.order,state:0 +#: selection:purchase.order.line,state:0 +#: selection:purchase.report,state:0 +msgid "Done" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "July" +msgstr "Juli" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_config_purchase +#: view:res.company:0 +msgid "Configuration" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_purchase_by_supplier +#: view:purchase.report:0 +msgid "Purchase by supplier" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Total amount" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.act_purchase_order_2_stock_picking +msgid "Receptions" +msgstr "" + +#. module: purchase +#: field:purchase.order,validator:0 +#: view:purchase.report:0 +msgid "Validated by" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.action_invoice_pending +msgid "" +"Use this menu to control the invoices to be received from your supplier. " +"OpenERP pregenerates draft invoices from your purchase orders or receptions, " +"according to your settings. Once you receive a supplier invoice, you can " +"match it with the draft invoice and validate it." +msgstr "" + +#. module: purchase +#: model:process.node,name:purchase.process_node_draftpurchaseorder0 +#: model:process.node,name:purchase.process_node_draftpurchaseorder1 +msgid "RFQ" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_procurement_management_pending_invoice +msgid "Supplier Invoices to Receive" +msgstr "" + +#. module: purchase +#: help:purchase.installer,purchase_requisition:0 +msgid "" +"Manages your Purchase Requisition and allows you to easily keep track and " +"manage all your purchase orders." +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +msgid " Month-1 " +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:373 +#, python-format +msgid "There is no purchase journal defined for this company: \"%s\" (id:%d)" +msgstr "" + +#. module: purchase +#: selection:purchase.order,invoice_method:0 +msgid "Manual" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:410 +#, python-format +msgid "You must first cancel all picking attached to this purchase order." +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: field:purchase.order.line,date_order:0 +#: field:purchase.report,date:0 +msgid "Order Date" +msgstr "Ordredato" + +#. module: purchase +#: model:process.node,note:purchase.process_node_productrecept0 +msgid "Incoming products to control" +msgstr "" + +#. module: purchase +#: model:process.transition,name:purchase.process_transition_approvingpurchaseorder0 +msgid "Approbation" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +msgid "Purchase Orders Statistics" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.purchase_line_form_action2 +msgid "" +"If you set the invoicing control on a purchase order as \"Manual\", you can " +"track here all the purchase order lines for which you have not received the " +"supplier invoice yet. Once you are ready to receive a supplier invoice, you " +"can generate a draft supplier invoice based on the lines from this menu." +msgstr "" + +#. module: purchase +#: model:process.node,name:purchase.process_node_invoiceafterpacking0 +#: model:process.node,name:purchase.process_node_invoicecontrol0 +msgid "Draft Invoice" +msgstr "" + +#. module: purchase +#: help:purchase.installer,purchase_analytic_plans:0 +msgid "Manages analytic distribution and purchase orders." +msgstr "" + +#. module: purchase +#: help:purchase.order,minimum_planned_date:0 +msgid "" +"This is computed as the minimum scheduled date of all purchase order lines' " +"products." +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "August" +msgstr "August" + +#. module: purchase +#: field:purchase.installer,purchase_requisition:0 +msgid "Purchase Requisition" +msgstr "Indkøbs rekvisition" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_uom_categ_form_action +msgid "Units of Measure Categories" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,delay_pass:0 +msgid "Days to Deliver" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_action_picking_tree_in_move +#: model:ir.ui.menu,name:purchase.menu_procurement_management_inventory +msgid "Receive Products" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_procurement_order +msgid "Procurement" +msgstr "Indkøb" + +#. module: purchase +#: view:purchase.order:0 +#: field:purchase.order,invoice_ids:0 +msgid "Invoices" +msgstr "Fakturaer" + +#. module: purchase +#: model:process.node,note:purchase.process_node_purchaseorder0 +msgid "Confirmed purchase order to invoice" +msgstr "" + +#. module: purchase +#: field:purchase.installer,config_logo:0 +msgid "Image" +msgstr "Billede" + +#. module: purchase +#: view:purchase.report:0 +msgid "Total Orders Lines by User per month" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,month:0 +msgid "Month" +msgstr "Måned" + +#. module: purchase +#: selection:purchase.report,state:0 +msgid "Waiting Supplier Ack" +msgstr "" + +#. module: purchase +#: report:purchase.quotation:0 +msgid "Request for Quotation :" +msgstr "" + +#. module: purchase +#: view:board.board:0 +#: model:ir.actions.act_window,name:purchase.purchase_waiting +msgid "Purchase Order Waiting Approval" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Total Untaxed amount" +msgstr "" + +#. module: purchase +#: field:purchase.order,shipped:0 +#: field:purchase.order,shipped_rate:0 +msgid "Received" +msgstr "Modtaget" + +#. module: purchase +#: model:process.node,note:purchase.process_node_packinglist0 +msgid "List of ordered products." +msgstr "" + +#. module: purchase +#: help:purchase.order,picking_ids:0 +msgid "" +"This is the list of picking list that have been generated for this purchase" +msgstr "" + +#. module: purchase +#: model:ir.module.module,shortdesc:purchase.module_meta_information +#: model:ir.ui.menu,name:purchase.menu_procurement_management +msgid "Purchase Management" +msgstr "" + +#. module: purchase +#: model:process.node,note:purchase.process_node_invoiceafterpacking0 +#: model:process.node,note:purchase.process_node_invoicecontrol0 +msgid "To be reviewed by the accountant." +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.purchase_line_form_action2 +#: model:ir.ui.menu,name:purchase.menu_purchase_line_order_draft +msgid "On Purchase Order Line" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_picking_tree4_picking_to_invoice +#: model:ir.ui.menu,name:purchase.action_picking_tree4_picking_to_invoice +msgid "On Receptions" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Taxes :" +msgstr "" + +#. module: purchase +#: field:purchase.order,invoiced_rate:0 +#: field:purchase.order.line,invoiced:0 +msgid "Invoiced" +msgstr "Faktureret" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,category_id:0 +msgid "Category" +msgstr "Kategori" + +#. module: purchase +#: model:process.node,note:purchase.process_node_approvepurchaseorder0 +#: model:process.node,note:purchase.process_node_confirmpurchaseorder0 +msgid "State of the Purchase Order." +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +msgid " Year " +msgstr " År " + +#. module: purchase +#: field:purchase.report,state:0 +msgid "Order State" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_view_purchase_line_invoice +msgid "Create invoices" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_purchase_order_line +#: view:purchase.order.line:0 +#: field:stock.move,purchase_line_id:0 +msgid "Purchase Order Line" +msgstr "" + +#. module: purchase +#: constraint:res.partner:0 +msgid "Error ! You can not create recursive associated members." +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Calendar View" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_purchase_order_group +msgid "Purchase Order Merge" +msgstr "" + +#. module: purchase +#: report:purchase.quotation:0 +msgid "Regards," +msgstr "Hilsen" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_negotiation_by_supplier +#: view:purchase.report:0 +msgid "Negotiation by Supplier" +msgstr "" + +#. module: purchase +#: view:res.partner:0 +msgid "Purchase Properties" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_purchaseinvoice0 +msgid "" +"A purchase order generates a supplier invoice, as soon as it is confirmed by " +"the buyer. Depending on the Invoicing control of the purchase order, the " +"invoice is based on received or on ordered quantities." +msgstr "" + +#. module: purchase +#: field:purchase.order,amount_untaxed:0 +msgid "Untaxed Amount" +msgstr "" + +#. module: purchase +#: help:purchase.order,invoiced:0 +msgid "It indicates that an invoice has been paid" +msgstr "" + +#. module: purchase +#: model:process.node,note:purchase.process_node_packinginvoice0 +msgid "Outgoing products to invoice" +msgstr "" + +#. module: purchase +#: view:purchase.installer:0 +msgid "Configure" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_qty_per_product +#: view:purchase.report:0 +msgid "Qty. per product" +msgstr "" + +#. module: purchase +#: constraint:stock.move:0 +msgid "You try to assign a lot which is not from the same product" +msgstr "" + +#. module: purchase +#: help:purchase.order,date_order:0 +msgid "Date on which this document has been created." +msgstr "" + +#. module: purchase +#: view:res.partner:0 +msgid "Sales & Purchases" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "June" +msgstr "Juni" + +#. module: purchase +#: model:ir.model,name:purchase.model_purchase_report +msgid "Purchases Orders" +msgstr "" + +#. module: purchase +#: view:purchase.order.line:0 +msgid "Manual Invoices" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:318 +#, python-format +msgid "" +"Somebody has just confirmed a purchase with an amount over the defined limit" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "November" +msgstr "November" + +#. module: purchase +#: view:purchase.report:0 +msgid "Extended Filters..." +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:362 +#: code:addons/purchase/wizard/purchase_line_invoice.py:123 +#, python-format +msgid "There is no expense account defined for this product: \"%s\" (id:%d)" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:418 +#, python-format +msgid "You must first cancel all invoices attached to this purchase order." +msgstr "" + +#. module: purchase +#: code:addons/purchase/wizard/purchase_order_group.py:48 +#, python-format +msgid "Please select multiple order to merge in the list view." +msgstr "" + +#. module: purchase +#: model:process.transition,name:purchase.process_transition_createpackinglist0 +msgid "Pick list generated" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Exception" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "October" +msgstr "Oktober" + +#. module: purchase +#: view:purchase.order:0 +msgid "Compute" +msgstr "" + +#. module: purchase +#: model:ir.module.module,description:purchase.module_meta_information +msgid "" +"\n" +" Purchase module is for generating a purchase order for purchase of goods " +"from a supplier.\n" +" A supplier invoice is created for the particular order placed\n" +" Dashboard for purchase management that includes:\n" +" * Current Purchase Orders\n" +" * Draft Purchase Orders\n" +" * Graph for quantity and amount per month \n" +"\n" +" " +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:696 +#, python-format +msgid "" +"The selected supplier has a minimal quantity set to %s, you cannot purchase " +"less." +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "January" +msgstr "Januar" + +#. module: purchase +#: model:ir.model,name:purchase.model_res_company +msgid "Companies" +msgstr "Virksomheder" + +#. module: purchase +#: view:purchase.order:0 +msgid "Cancel Purchase Order" +msgstr "" + +#. module: purchase +#: constraint:stock.move:0 +msgid "You must assign a production lot for this product" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_createpackinglist0 +msgid "A pick list is generated to track the incoming products." +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_deshboard +msgid "Dashboard" +msgstr "Oversigt" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,price_standard:0 +msgid "Products Value" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_product_pricelist_type +msgid "Pricelists Types" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: view:purchase.report:0 +msgid "Quotations" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_po_per_month_tree +#: view:purchase.report:0 +msgid "Purchase order per month" +msgstr "" + +#. module: purchase +#: view:purchase.order.line:0 +msgid "History" +msgstr "Historik" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_product_by_category_purchase_form +msgid "Products by Category" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,delay:0 +msgid "Days to Validate" +msgstr "" + +#. module: purchase +#: help:purchase.order,origin:0 +msgid "Reference of the document that generated this purchase order request." +msgstr "" + +#. module: purchase +#: help:purchase.order,state:0 +msgid "" +"The state of the purchase order or the quotation request. A quotation is a " +"purchase order in a 'Draft' state. Then the order has to be confirmed by the " +"user, the state switch to 'Confirmed'. Then the supplier must confirm the " +"order to change the state to 'Approved'. When the purchase order is paid and " +"received, the state becomes 'Done'. If a cancel action occurs in the invoice " +"or in the reception of goods, the state becomes in exception." +msgstr "" + +#. module: purchase +#: field:purchase.order.line,price_subtotal:0 +msgid "Subtotal" +msgstr "Subtotal" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.purchase_rfq +#: model:ir.ui.menu,name:purchase.menu_purchase_rfq +msgid "Requests for Quotation" +msgstr "" + +#. module: purchase +#: help:purchase.order,date_approve:0 +msgid "Date on which purchase order has been approved" +msgstr "" + +#. module: purchase +#: selection:purchase.order,state:0 +#: selection:purchase.report,state:0 +msgid "Waiting" +msgstr "" + +#. module: purchase +#: model:product.pricelist.version,name:purchase.ver0 +msgid "Default Purchase Pricelist Version" +msgstr "" + +#. module: purchase +#: view:purchase.installer:0 +msgid "" +"Extend your Purchases Management Application with additional functionalities." +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_purchase_install_module +#: view:purchase.installer:0 +msgid "Purchases Application Configuration" +msgstr "" + +#. module: purchase +#: field:purchase.order,fiscal_position:0 +msgid "Fiscal Position" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Request for Quotation N°" +msgstr "" + +#. module: purchase +#: model:process.transition,name:purchase.process_transition_invoicefrompackinglist0 +#: model:process.transition,name:purchase.process_transition_invoicefrompurchase0 +msgid "Invoice" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "December" +msgstr "December" + +#. module: purchase +#: model:process.transition.action,name:purchase.process_transition_action_approvingcancelpurchaseorder0 +#: model:process.transition.action,name:purchase.process_transition_action_cancelpurchaseorder0 +#: view:purchase.order:0 +#: view:purchase.order.group:0 +#: view:purchase.order.line_invoice:0 +msgid "Cancel" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: view:purchase.order.line:0 +msgid "Purchase Order Lines" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_approvingpurchaseorder0 +msgid "The supplier approves the Purchase Order." +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.act_res_partner_2_purchase_order +#: model:ir.actions.act_window,name:purchase.purchase_form_action +#: model:ir.ui.menu,name:purchase.menu_purchase_form_action +#: view:purchase.report:0 +msgid "Purchase Orders" +msgstr "Indkøbsordrer" + +#. module: purchase +#: field:purchase.order,origin:0 +msgid "Source Document" +msgstr "" + +#. module: purchase +#: view:purchase.order.group:0 +msgid "Merge orders" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_purchase_order_line_invoice +msgid "Purchase Order Line Make Invoice" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_action_picking_tree4 +msgid "Incoming Shipments" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_purchase_order_by_user_all +msgid "Total Orders by User per month" +msgstr "" + +#. module: purchase +#: model:ir.actions.report.xml,name:purchase.report_purchase_quotation +#: selection:purchase.order,state:0 +#: selection:purchase.report,state:0 +msgid "Request for Quotation" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Tél. :" +msgstr "" + +#. module: purchase +#: field:purchase.order,create_uid:0 +#: view:purchase.report:0 +#: field:purchase.report,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Our Order Reference" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: view:purchase.order.line:0 +msgid "Search Purchase Order" +msgstr "" + +#. module: purchase +#: field:purchase.order,warehouse_id:0 +#: view:purchase.report:0 +#: field:purchase.report,warehouse_id:0 +msgid "Warehouse" +msgstr "" + +#. module: purchase +#: model:process.node,note:purchase.process_node_draftpurchaseorder0 +#: model:process.node,note:purchase.process_node_draftpurchaseorder1 +msgid "Request for Quotations." +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Date Req." +msgstr "" + +#. module: purchase +#: field:purchase.order,date_approve:0 +#: field:purchase.report,date_approve:0 +msgid "Date Approved" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:417 +#, python-format +msgid "Could not cancel this purchase order !" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +#: field:purchase.order.line,price_unit:0 +msgid "Unit Price" +msgstr "Enhedspris" + +#. module: purchase +#: view:purchase.order:0 +msgid "Delivery & Invoicing" +msgstr "" + +#. module: purchase +#: field:purchase.order.line,date_planned:0 +msgid "Scheduled Date" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_product_in_config_purchase +#: field:purchase.order,product_id:0 +#: view:purchase.order.line:0 +#: field:purchase.order.line,product_id:0 +#: view:purchase.report:0 +#: field:purchase.report,product_id:0 +msgid "Product" +msgstr "" + +#. module: purchase +#: model:process.transition,name:purchase.process_transition_confirmingpurchaseorder0 +#: model:process.transition,name:purchase.process_transition_confirmingpurchaseorder1 +msgid "Confirmation" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +#: field:purchase.order.line,name:0 +#: report:purchase.quotation:0 +msgid "Description" +msgstr "" + +#. module: purchase +#: help:res.company,po_lead:0 +msgid "This is the leads/security time for each purchase order." +msgstr "" + +#. module: purchase +#: report:purchase.quotation:0 +msgid "Expected Delivery address:" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_stock_move_report_po +#: model:ir.ui.menu,name:purchase.menu_action_stock_move_report_po +msgid "Receptions Analysis" +msgstr "" + +#. module: purchase +#: help:purchase.order,amount_untaxed:0 +msgid "The amount without tax" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,help:purchase.action_supplier_address_form +msgid "" +"Access your supplier records and maintain a good relationship with your " +"suppliers. You can track all your interactions with them through the History " +"tab: emails, orders, meetings, etc." +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Delivery" +msgstr "" + +#. module: purchase +#: view:board.board:0 +#: model:ir.actions.act_window,name:purchase.purchase_draft +msgid "Request for Quotations" +msgstr "" + +#. module: purchase +#: field:purchase.order.line,product_uom:0 +msgid "Product UOM" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +#: report:purchase.quotation:0 +msgid "Qty" +msgstr "Antal" + +#. module: purchase +#: field:purchase.order,partner_address_id:0 +msgid "Address" +msgstr "" + +#. module: purchase +#: field:purchase.order.line,move_ids:0 +msgid "Reservation" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_purchase_order_report_graph +#: view:purchase.report:0 +msgid "Total Qty and Amount by month" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:409 +#, python-format +msgid "Could not cancel purchase order !" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_confirmingpurchaseorder1 +msgid "" +"In case there is no supplier for this product, the buyer can fill the form " +"manually and confirm it. The RFQ becomes a confirmed Purchase Order." +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "February" +msgstr "Februar" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_product_category_config_purchase +msgid "Products Categories" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_purchase_order_report_all +#: model:ir.ui.menu,name:purchase.menu_action_purchase_order_report_all +msgid "Purchase Analysis" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Your Order Reference" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: field:purchase.order,minimum_planned_date:0 +#: report:purchase.quotation:0 +#: field:purchase.report,expected_date:0 +msgid "Expected Date" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_total_price_by_product_by_state +#: view:purchase.report:0 +msgid "Total price by product by state" +msgstr "" + +#. module: purchase +#: report:purchase.quotation:0 +msgid "TVA:" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +#: field:purchase.order,date_order:0 +msgid "Date Ordered" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "Shipping address :" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "Purchase Control" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "March" +msgstr "Marts" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "April" +msgstr "April" + +#. module: purchase +#: view:purchase.order.group:0 +msgid "" +" Please note that: \n" +" \n" +" Orders will only be merged if: \n" +" * Purchase Orders are in draft \n" +" * Purchase Orders belong to the same supplier \n" +" * Purchase Orders are have same stock location, same pricelist \n" +" \n" +" Lines will only be merged if: \n" +" * Order lines are exactly the same except for the product,quantity and unit " +"\n" +" " +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +#: field:purchase.report,name:0 +msgid "Year" +msgstr "År" + +#. module: purchase +#: field:purchase.report,negociation:0 +msgid "Purchase-Standard Price" +msgstr "" + +#. module: purchase +#: model:product.pricelist.type,name:purchase.pricelist_type_purchase +#: field:res.partner,property_product_pricelist_purchase:0 +msgid "Purchase Pricelist" +msgstr "" + +#. module: purchase +#: field:purchase.order,invoice_method:0 +msgid "Invoicing Control" +msgstr "" + +#. module: purchase +#: model:process.transition.action,name:purchase.process_transition_action_approvingpurchaseorder0 +msgid "Approve" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +msgid "To Approve" +msgstr "" + +#. module: purchase +#: view:purchase.order.line:0 +msgid "Invoicing" +msgstr "" + +#. module: purchase +#: help:purchase.order.line,state:0 +msgid "" +" * The 'Draft' state is set automatically when purchase order in draft " +"state. \n" +"* The 'Confirmed' state is set automatically as confirm when purchase order " +"in confirm state. \n" +"* The 'Done' state is set automatically when purchase order is set as done. " +" \n" +"* The 'Cancelled' state is set automatically when user cancel purchase order." +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:424 +#, python-format +msgid "Purchase order '%s' is cancelled." +msgstr "" + +#. module: purchase +#: field:purchase.order,amount_total:0 +msgid "Total" +msgstr "Total" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_product_pricelist_action_purhase +msgid "Pricelist Versions" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.action_supplier_address_form +msgid "Addresses" +msgstr "" + +#. module: purchase +#: view:purchase.order.group:0 +msgid "Are you sure you want to merge these orders ?" +msgstr "" + +#. module: purchase +#: view:purchase.order:0 +#: view:purchase.order.line:0 +#: view:purchase.report:0 +msgid "Group By..." +msgstr "" + +#. module: purchase +#: model:process.transition,name:purchase.process_transition_purchaseinvoice0 +msgid "From a purchase order" +msgstr "" + +#. module: purchase +#: report:purchase.order:0 +msgid "TVA :" +msgstr "" + +#. module: purchase +#: help:purchase.order,amount_total:0 +msgid "The total amount" +msgstr "" + +#. module: purchase +#: selection:purchase.report,month:0 +msgid "May" +msgstr "Maj" + +#. module: purchase +#: field:res.company,po_lead:0 +msgid "Purchase Lead Time" +msgstr "" + +#. module: purchase +#: model:process.transition,note:purchase.process_transition_invoicefrompurchase0 +msgid "" +"The invoice is created automatically if the Invoice control of the purchase " +"order is 'On order'. The invoice can also be generated manually by the " +"accountant (Invoice control = Manual)." +msgstr "" + +#. module: purchase +#: model:process.process,name:purchase.process_process_purchaseprocess0 +msgid "Purchase" +msgstr "Indløb" + +#. module: purchase +#: model:ir.model,name:purchase.model_res_partner +#: field:purchase.order.line,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: purchase +#: code:addons/purchase/purchase.py:662 +#, python-format +msgid "" +"You have to select a partner in the purchase form !\n" +"Please set one partner before choosing a product." +msgstr "" + +#. module: purchase +#: view:purchase.installer:0 +msgid "title" +msgstr "" + +#. module: purchase +#: model:ir.model,name:purchase.model_stock_partial_move +msgid "Partial Move" +msgstr "" + +#. module: purchase +#: view:purchase.order.line:0 +msgid "Stock Moves" +msgstr "" + +#. module: purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_unit_measure_purchase +#: model:ir.ui.menu,name:purchase.menu_purchase_uom_form_action +msgid "Units of Measure" +msgstr "" + +#. module: purchase +#: view:purchase.report:0 +msgid "Orders" +msgstr "" + +#. module: purchase +#: help:purchase.order,name:0 +msgid "" +"unique number of the purchase order,computed automatically when the purchase " +"order is created" +msgstr "" + +#. module: purchase +#: model:ir.actions.act_window,name:purchase.open_board_purchase +#: model:ir.ui.menu,name:purchase.menu_board_purchase +msgid "Purchase Dashboard" +msgstr "Indkøb oversigt" diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 9dca270fa7e..283b9247b63 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1560,7 +1560,7 @@ class stock_move(osv.osv): 'scrapped': fields.related('location_dest_id','scrap_location',type='boolean',relation='stock.location',string='Scrapped', readonly=True), } def _check_location(self, cr, uid, ids, context=None): - for record in self.browse(cr, uid, ids, context=context or {}): + for record in self.browse(cr, uid, ids, context=context): if (record.state=='done') and (record.location_dest_id.usage == 'view' or record.location_id.usage == 'view'): return False return True diff --git a/addons/stock/wizard/stock_move.py b/addons/stock/wizard/stock_move.py index 450d60d219d..42e2ba95acc 100644 --- a/addons/stock/wizard/stock_move.py +++ b/addons/stock/wizard/stock_move.py @@ -20,7 +20,6 @@ ############################################################################## from osv import fields, osv -from tools.translate import _ import decimal_precision as dp @@ -186,7 +185,6 @@ class split_in_production_lot(osv.osv_memory): """ if context is None: context = {} - res = super(split_in_production_lot, self).default_get(cr, uid, fields, context=context) if context.get('active_id'): move = self.pool.get('stock.move').browse(cr, uid, context['active_id'], context=context) @@ -198,6 +196,8 @@ class split_in_production_lot(osv.osv_memory): res.update({'qty': move.product_qty}) if 'use_exist' in fields: res.update({'use_exist': (move.picking_id and move.picking_id.type=='out' and True) or False}) + if 'location_id' in fields: + res.update({'location_id': move.location_id.id}) return res _columns = { @@ -207,6 +207,7 @@ class split_in_production_lot(osv.osv_memory): 'line_ids': fields.one2many('stock.move.split.lines', 'lot_id', 'Production Lots'), 'line_exist_ids': fields.one2many('stock.move.split.lines.exist', 'lot_id', 'Production Lots'), 'use_exist' : fields.boolean('Existing Lots', help="Check this option to select existing lots in the list below, otherwise you should enter new ones line by line."), + 'location_id': fields.many2one('stock.location', 'Source Location') } def split_lot(self, cr, uid, ids, context=None): @@ -281,6 +282,7 @@ class split_in_production_lot(osv.osv_memory): 'name': line.name, 'product_id': move.product_id.id}, context=context) + move_obj.write(cr, uid, [current_move], {'prodlot_id': prodlot_id, 'state':move.state}) update_val = {} @@ -306,25 +308,11 @@ class stock_move_split_lines_exist(osv.osv_memory): _defaults = { 'quantity': 1.0, } - - def onchange_lot_id(self, cr, uid, ids, prodlot_id=False, product_id=False, - product_qty=False, uom_id=False, context=None): - if not prodlot_id or not product_id: - return {} - prodlot_obj = self.pool.get('stock.production.lot') - product_obj = self.pool.get('product.product') - uom_obj = self.pool.get('product.uom') - uom = uom_obj.browse(cr, uid, uom_id, context=context) - product_uom = product_obj.browse(cr, uid, product_id, context=context).uom_id - warning = {} - lot_avail_qty = prodlot_obj.browse(cr, uid, prodlot_id, context=context) - quantity = uom_obj._compute_qty_obj(cr, uid, product_uom, lot_avail_qty.stock_available, uom, context=context) - if product_qty > quantity: - warning = { - 'title': _('Wrong lot number !'), - 'message': _('You are moving %.2f %s products but only %.2f %s are available in this lot.') % (product_qty, uom.name, quantity, uom.name) - } - return {'warning': warning} + + def onchange_lot_id(self, cr, uid, ids, prodlot_id=False, product_qty=False, + loc_id=False, product_id=False, uom_id=False): + return self.pool.get('stock.move').onchange_lot_id(cr, uid, [], prodlot_id, product_qty, + loc_id, product_id, uom_id) stock_move_split_lines_exist() diff --git a/addons/stock/wizard/stock_move_view.xml b/addons/stock/wizard/stock_move_view.xml index cfb562e2385..5f4bc1f71c5 100644 --- a/addons/stock/wizard/stock_move_view.xml +++ b/addons/stock/wizard/stock_move_view.xml @@ -118,6 +118,7 @@ + @@ -134,12 +135,12 @@ - - + +
- - + +
diff --git a/addons/survey/survey.py b/addons/survey/survey.py index 8b8fd02eb50..78b824af004 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -504,12 +504,12 @@ class survey_question(osv.osv): def data_get(self, cr, uid, data, context): if data and context: - if context.get('line_order',False) and data.get('sequence',0): + if context.get('line_order', False): lines = context.get('line_order') - seq = data['sequence'] + seq = data.get('sequence', 0) for line in lines: seq = seq + 1 - data.update({'sequence': str(seq)}) + data.update({'sequence': seq}) return data def default_get(self, cr, uid, fields, context=None): diff --git a/addons/wiki/i18n/hr.po b/addons/wiki/i18n/hr.po index d1bb1e3f456..749a7f15372 100644 --- a/addons/wiki/i18n/hr.po +++ b/addons/wiki/i18n/hr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2011-01-11 11:16+0000\n" -"PO-Revision-Date: 2010-10-30 12:31+0000\n" -"Last-Translator: OpenERP Administrators \n" +"PO-Revision-Date: 2011-09-20 02:17+0000\n" +"Last-Translator: wooer \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-09-05 05:38+0000\n" -"X-Generator: Launchpad (build 13830)\n" +"X-Launchpad-Export-Date: 2011-09-20 04:54+0000\n" +"X-Generator: Launchpad (build 13980)\n" #. module: wiki #: field:wiki.groups,template:0 @@ -30,7 +30,7 @@ msgstr "Wiki stranice" #. module: wiki #: field:wiki.groups,method:0 msgid "Display Method" -msgstr "" +msgstr "Način prikaza" #. module: wiki #: view:wiki.wiki:0 @@ -57,7 +57,7 @@ msgstr "Odlomak" #. module: wiki #: help:wiki.wiki,toc:0 msgid "Indicates that this pages have a table of contents or not" -msgstr "" +msgstr "Ukazuje da li ove stranice imaju tablicu sadržaja ili ne" #. module: wiki #: model:ir.model,name:wiki.model_wiki_wiki_history @@ -90,7 +90,7 @@ msgstr "" #: view:wiki.wiki:0 #: field:wiki.wiki,write_uid:0 msgid "Last Contributor" -msgstr "" +msgstr "Zadnji suradnik" #. module: wiki #: field:wiki.create.menu,menu_parent_id:0 @@ -117,7 +117,7 @@ msgstr "Naslov" #. module: wiki #: model:ir.model,name:wiki.model_wiki_create_menu msgid "Wizard Create Menu" -msgstr "" +msgstr "Čarobnjak za stvaranje izbornika" #. module: wiki #: field:wiki.wiki,history_id:0 @@ -127,13 +127,13 @@ msgstr "Redovi povijesti" #. module: wiki #: view:wiki.wiki:0 msgid "Page Content" -msgstr "" +msgstr "Sadržaj stranice" #. module: wiki #: code:addons/wiki/wiki.py:236 #, python-format msgid "Warning !" -msgstr "" +msgstr "Upozorenje !" #. module: wiki #: code:addons/wiki/wiki.py:236 @@ -159,7 +159,7 @@ msgstr "Opis" #. module: wiki #: field:wiki.wiki,review:0 msgid "Needs Review" -msgstr "" +msgstr "Potrebno pregledati" #. module: wiki #: help:wiki.wiki,review:0 @@ -167,6 +167,7 @@ msgid "" "Indicates that this page should be reviewed, raising the attention of other " "contributors" msgstr "" +"Ukazuje da ovu stranicu treba pregledati, skrećući pozornost drugih suradnika" #. module: wiki #: view:wiki.create.menu:0 @@ -177,7 +178,7 @@ msgstr "Informacije o izborniku" #. module: wiki #: model:ir.actions.act_window,name:wiki.act_wiki_wiki_history msgid "Page History" -msgstr "" +msgstr "Povijest stranice" #. module: wiki #: selection:wiki.groups,method:0