[MERGE] merge with trunk addons

bzr revid: mra@mra-laptop-20100703120259-fa0dhq8qwjmmvd8l
bzr revid: mra@mra-laptop-20100706035350-ypi0nc27m6r2bftg
bzr revid: mra@mra-laptop-20100706084601-cyyo92iyngs2nksr
This commit is contained in:
Mustufa Rangwala 2010-07-06 14:16:01 +05:30
commit 41f2357e61
31 changed files with 998 additions and 648 deletions

View File

@ -119,7 +119,6 @@ module named account_vouchers
"wizard/account_bs_report_view.xml"
],
'demo_xml': [
#'demo/price_accuracy00.yml',
'account_demo.xml',
'project/project_demo.xml',
'project/analytic_account_demo.xml',

View File

@ -1230,13 +1230,7 @@ class account_move(osv.osv):
if line.account_id.currency_id.id != line.currency_id.id and (line.account_id.currency_id.id != line.account_id.company_id.currency_id.id or line.currency_id):
raise osv.except_osv(_('Error'), _("""Couldn't create move with currency different from the secondary currency of the account "%s - %s". Clear the secondary currency field of the account definition if you want to accept all currencies.""" % (line.account_id.code, line.account_id.name)))
# Check that the move balances, the tolerance for debit/credit must
# be smaller than the smallest value according to price accuracy
# (hence the +1 below)
# Example:
# difference == 0.01 is OK iff price_accuracy <= 1!
# difference == 0.0001 is OK iff price_accuracy <= 3!
if abs(amount) < 10 ** -(int(config['price_accuracy'])+1):
if abs(amount) < 10 ** -4:
if not len(line_draft_ids):
continue
self.pool.get('account.move.line').write(cr, uid, line_draft_ids, {

File diff suppressed because it is too large Load Diff

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.6\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-07-03 03:39+0000\n"
"PO-Revision-Date: 2010-07-06 03:17+0000\n"
"Last-Translator: Black Jack <onetimespeed@hotmail.com>\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: 2010-07-03 03:47+0000\n"
"X-Launchpad-Export-Date: 2010-07-06 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@ -177,7 +177,7 @@ msgstr "贷方合计"
#. module: account
#: field:account.config.wizard,charts:0
msgid "Charts of Account"
msgstr "科目表"
msgstr "科目一览表"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_move_line_select
@ -608,7 +608,7 @@ msgstr "这序列字段使用从低到高排序"
#: wizard_view:account.analytic.account.chart,init:0
#: wizard_view:account.analytic.line,init:0
msgid "(Keep empty to open the current situation)"
msgstr "(当前状况留空为打开)"
msgstr "(留空为打开当前状况)"
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_account
@ -737,7 +737,7 @@ msgstr "上级符号"
#. module: account
#: field:account.fiscalyear,end_journal_period_id:0
msgid "End of Year Entries Journal"
msgstr "分录集合年度结帐"
msgstr "结束会计年度分录集合"
#. module: account
#: view:product.product:0
@ -902,7 +902,7 @@ msgstr "新的会计年度"
msgid ""
"If a default tax is given in the partner it only overrides taxes from "
"accounts (or products) in the same group."
msgstr "如果默认税是来自业务伙伴相同的分组的科目(或产品)的税."
msgstr "如果默认税是业务伙伴只覆盖, 税款科目(或产品)在同一分组"
#. module: account
#: wizard_field:account.open_closed_fiscalyear,init,fyear_id:0
@ -912,7 +912,7 @@ msgstr "打开会计年度"
#. module: account
#: view:account.config.wizard:0
msgid "Select Chart of Accounts"
msgstr "选择科目表"
msgstr "选择科目一览表"
#. module: account
#: field:account.analytic.account,quantity:0
@ -954,7 +954,7 @@ msgstr "默认借方科目"
#: model:ir.actions.act_window,name:account.action_bank_statement_tree
#: model:ir.ui.menu,name:account.menu_bank_statement_tree
msgid "Entries by Statements"
msgstr "其中的项"
msgstr "银行对帐单"
#. module: account
#: model:process.transition,name:account.process_transition_analyticinvoice0
@ -1099,7 +1099,7 @@ msgstr "税代码"
#: field:account.tax.template,chart_template_id:0
#: field:wizard.multi.charts.accounts,chart_template_id:0
msgid "Chart Template"
msgstr "模板"
msgstr "一览表模板"
#. module: account
#: field:account.chart.template,property_account_income_categ:0
@ -1164,7 +1164,7 @@ msgstr "税务报表"
#: wizard_button:account.analytic.account.chart,init,open:0
#: wizard_button:account.chart,init,open:0
msgid "Open Charts"
msgstr "打开科目表"
msgstr "打开一览表"
#. module: account
#: wizard_view:account.fiscalyear.close.state,init:0
@ -1194,7 +1194,7 @@ msgstr "进项发票"
#. module: account
#: model:ir.actions.wizard,name:account.action_move_journal_line_form_select
msgid "Standard entry"
msgstr "标准分录"
msgstr "普通分录"
#. module: account
#: help:account.account,currency_mode:0
@ -1422,7 +1422,7 @@ msgstr "子科目"
#. module: account
#: field:account.account,check_history:0
msgid "Display History"
msgstr "显示日志"
msgstr "显示历史"
#. module: account
#: wizard_field:account.third_party_ledger.report,init,date1:0
@ -1438,7 +1438,7 @@ msgstr "显示科目 "
#. module: account
#: model:ir.model,name:account.model_account_bank_statement_reconcile_line
msgid "Statement reconcile line"
msgstr "对账单对账明细"
msgstr "对帐单核销明细"
#. module: account
#: view:account.tax:0
@ -1524,7 +1524,7 @@ msgstr "打印普通日记帐"
#: model:ir.actions.act_window,name:account.action_account_chart_template_form
#: model:ir.ui.menu,name:account.menu_action_account_chart_template_form
msgid "Chart of Accounts Templates"
msgstr "科目表模板"
msgstr "科目一览表模板"
#. module: account
#: field:account.invoice,move_id:0
@ -1536,7 +1536,7 @@ msgstr "发票进展"
#: model:ir.ui.menu,name:account.menu_wizard
#: view:wizard.multi.charts.accounts:0
msgid "Generate Chart of Accounts from a Chart Template"
msgstr "从模板产生科目表"
msgstr "从模板产生科目一览表"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_legal_statement
@ -1733,13 +1733,13 @@ msgstr "控制预先生成发票"
#. module: account
#: wizard_view:account.analytic.account.quantity_cost_ledger.report,init:0
msgid "Cost Legder for period"
msgstr "会计期间的成本分类账"
msgstr "成本分类账的会计期间"
#. module: account
#: model:ir.actions.act_window,name:account.action_bank_statement_tree2
#: model:ir.ui.menu,name:account.menu_bank_statement_tree2
msgid "New Statement"
msgstr "新银行对单"
msgstr "新银行对单"
#. module: account
#: wizard_field:account.analytic.account.chart,init,from_date:0
@ -1775,7 +1775,7 @@ msgstr "百分比"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_charts
msgid "Charts"
msgstr "科目列表"
msgstr "一览表"
#. module: account
#: selection:account.analytic.journal,type:0
@ -1956,7 +1956,7 @@ msgstr "Li."
#. module: account
#: wizard_view:account.chart,init:0
msgid "Account charts"
msgstr "科目表"
msgstr "科目一览表"
#. module: account
#: help:account.tax,name:0
@ -2017,7 +2017,7 @@ msgid ""
"Check this box if you don't want new account moves to pass through the "
"'draft' state and instead goes directly to the 'posted state' without any "
"manual validation."
msgstr "如果你不想新的凭证从草稿状态生成而是直接通过手动确认到已登记状态, 勾上这选项"
msgstr "勾选此项, 如果你不想新的凭证从草稿状态生成而是直接通过手动确认到已登记状态."
#. module: account
#: field:account.bank.statement.line,partner_id:0
@ -2118,7 +2118,7 @@ msgstr "付款对账"
#: model:ir.actions.act_window,name:account.action_bank_statement_reconciliation_form
#: model:ir.ui.menu,name:account.menu_action_account_bank_reconcile_tree
msgid "Statements reconciliation"
msgstr "对账单对账"
msgstr "对帐单对帐"
#. module: account
#: model:ir.actions.act_window,name:account.action_subscription_form_new
@ -2220,7 +2220,7 @@ msgstr "增值税 :"
#: model:ir.ui.menu,name:account.menu_action_account_tree
#: model:ir.ui.menu,name:account.menu_action_account_tree2
msgid "Chart of Accounts"
msgstr "科目表"
msgstr "科目一览表"
#. module: account
#: model:account.journal,name:account.check_journal
@ -2339,7 +2339,7 @@ msgstr "科目模板"
#. module: account
#: view:account.chart.template:0
msgid "Chart of Accounts Template"
msgstr "科目表模板"
msgstr "科目一览表模板"
#. module: account
#: model:account.journal,name:account.refund_sales_journal
@ -2460,7 +2460,7 @@ msgstr "会计期间从"
#: model:process.node,name:account.process_node_bankstatement0
#: model:process.node,name:account.process_node_supplierbankstatement0
msgid "Bank Statement"
msgstr "银行对单"
msgstr "银行对单"
#. module: account
#: wizard_view:account.invoice.pay,addendum:0
@ -2581,7 +2581,7 @@ msgstr "应付账"
#. module: account
#: wizard_view:populate_statement_from_inv,init:0
msgid "Import Invoices in Statement"
msgstr "在对账单里的导入发票"
msgstr "在银行对帐单里导入发票"
#. module: account
#: view:account.invoice:0
@ -2602,7 +2602,7 @@ msgstr "付款单"
#: help:account.account.template,reconcile:0
msgid ""
"Check this option if you want the user to reconcile entries in this account."
msgstr "如果你想在对账分录使用这科目, 选中这选项"
msgstr "勾选此项, 如果你想用户在这科目对账分录."
#. module: account
#: rml:account.analytic.account.journal:0
@ -2651,7 +2651,7 @@ msgstr ""
#. module: account
#: model:ir.ui.menu,name:account.menu_account_end_year_treatments
msgid "End of Year Treatments"
msgstr "期末结账"
msgstr "结束会计年度处理"
#. module: account
#: model:ir.ui.menu,name:account.menu_generic_report
@ -2692,7 +2692,7 @@ msgstr "asgfas"
#: model:ir.ui.menu,name:account.account_analytic_def_chart
#: model:ir.ui.menu,name:account.menu_action_analytic_account_tree2
msgid "Analytic Chart of Accounts"
msgstr "辅助核算项表"
msgstr "辅助核算项一览表"
#. module: account
#: wizard_view:account.analytic.line,init:0
@ -3037,7 +3037,7 @@ msgstr ""
msgid ""
"If this box is checked, the system will try to group the accounting lines "
"when generating them from invoices."
msgstr "如果勾选此项系统将试图在产生发票时按会计明细分组"
msgstr "如果勾选此项, 系统将试图在从发票生成分录明细时分组"
#. module: account
#: wizard_field:account.move.line.reconcile,init_full,trans_nbr:0
@ -3212,7 +3212,7 @@ msgstr "平均汇率"
#: model:process.node,note:account.process_node_bankstatement0
#: model:process.node,note:account.process_node_supplierbankstatement0
msgid "Statement encoding produces payment entries"
msgstr "对账单的产品付款分录"
msgstr "产品付款分录清单"
#. module: account
#: field:account.account,code:0
@ -3297,7 +3297,7 @@ msgstr "错误需要BVR参照"
#: field:account.tax.code,notprintable:0
#: field:account.tax.code.template,notprintable:0
msgid "Not Printable in Invoice"
msgstr "没可打印的发票"
msgstr "不打印在发票上"
#. module: account
#: field:account.move.line,move_id:0
@ -3372,7 +3372,7 @@ msgstr "Python代码"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement
msgid "Bank statements"
msgstr "银行对单"
msgstr "银行对单"
#. module: account
#: model:ir.ui.menu,name:account.next_id_22
@ -3384,7 +3384,7 @@ msgstr "业务伙伴帐目"
msgid ""
"If a default tax if given in the partner it only override taxes from account "
"(or product) of the same group."
msgstr "如果一个业务伙伴提供默认税只要覆盖相同分组(产品)科目的税"
msgstr "如果默认税是业务伙伴只覆盖, 税款科目(或产品)在同一分组"
#. module: account
#: view:account.bank.statement:0
@ -3492,7 +3492,7 @@ msgstr "余额结转"
#. module: account
#: field:account.account,child_consol_ids:0
msgid "Consolidated Children"
msgstr "合并子科目"
msgstr "合并子科目"
#. module: account
#: wizard_field:account.account.balance.report,checktype,fiscalyear:0
@ -3548,7 +3548,7 @@ msgstr "币别"
#. module: account
#: view:account.account:0
msgid "Chart of accounts"
msgstr "科目表"
msgstr "科目一览表"
#. module: account
#: field:account.subscription.line,subscription_id:0
@ -3615,7 +3615,7 @@ msgstr "用在这发票的业务伙伴"
msgid ""
"Check this box if you don't want any VAT related to this Tax Code to appear "
"on invoices"
msgstr "如果你不想发票显示任何增值税, 选中这选项"
msgstr "勾选此项, 如果你不想发票显示任何增值税."
#. module: account
#: field:account.account.type,sequence:0
@ -3638,7 +3638,7 @@ msgstr "财务结构模板"
#. module: account
#: view:account.bank.statement:0
msgid "Entry encoding"
msgstr "分录编号"
msgstr "明细"
#. module: account
#: wizard_view:account.invoice.refund,init:0
@ -3664,7 +3664,7 @@ msgstr "季度"
#. module: account
#: wizard_view:account.move.journal,init:0
msgid "Standard entries"
msgstr "一般分录"
msgstr "普通分录"
#. module: account
#: help:account.account,check_history:0
@ -3721,7 +3721,7 @@ msgstr "开始日期"
#. module: account
#: wizard_view:account.general.ledger.report,account_selection:0
msgid "Select Chart"
msgstr "选择科目表"
msgstr "选择一览表"
#. module: account
#: selection:account.chart,init,target_move:0
@ -3776,7 +3776,7 @@ msgstr ""
" 税务管理\n"
" 预算\n"
" 客户和供应商发票\n"
" 银行对单\n"
" 银行对单\n"
" "
#. module: account
@ -3920,7 +3920,7 @@ msgstr "有效"
#. module: account
#: model:process.node,note:account.process_node_electronicfile0
msgid "Import from your bank statements"
msgstr "从你的银行对单导入"
msgstr "从你的银行对单导入"
#. module: account
#: view:account.chart.template:0
@ -3961,7 +3961,7 @@ msgstr "应付款科目"
#: field:account.account,currency_id:0
#: field:account.account.template,currency_id:0
msgid "Secondary Currency"
msgstr "第二货币"
msgstr "币"
#. module: account
#: field:account.account,credit:0
@ -4011,7 +4011,7 @@ msgstr "凭证"
#: view:account.bank.statement:0
#: field:account.bank.statement,line_ids:0
msgid "Statement lines"
msgstr "对账单明细"
msgstr "银行对帐单明细"
#. module: account
#: field:account.move.line,amount_taxed:0
@ -4050,7 +4050,7 @@ msgstr " 包括已对账分录"
msgid ""
"You can check this box to mark the entry line as a litigation with the "
"associated partner"
msgstr "你能勾选与相关业务伙伴分录明细的争议标记选项"
msgstr "你能勾选此项去标记与有关业务伙伴的分录明细存在争议"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree1
@ -4296,7 +4296,7 @@ msgstr "年合计"
#. module: account
#: model:process.transition,note:account.process_transition_filestatement0
msgid "Import file from your bank statement"
msgstr "从你的银行对单导入文件"
msgstr "从你的银行对单导入文件"
#. module: account
#: field:account.account,type:0
@ -4545,14 +4545,14 @@ msgstr "辅助核算项统计"
msgid ""
"This will automatically configure your chart of accounts, bank accounts, "
"taxes and journals according to the selected template"
msgstr "将根据选择的模板自动设置你的科目表、银行帐号、税和分录集合"
msgstr "将根据选择的模板自动设置你的科目一览表、银行帐号、税和分录集合"
#. module: account
#: view:account.bank.statement:0
#: field:account.bank.statement.line,statement_id:0
#: field:account.move.line,statement_id:0
msgid "Statement"
msgstr "对账单"
msgstr "银行对帐单"
#. module: account
#: model:ir.actions.act_window,name:account.action_move_line_form_encode_by_move
@ -4563,7 +4563,7 @@ msgstr "凭证列表"
#. module: account
#: wizard_view:account.analytic.account.chart,init:0
msgid "Analytic Account Charts"
msgstr "辅助核算项表"
msgstr "辅助核算项一览表"
#. module: account
#: wizard_field:account.aged.trial.balance,init,result_selection:0
@ -4627,7 +4627,7 @@ msgstr "表明如果税额必须包含在计算下一个税的基础金额里"
#. module: account
#: model:process.node,name:account.process_node_draftstatement0
msgid "Draft statement"
msgstr "报表草稿"
msgstr "银行对帐单草稿"
#. module: account
#: field:account.analytic.journal,name:0
@ -4637,7 +4637,7 @@ msgstr "分录集合名称"
#. module: account
#: model:process.transition,note:account.process_transition_invoiceimport0
msgid "Import invoice from statement"
msgstr "从对账单导入发票"
msgstr "从银行对帐单导入发票"
#. module: account
#: selection:account.automatic.reconcile,init,power:0
@ -4719,7 +4719,7 @@ msgid ""
"Check this box to determine that each entry of this journal won't create a "
"new counterpart but will share the same counterpart. This is used in fiscal "
"year closing."
msgstr "勾选此项确定每个分录集合的分录不会产生一个新的副本但将共享相同的副本. 这用在会计年度关闭时."
msgstr "勾选此项, 在会计年度关闭时, 确定每个分录集合的分录不会产生新副本, 而是共享同一副本."
#. module: account
#: selection:account.invoice,state:0
@ -4730,7 +4730,7 @@ msgstr "已取消"
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
#: model:ir.ui.menu,name:account.menu_bank_statement_draft_tree
msgid "Draft statements"
msgstr "银行对单草稿"
msgstr "银行对单草稿"
#. module: account
#: wizard_field:populate_statement_from_inv,init,date:0
@ -4763,7 +4763,7 @@ msgstr "打开未对账"
#: field:account.bank.statement.reconcile,statement_line:0
#: model:ir.model,name:account.model_account_bank_statement_line
msgid "Bank Statement Line"
msgstr "银行对单明细"
msgstr "银行对单明细"
#. module: account
#: wizard_button:account.automatic.reconcile,reconcile,end:0
@ -4980,7 +4980,7 @@ msgstr "科目余额 -"
#. module: account
#: field:account.journal,group_invoice_lines:0
msgid "Group invoice lines"
msgstr "分票明细组"
msgstr "按发票明细分组"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_configuration
@ -5012,7 +5012,7 @@ msgstr "产品模板的收入科目"
#: help:account.account,currency_id:0
#: help:account.account.template,currency_id:0
msgid "Force all moves for this account to have this secondary currency."
msgstr "强制这科目的所有凭证用这第二货币."
msgstr "强制所有凭证用这外币"
#. module: account
#: wizard_button:populate_statement_from_inv,go,end:0
@ -5061,7 +5061,7 @@ msgstr "新的客户退款"
msgid ""
"Check this box if you want to use a different sequence for each created "
"journal. Otherwise, all will use the same sequence."
msgstr "如果你想每个创建的分录集合使用不同的序列勾选此项. 否则将使用相同序列"
msgstr "勾选此项, 如果你想每个新建的分录集合使用不同的序列. 否则将使用同一序列"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_populate_statement_from_inv
@ -5193,7 +5193,7 @@ msgstr "付款"
#. module: account
#: model:process.node,note:account.process_node_accountingstatemententries0
msgid "Accounting entries at statement's confirmation"
msgstr "确认报表的会计分录"
msgstr "在确认对帐单产生的会计分录"
#. module: account
#: wizard_view:account_use_models,create:0
@ -5276,7 +5276,7 @@ msgstr "部分分录明细"
#. module: account
#: help:account.move.line,statement_id:0
msgid "The bank statement used for bank reconciliation"
msgstr "这银行对账单用于银行对账"
msgstr "这银行对帐单用于银行对帐"
#. module: account
#: view:account.fiscalyear:0
@ -5644,7 +5644,7 @@ msgstr "财务科目"
#. module: account
#: model:ir.model,name:account.model_account_chart_template
msgid "Templates for Account Chart"
msgstr "科目表模板"
msgstr "科目一览表模板"
#. module: account
#: view:account.config.wizard:0
@ -5725,7 +5725,7 @@ msgstr "分录排序按"
#. module: account
#: rml:account.journal.period.print:0
msgid "Print Journal -"
msgstr "打印分类帐 -"
msgstr "打印分录集合 -"
#. module: account
#: field:account.bank.accounts.wizard,bank_account_id:0
@ -5887,12 +5887,12 @@ msgstr "财务结构"
#. module: account
#: model:process.process,name:account.process_process_statementprocess0
msgid "Statement Process"
msgstr "对账单处理"
msgstr "银行对帐单处理"
#. module: account
#: model:ir.model,name:account.model_account_bank_statement_reconcile
msgid "Statement reconcile"
msgstr "对账单对账"
msgstr "对帐单核销"
#. module: account
#: wizard_field:account.fiscalyear.close,init,sure:0
@ -5906,7 +5906,7 @@ msgstr "勾选此项"
msgid ""
"Check this if the price you use on the product and invoices includes this "
"tax."
msgstr "如果产品和发票你使用含税价. 勾选"
msgstr "勾选, 如果你使用的产品和发票价格含税."
#. module: account
#: field:account.journal.column,name:0
@ -5930,7 +5930,7 @@ msgstr "是"
#: help:account.account,reconcile:0
msgid ""
"Check this if the user is allowed to reconcile entries in this account."
msgstr "如果用户可以在这科目对账分录. 勾选"
msgstr "勾选, 如果用户可以在这科目对账分录."
#. module: account
#: wizard_button:account.subscription.generate,init,generate:0

View File

@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-17 06:50+0000\n"
"Last-Translator: Tor Syversen <sol-moe@online.no>\n"
"PO-Revision-Date: 2010-07-03 18:41+0000\n"
"Last-Translator: Mathias Bøhn Grytemark <Unknown>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-06-22 04:10+0000\n"
"X-Launchpad-Export-Date: 2010-07-04 03:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_analysis
@ -32,7 +32,7 @@ msgstr "Timer, summert pr. bruker"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
msgstr ""
msgstr "Forrige fakturadato"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
@ -58,7 +58,7 @@ msgstr "Mine nåværende konti"
#. module: account_analytic_analysis
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "Ugyldig XML for visningsarkitektur!"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
@ -84,7 +84,7 @@ msgstr ""
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
msgstr "Objektets navn må starte med x_ og ikke inneholde spesialkarakterer!"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_new
@ -123,7 +123,7 @@ msgstr ""
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
msgid "Invoicing"
msgstr ""
msgstr "Fakturering"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
@ -145,7 +145,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Hours"
msgstr ""
msgstr "Gjenværende timer"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
@ -159,7 +159,7 @@ msgstr ""
#: field:account.analytic.account,user_ids:0
#: field:account_analytic_analysis.summary.user,user:0
msgid "User"
msgstr ""
msgstr "Bruker"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_pending
@ -182,7 +182,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_managed
msgid "My Accounts"
msgstr ""
msgstr "Mine kontoer"
#. module: account_analytic_analysis
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
@ -195,7 +195,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Hours"
msgstr ""
msgstr "Ufakturerte timer"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0

View File

@ -51,7 +51,7 @@ ir_sequence_type()
class account_journal(osv.osv):
_inherit = "account.journal"
_columns = {
'max_amount': fields.float('Verify Transaction', digits=(16, int(config['price_accuracy'])), help="Validate voucher entry twice before posting it, if transection amount more then entered here"),
'max_amount': fields.float('Verify Transaction', digits=(16, 2), help="Validate voucher entry twice before posting it, if transection amount more then entered here"),
}
account_journal()

View File

@ -29,14 +29,14 @@ class auction_pay_buy(osv.osv_memory):
_description = "Pay buy"
_columns= {
'amount': fields.float('Amount paid', digits= (16, int(tools.config['price_accuracy']))),
'amount': fields.float('Amount paid', digits= (16, 2)),
'buyer_id':fields.many2one('res.partner', 'Buyer'),
'statement_id1':fields.many2one('account.bank.statement', 'Statement', required=True),
'amount2': fields.float('Amount paid', digits= (16, int(tools.config['price_accuracy']))),
'amount2': fields.float('Amount paid', digits= (16, 2)),
'statement_id2':fields.many2one('account.bank.statement', 'Statement'),
'amount3': fields.float('Amount paid', digits = (16, int(tools.config['price_accuracy']))),
'amount3': fields.float('Amount paid', digits = (16, 2)),
'statement_id3':fields.many2one('account.bank.statement', 'Statement'),
'total': fields.float('Amount paid', digits = (16, int(tools.config['price_accuracy'])), readonly =True),
'total': fields.float('Amount paid', digits = (16, 2), readonly =True),
}
def default_get(self, cr, uid, fields, context):

View File

@ -27,7 +27,7 @@ class auction_pay_sel(osv.osv_memory):
_description = "Pay Invoice"
_columns= {
'amount': fields.float('Amount paid', digits= (16, int(tools.config['price_accuracy'])), required=True),
'amount': fields.float('Amount paid', digits= (16, 2), required=True),
'dest_account_id':fields.many2one('account.account', 'Payment to Account', required=True, domain= [('type', '=', 'cash')]),
'journal_id':fields.many2one('account.journal', 'Journal', required=True),
'period_id':fields.many2one('account.period', 'Period', required=True),

View File

@ -60,7 +60,7 @@ def get_recurrent_dates(rrulestring, exdate, startdate=None, exrule=None):
if exrule:
rset1.exrule(rrule.rrulestr(str(exrule), dtstart=startdate))
return rset1._iter()
return list(rset1._iter())
def base_calendar_id2real_id(base_calendar_id=None, with_date=False):
"""
@ -822,6 +822,8 @@ class calendar_alarm(osv.osv):
delta = alarm.trigger_occurs == 'after' and delta or -delta
for rdate in recurrent_dates:
if rdate + delta > current_datetime:
break
if rdate + delta <= current_datetime:
re_dates.append(rdate.strftime("%Y-%m-%d %H:%M:%S"))
rest_dates = recurrent_dates[len(re_dates):]

View File

@ -26,21 +26,7 @@ class res_partner_contact(osv.osv):
_name = "res.partner.contact"
_description = "Contact"
def _title_get(self,cr, user, context={}):
"""
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param user: the current user,
@param context: A standard dictionary for contextual values
"""
obj = self.pool.get('res.partner.title')
ids = obj.search(cr, user, [])
res = obj.read(cr, user, ids, ['shortcut', 'name','domain'], context)
res = [(r['shortcut'], r['name']) for r in res if r['domain']=='contact']
return res
def _main_job(self, cr, uid, ids, fields, arg, context=None):
"""
@param self: The object pointer
@ -62,7 +48,7 @@ class res_partner_contact(osv.osv):
'name': fields.char('Last Name', size=30, required=True),
'first_name': fields.char('First Name', size=30),
'mobile': fields.char('Mobile', size=30),
'title': fields.selection(_title_get, 'Title'),
'title': fields.many2one('res.partner.title','Title'),
'website': fields.char('Website', size=120),
'lang_id': fields.many2one('res.lang', 'Language'),
'job_ids': fields.one2many('res.partner.job', 'contact_id', 'Functions and Addresses'),
@ -101,13 +87,15 @@ class res_partner_contact(osv.osv):
if not len(ids):
return []
res = []
for r in self.read(cr, user, ids, ['name','first_name','title']):
addr = r['title'] and str(r['title'])+" " or ''
addr += r.get('name', '')
if r['name'] and r['first_name']:
addr += ' '
addr += (r.get('first_name', '') or '')
res.append((r['id'], addr))
for contact in self.browse(cr, user, ids, context=context):
_contact = ""
if contact.title:
_contact += "%s "%(contact.title.name)
_contact += contact.name or ""
if contact.name and contact.first_name:
_contact += " "
_contact += contact.first_name or ""
res.append((contact.id, _contact))
return res
res_partner_contact()

View File

@ -6,19 +6,19 @@
<record id="res_partner_contact_mortier0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Benoit&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Mortier&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field name="title" ref="base.res_partner_title_sir"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_jacot0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Laurent&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Jacot&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_passot0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Thomas&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Passot&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_lacarte0" model="res.partner.contact">
@ -37,25 +37,25 @@
<record id="res_partner_contact_lavente0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Jean-Guy&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Lavente&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_lelitre0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Sylvie&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Lelitre&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Mss&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_grosbonnet0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Arthur&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Grosbonnet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_lesbrouffe0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Karine&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Lesbrouffe&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Ms.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_madam" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_zen0" model="res.partner.contact">
@ -66,73 +66,73 @@
<field eval="&quot;&quot;&quot;http://fptiny.blogspot.com/&quot;&quot;&quot;" name="website"/>
<field eval="&quot;&quot;&quot;Fabien&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Pinckaers&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_debois0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Marc&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Debois&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_luu0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Phuong&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Luu&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Ms.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_madam" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_elkhayat0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Najlaa&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Khayat&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Ms.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_madam" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_depaoli0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Quentin&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Paolino&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_semal0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Fabian&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;W.&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_vandewerve0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Yvan&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;van de Werve&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_lambotte0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Henry&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Lambotte&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_laurent0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Olivier&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Laurent&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_simonis0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Christophe&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Dupont&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_wirtel0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Stéphane&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Andre&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>
<record id="res_partner_contact_mignon0" model="res.partner.contact">
<field eval="&quot;&quot;&quot;Philippe&quot;&quot;&quot;" name="first_name"/>
<field eval="&quot;&quot;&quot;Antoine&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;M.&quot;&quot;&quot;" name="title"/>
<field ref="base.res_partner_title_sir" name="title"/>
<field eval="1" name="active"/>
</record>

View File

@ -29,37 +29,39 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Partner Contact">
<field name="name" select="1"/>
<field name="first_name" select="1"/>
<group colspan="4" col="6">
<field name="title" select="1" widget="selection" domain="[('domain', '=', 'contact')]" size="0"/>
<field name="name" select="1"/>
<field name="first_name" select="1"/>
</group>
<notebook colspan="4" >
<page string="General">
<newline/>
<separator string="General Information" colspan="4"/>
<group string="Partner" colspan="2" col="2">
<field name="partner_id" invisible="1" select="1"/>
<field name="title" select="1"/>
<field name="function" invisible="1"/>
<field name="email"/>
<field name="lang_id"/>
<field name="active"/>
</group>
<group string="Communication" colspan="2" col="2">
<field name="mobile"/>
<field name="email" widget="email"/>
<field name="website"/>
</group>
<page string="General">
<group colspan="4" col="4">
<group colspan="2" col="4">
<separator string="Communication" colspan="4"/>
<field name="mobile"/>
<field name="email" widget="email"/>
<field name="website"/>
</group>
<group colspan="2" col="1">
<separator string="Photo" colspan="4"/>
<field name="photo" widget='image' nolabel="1"/>
</group>
</group>
<field name="job_ids" colspan="4" nolabel="1" mode="tree,form">
<form string="Functions and Addresses">
<group string="Partner" colspan="2" col="4">
<group colspan="4" col="4">
<field name="sequence_contact" />
<field name="function"/>
<field name="address_id"/>
<field name="name"/>
<field name="name"/>
<field name="address_id"/>
<field name="date_start" />
<field name="date_stop" />
<field name="state" />
<field name="sequence_contact" />
</group>
<group string="Communication" colspan="2" col="2">
<separator string="Communication" colspan="4"/>
<group colspan="4" col="4">
<field name="phone"/>
<field name="fax"/>
<field name="email" widget="email"/>
@ -81,16 +83,18 @@
</tree>
</field>
</page>
<page string="Extra Information">
<page string="Extra Information">
<field name="active"/>
<field name="lang_id" widget="selection"/>
<field name="partner_id" invisible="1" select="1"/>
<field name="function" invisible="1" />
<field name="country_id"/>
<field name="birthdate"/>
</page>
<page string="Notes">
<field name="comment" nolabel="1"/>
</page>
<page string="Picture">
<field name="photo" nolabel="1" colspan="2" widget="image"/>
</page>
</notebook>
</form>
</field>
@ -174,13 +178,14 @@
<field name="email"/>
</tree>
<form string="Contacts">
<group string="Partner" colspan="2" col="2">
<group colspan="4" col="4">
<field name="sequence_partner"/>
<field name="name"/>
<field name="contact_id"/>
<field name="function"/>
</group>
<group string="Communication" colspan="2" col="2">
<separator string="Communication" colspan="4"/>
<group colspan="4" col="4">
<field name="phone"/>
<field name="fax"/>
<field name="extension"/>

View File

@ -10,7 +10,7 @@
!record {model: res.lang, id: res_lang_french0}:
code: fr_BE
date_format: '%m/%d/%Y'
decimal_point: .
decimal_point: '.'
direction: ltr
grouping: '[]'
name: French
@ -30,7 +30,6 @@
lang_id: res_lang_french0
mobile: (+32).10.45.18.77
name: Williams
title: Mss
- |
Now in order to assign this contact to partner I will create one partner assign contact laura to this partner
-
@ -51,7 +50,7 @@
lang: fr_BE
name: Laura's Company
ref: LC
title: ltd
- |
Now I will check that the new job is assigned properly to contact or not
-
@ -74,7 +73,7 @@
lang_id: res_lang_french0
mobile: (+32).23.44.32.12
name: Pauwels
title: M.
- |
In order to check one contact working at one partner with different functions
I will create contact with 2 different jobs with different function but the same address
@ -92,5 +91,4 @@
lang_id: base_contact.res_lang_french0
mobile: (+32).10.45.18.77
name: Mortier
title: Mss

View File

@ -254,6 +254,7 @@ and users by email"),
'reference': False,
'invoice_line': [(6, 0, lines)],
'comment': "",
'date_invoice': context.get('date_inv', False)
})
inv_id = inv_pool.create(cr, uid, val_invoice['value'])
inv_pool.button_compute(cr, uid, [inv_id])

View File

@ -52,11 +52,15 @@ class partner_event_registration(osv.osv_memory):
record_ids = context and context.get('active_ids', []) or []
addr = res_obj.address_get(cr, uid, record_ids)
contact_id = False
email = False
if addr.has_key('default'):
job_ids = self.pool.get('res.partner.job').search(cr, uid, [('address_id', '=', addr['default'])])
if job_ids:
contact_id = self.pool.get('res.partner.job').browse(cr, uid, job_ids[0]).contact_id.id
contact = self.pool.get('res.partner.job').browse(cr, uid, job_ids[0])
if contact:
contact_id = contact.contact_id.id
email = contact.email
event_obj = self.pool.get('event.event')
reg_obj = self.pool.get('event.registration')
mod_obj = self.pool.get('ir.model.data')
@ -83,6 +87,7 @@ class partner_event_registration(osv.osv_memory):
'partner_invoice_id' : record_ids[0] or False,
'event_product': current.event_id.product_id.name,
'contact_id': contact_id,
'email_from': email,
'nb_register': current.nb_register,
}, context=context)

View File

@ -73,7 +73,7 @@
<field name="employee_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<group expand="1" string="Group By...">
<filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/>
<filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/>
<separator orientation="vertical"/>

View File

@ -23,7 +23,6 @@
country_id: base.fr
name: Arthur Grosbonnet
street: 1 rue Rockfeller
title: M.
type: default
zip: '75016'
credit_limit: 0.0

View File

@ -86,9 +86,10 @@
],
'demo_xml': ['mrp_demo.xml', 'board_manufacturing_demo.xml'],
'test': [
'test/mrp_phantom_bom.yml',
'test/mrp_production_order.yml',
'test/mrp_procurement.yml'
'test/mrp_packs.yml',
'test/mrp_phantom_bom.yml',
'test/mrp_production_order.yml',
'test/mrp_procurement.yml'
],
'installable': True,
'active': False,

View File

@ -1,19 +1,19 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * mrp
# * mrp
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-12-11 22:08+0000\n"
"Last-Translator: Pieter J. Kersten (EduSense BV) <Unknown>\n"
"PO-Revision-Date: 2010-07-05 08:42+0000\n"
"Last-Translator: Jan Verlaan (Veritos) <Unknown>\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: 2010-06-22 03:55+0000\n"
"X-Launchpad-Export-Date: 2010-07-06 03:37+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp
@ -50,7 +50,7 @@ msgstr "Ongeldige modelnaam in de actie-definitie."
#. module: mrp
#: field:mrp.bom.revision,indice:0
msgid "Revision"
msgstr "Versie"
msgstr "Revisie"
#. module: mrp
#: model:ir.actions.wizard,name:mrp.wiz_mrp_proc2
@ -67,7 +67,7 @@ msgstr "Haperingen in verwervingen"
#. module: mrp
#: view:mrp.routing.workcenter:0
msgid "Routing Workcenters"
msgstr "Routeren werkplaatsen"
msgstr "Routing werkcentra"
#. module: mrp
#: help:mrp.property,composition:0
@ -91,12 +91,14 @@ msgid "Stockable Stock"
msgstr "Op voorraad te nemen voorraad"
#. module: mrp
#: field:mrp.procurement,origin:0 field:mrp.production,origin:0
#: field:mrp.procurement,origin:0
#: field:mrp.production,origin:0
msgid "Origin"
msgstr "Afkomst"
msgstr "Oorsprong"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_configuration view:res.company:0
#: model:ir.ui.menu,name:mrp.menu_mrp_configuration
#: view:res.company:0
msgid "Configuration"
msgstr "Instellingen"
@ -119,7 +121,7 @@ msgstr "Automatisch bestelpunt"
#. module: mrp
#: selection:mrp.bom,method:0
msgid "Set / Pack"
msgstr ""
msgstr "Set / Pack"
#. module: mrp
#: constraint:ir.ui.view:0
@ -175,7 +177,8 @@ msgstr "Automatische verwervingen"
#. module: mrp
#: wizard_field:change_production_qty,confirm,product_qty:0
#: field:mrp.bom,product_qty:0 field:mrp.production,product_qty:0
#: field:mrp.bom,product_qty:0
#: field:mrp.production,product_qty:0
#: field:mrp.production.product.line,product_qty:0
msgid "Product Qty"
msgstr "Producthoeveelheid"
@ -203,7 +206,8 @@ msgstr "Haperingen in verpakkingsproces"
#. module: mrp
#: model:process.node,note:mrp.process_node_orderrfq0
msgid "A purchase order is created for a sub-contracting demand."
msgstr "Er is een bestelopdracht gegenereerd voor een sub-contracting verzoek."
msgstr ""
"Er is een bestelopdracht gegenereerd voor een sub-contracting verzoek."
#. module: mrp
#: rml:mrp.production.order:0
@ -250,7 +254,7 @@ msgstr "u kunt de minimale voorraad regels voor het product zien"
#. module: mrp
#: selection:mrp.bom,type:0
msgid "Sets / Phantom"
msgstr ""
msgstr "Sets / Phantom"
#. module: mrp
#: wizard_view:mrp.procurement.compute,init:0
@ -263,7 +267,8 @@ msgid "Internal Ref."
msgstr "Interne ref."
#. module: mrp
#: view:mrp.procurement:0 field:mrp.procurement,state:0
#: view:mrp.procurement:0
#: field:mrp.procurement,state:0
#: field:mrp.production,state:0
msgid "Status"
msgstr "Status"
@ -281,7 +286,7 @@ msgstr "Refereert aan een positie in een extern plan."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockrfq0
msgid "Stockable Request"
msgstr ""
msgstr "Voorraad aanvraag"
#. module: mrp
#: model:process.node,name:mrp.process_node_serviceonorder0
@ -302,23 +307,26 @@ msgstr ""
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockmts0
msgid "Stockable Make to Stock"
msgstr ""
msgstr "Voorraad - maak op voorraad"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action
#: model:ir.ui.menu,name:mrp.menu_mrp_production_action view:mrp.production:0
#: model:ir.ui.menu,name:mrp.menu_mrp_production_action
#: view:mrp.production:0
msgid "Production Orders"
msgstr "Productie-opdrachten"
#. module: mrp
#: rml:bom.structure:0 field:mrp.procurement,product_qty:0
#: rml:bom.structure:0
#: field:mrp.procurement,product_qty:0
#: rml:mrp.production.order:0
#: wizard_field:product.product.procurement,init,qty:0
msgid "Quantity"
msgstr "Hoeveelheid"
#. module: mrp
#: selection:mrp.procurement,priority:0 selection:mrp.production,priority:0
#: selection:mrp.procurement,priority:0
#: selection:mrp.production,priority:0
msgid "Not urgent"
msgstr "Niet urgent"
@ -364,7 +372,8 @@ msgid "Scheduled Date"
msgstr "Geplande datum"
#. module: mrp
#: selection:mrp.procurement,priority:0 selection:mrp.production,priority:0
#: selection:mrp.procurement,priority:0
#: selection:mrp.production,priority:0
msgid "Urgent"
msgstr "Urgent"
@ -476,10 +485,11 @@ msgstr "Auteur"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockproduct0
msgid "Stockable Product Stock"
msgstr ""
msgstr "Voorraad productvoorraad"
#. module: mrp
#: field:mrp.bom,product_uos:0 field:mrp.production.product.line,product_uos:0
#: field:mrp.bom,product_uos:0
#: field:mrp.production.product.line,product_uos:0
msgid "Product UOS"
msgstr "Verkoopeenheid product"
@ -506,17 +516,17 @@ msgstr "Laatste fout"
#. module: mrp
#: field:mrp.bom,bom_lines:0
msgid "BoM Lines"
msgstr "Materiaallijstregels"
msgstr "Stuklijstregels"
#. module: mrp
#: field:mrp.workcenter,time_start:0
msgid "Time before prod."
msgstr "Opzettijd prod."
msgstr "Tijd vóór prod."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_routing_workcenter
msgid "Routing workcenter usage"
msgstr "Gebruik routering werkplaats"
msgstr "Routing werkcenter gebruik"
#. module: mrp
#: view:mrp.production:0
@ -526,7 +536,7 @@ msgstr "Verbruikte producten"
#. module: mrp
#: constraint:mrp.bom:0
msgid "Error ! You can not create recursive BoM."
msgstr "Fout! U kunt geen recursieve materialenlijst aanmaken."
msgstr "Fout! U kunt geen recursieve stuklijst aanmaken."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_stockmts0
@ -555,7 +565,7 @@ msgstr "Gereed"
#. module: mrp
#: view:mrp.routing:0
msgid "Workcenter Operations"
msgstr "Handelingen werkplaats"
msgstr "Werkcenter operaties"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action2_gantt
@ -594,7 +604,7 @@ msgstr "In productie"
#. module: mrp
#: field:stock.warehouse.orderpoint,qty_multiple:0
msgid "Qty Multiple"
msgstr "Hvh meervoudig"
msgstr "Hvh veelvoud"
#. module: mrp
#: selection:mrp.procurement,state:0
@ -602,11 +612,13 @@ msgid "Waiting"
msgstr "Wachtend"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_routing field:mrp.bom,routing_id:0
#: field:mrp.production,routing_id:0 view:mrp.routing:0
#: model:ir.model,name:mrp.model_mrp_routing
#: field:mrp.bom,routing_id:0
#: field:mrp.production,routing_id:0
#: view:mrp.routing:0
#: model:process.node,name:mrp.process_node_routing0
msgid "Routing"
msgstr "Routering"
msgstr "Routing"
#. module: mrp
#: wizard_button:mrp.workcenter.load,init,report:0
@ -653,12 +665,13 @@ msgstr "Offerteverzoek"
#. module: mrp
#: field:mrp.bom,revision_type:0
msgid "indice type"
msgstr "Soort index"
msgstr "Indextype"
#. module: mrp
#: model:process.node,note:mrp.process_node_production0
msgid "Production orders are created for the product manufacturing."
msgstr "Productie-opdrachten worden gemaakt voor de fabricage van het product."
msgstr ""
"Productie-opdrachten worden gemaakt voor de fabricage van het product."
#. module: mrp
#: rml:mrp.production.order:0
@ -676,7 +689,8 @@ msgid "Production orders"
msgstr "Productie-opdrachten"
#. module: mrp
#: field:mrp.bom,child_complete_ids:0 field:mrp.bom,child_ids:0
#: field:mrp.bom,child_complete_ids:0
#: field:mrp.bom,child_ids:0
msgid "BoM Hyerarchy"
msgstr "Materiaallijst"
@ -704,7 +718,8 @@ msgid "Security Days"
msgstr "Dagen veiligheidsmarge"
#. module: mrp
#: view:mrp.production:0 field:mrp.production,cycle_total:0
#: view:mrp.production:0
#: field:mrp.production,cycle_total:0
msgid "Total Cycles"
msgstr "Totaal aantal cycli"
@ -716,17 +731,17 @@ msgstr "Gereed voor productie"
#. module: mrp
#: field:mrp.bom.revision,name:0
msgid "Modification name"
msgstr "Naam wijziging"
msgstr "Naamswijziging"
#. module: mrp
#: field:mrp.bom,type:0
msgid "BoM Type"
msgstr "Soort materiaallijst"
msgstr "Stuklijstsoort"
#. module: mrp
#: selection:mrp.procurement,state:0
msgid "Exception"
msgstr "Fout"
msgstr "Uitzondering"
#. module: mrp
#: wizard_view:product.product.procurement,init:0
@ -745,7 +760,7 @@ msgstr "Het systeem wacht op de gevraagde producten uit voorraad"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_servicemto0
msgid "Serivce Stockable Order"
msgstr ""
msgstr "Service voorraad order"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_minimumstockprocure0
@ -764,7 +779,9 @@ msgid "Production done"
msgstr "Productie gereed"
#. module: mrp
#: rml:bom.structure:0 field:mrp.bom,code:0 field:mrp.routing,code:0
#: rml:bom.structure:0
#: field:mrp.bom,code:0
#: field:mrp.routing,code:0
#: field:mrp.workcenter,code:0
msgid "Code"
msgstr "Code"
@ -776,14 +793,15 @@ msgstr "Aantal uren"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_property_group
#: field:mrp.property,group_id:0 field:mrp.property.group,name:0
#: field:mrp.property,group_id:0
#: field:mrp.property.group,name:0
msgid "Property Group"
msgstr "Eigenschappengroep"
#. module: mrp
#: field:mrp.bom,bom_id:0
msgid "Parent BoM"
msgstr "Hoofd materiaallijst"
msgstr "Bron stuklijst"
#. module: mrp
#: view:mrp.procurement:0
@ -791,12 +809,14 @@ msgid "References"
msgstr "Verwijzingen"
#. module: mrp
#: wizard_button:change_production_qty,confirm,end:0 view:mrp.procurement:0
#: wizard_button:change_production_qty,confirm,end:0
#: view:mrp.procurement:0
#: selection:mrp.procurement,state:0
#: wizard_button:mrp.procurement.compute,init,end:0
#: wizard_button:mrp.procurement.compute.all,init,end:0
#: wizard_button:mrp.procurement.orderpoint.compute,init,end:0
#: view:mrp.production:0 wizard_button:mrp.workcenter.load,init,end:0
#: view:mrp.production:0
#: wizard_button:mrp.workcenter.load,init,end:0
#: wizard_button:product.product.procurement,init,end:0
#: wizard_button:product_price,init,end:0
msgid "Cancel"
@ -805,7 +825,7 @@ msgstr "Annuleren"
#. module: mrp
#: field:mrp.production,move_prod_id:0
msgid "Move product"
msgstr ""
msgstr "Verplaats product"
#. module: mrp
#: selection:mrp.workcenter,type:0
@ -880,10 +900,14 @@ msgid "Nbr of cycle"
msgstr "Aant. cycli"
#. module: mrp
#: field:mrp.bom,name:0 field:mrp.procurement,name:0
#: rml:mrp.production.order:0 field:mrp.production.product.line,name:0
#: field:mrp.property,name:0 field:mrp.routing,name:0
#: field:mrp.routing.workcenter,name:0 field:stock.warehouse.orderpoint,name:0
#: field:mrp.bom,name:0
#: field:mrp.procurement,name:0
#: rml:mrp.production.order:0
#: field:mrp.production.product.line,name:0
#: field:mrp.property,name:0
#: field:mrp.routing,name:0
#: field:mrp.routing.workcenter,name:0
#: field:stock.warehouse.orderpoint,name:0
msgid "Name"
msgstr "Naam"
@ -926,7 +950,7 @@ msgstr "Veiligheidsmarge in dagen voor elke productiehandeling."
#. module: mrp
#: wizard_view:mrp.procurement.compute.all,init:0
msgid "Scheduler Parameters"
msgstr "Parameters planner"
msgstr "Planningsparameters"
#. module: mrp
#: help:mrp.routing.workcenter,cycle_nbr:0
@ -996,15 +1020,16 @@ msgid "Notes"
msgstr "Opmerkingen"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_bom view:mrp.bom:0
#: model:ir.model,name:mrp.model_mrp_bom
#: view:mrp.bom:0
#: field:mrp.production,bom_id:0
msgid "Bill of Material"
msgstr "Materialenlijst"
msgstr "Stuklijst"
#. module: mrp
#: wizard_view:mrp.workcenter.load,init:0
msgid "Select time unit"
msgstr "Kies tijdseenheid"
msgstr "Selecteer tijdseenheid"
#. module: mrp
#: wizard_field:product_price,init,number:0
@ -1057,7 +1082,8 @@ msgid "Sale Ref"
msgstr "Verkoopreferentie"
#. module: mrp
#: field:mrp.procurement,priority:0 field:mrp.production,priority:0
#: field:mrp.procurement,priority:0
#: field:mrp.production,priority:0
#: rml:mrp.production.order:0
msgid "Priority"
msgstr "Prioriteit"
@ -1086,7 +1112,8 @@ msgstr "Gereedschap"
#. module: mrp
#: help:mrp.production,location_src_id:0
msgid "Location where the system will look for products used in raw materials."
msgid ""
"Location where the system will look for products used in raw materials."
msgstr ""
"Lokatie waar het systeem zoekt naar producten die gebruikt worden in de "
"grondstoffen."
@ -1125,7 +1152,8 @@ msgid "Max Quantity"
msgstr "Max hoeveelheid"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_procurement view:mrp.procurement:0
#: model:ir.model,name:mrp.model_mrp_procurement
#: view:mrp.procurement:0
msgid "Procurement"
msgstr "Verwerving"
@ -1167,7 +1195,7 @@ msgstr "Kostenplaats uren"
#. module: mrp
#: selection:mrp.bom,revision_type:0
msgid "alphabetical indices"
msgstr "Alfabetische indices"
msgstr "Alfabetische index"
#. module: mrp
#: model:process.node,note:mrp.process_node_productionorder0
@ -1175,7 +1203,8 @@ msgid "Procurement for raw materials."
msgstr "Verwerving van grondstoffen"
#. module: mrp
#: view:mrp.procurement:0 field:mrp.procurement,note:0
#: view:mrp.procurement:0
#: field:mrp.procurement,note:0
#: rml:mrp.production.order:0
msgid "Note"
msgstr "Opmerking"
@ -1201,8 +1230,10 @@ msgid "Define a routing to describe the manufacturing steps."
msgstr "Definieer een routering om de productiestappen te beschrijven."
#. module: mrp
#: field:mrp.bom,active:0 field:mrp.routing,active:0
#: field:mrp.workcenter,active:0 field:stock.warehouse.orderpoint,active:0
#: field:mrp.bom,active:0
#: field:mrp.routing,active:0
#: field:mrp.workcenter,active:0
#: field:stock.warehouse.orderpoint,active:0
msgid "Active"
msgstr "Actief"
@ -1215,18 +1246,23 @@ msgstr "Verwerf producten"
#: model:ir.actions.act_window,name:mrp.mrp_property_action
#: model:ir.ui.menu,name:mrp.menu_mrp_property_action
#: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action_prop
#: view:mrp.bom:0 field:mrp.bom,property_ids:0 view:mrp.procurement:0
#: field:mrp.procurement,property_ids:0 view:mrp.property:0
#: view:mrp.bom:0
#: field:mrp.bom,property_ids:0
#: view:mrp.procurement:0
#: field:mrp.procurement,property_ids:0
#: view:mrp.property:0
msgid "Properties"
msgstr "Eigenschappen"
#. module: mrp
#: field:mrp.procurement,date_planned:0 field:mrp.production,date_planned:0
#: field:mrp.procurement,date_planned:0
#: field:mrp.production,date_planned:0
msgid "Scheduled date"
msgstr "Geplande datum"
#. module: mrp
#: view:mrp.procurement:0 view:mrp.production:0
#: view:mrp.procurement:0
#: view:mrp.production:0
msgid "Extra Information"
msgstr "Extra informatie"
@ -1257,7 +1293,7 @@ msgstr "Algemene rekening"
#. module: mrp
#: field:mrp.property,composition:0
msgid "Properties composition"
msgstr "Eigenschappen samenstelling"
msgstr "Samenstellingseigenschappen"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action4
@ -1276,7 +1312,8 @@ msgid "Change Product Qty."
msgstr "Wijzig producthoeveelheid"
#. module: mrp
#: selection:mrp.procurement,state:0 selection:mrp.production,state:0
#: selection:mrp.procurement,state:0
#: selection:mrp.production,state:0
msgid "Done"
msgstr "Gereed"
@ -1290,7 +1327,7 @@ msgstr ""
#. module: mrp
#: field:stock.warehouse.orderpoint,logic:0
msgid "Reordering Mode"
msgstr "Hersorteringsmodus"
msgstr "Herbestel modus"
#. module: mrp
#: constraint:ir.model:0
@ -1325,15 +1362,18 @@ msgid "Capacity per Cycle"
msgstr "Capaciteit per cyclus"
#. module: mrp
#: field:mrp.bom,product_id:0 field:mrp.procurement,product_id:0
#: field:mrp.production,product_id:0 rml:mrp.production.order:0
#: field:mrp.bom,product_id:0
#: field:mrp.procurement,product_id:0
#: field:mrp.production,product_id:0
#: rml:mrp.production.order:0
#: field:mrp.production.product.line,product_id:0
#: field:stock.warehouse.orderpoint,product_id:0
msgid "Product"
msgstr "Product"
#. module: mrp
#: view:mrp.production:0 field:mrp.production,hour_total:0
#: view:mrp.production:0
#: field:mrp.production,hour_total:0
msgid "Total Hours"
msgstr "Totaal aantal uren"
@ -1348,11 +1388,12 @@ msgid "Product BoM Structure"
msgstr "Materiaallijst product"
#. module: mrp
#: field:mrp.bom,product_uom:0 field:mrp.production,product_uom:0
#: field:mrp.bom,product_uom:0
#: field:mrp.production,product_uom:0
#: field:mrp.production.product.line,product_uom:0
#: field:stock.warehouse.orderpoint,product_uom:0
msgid "Product UOM"
msgstr "Product ME"
msgstr "Product UOM"
#. module: mrp
#: help:mrp.procurement,origin:0
@ -1376,14 +1417,16 @@ msgstr ""
"voorraad'"
#. module: mrp
#: help:mrp.bom,date_start:0 help:mrp.bom,date_stop:0
#: help:mrp.bom,date_start:0
#: help:mrp.bom,date_stop:0
msgid "Validity of this BoM or component. Keep empty if it's always valid."
msgstr ""
"Geldigheid van deze materiaallijst of dit onderdeel. Laat leeg als deze "
"altijd geldig is."
#. module: mrp
#: field:mrp.procurement,product_uos:0 field:mrp.production,product_uos:0
#: field:mrp.procurement,product_uos:0
#: field:mrp.production,product_uos:0
msgid "Product UoS"
msgstr "Product VE"
@ -1395,12 +1438,14 @@ msgstr "Product ME"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_workcenter
#: field:mrp.production.workcenter.line,workcenter_id:0
#: field:mrp.routing.workcenter,workcenter_id:0 view:mrp.workcenter:0
#: field:mrp.routing.workcenter,workcenter_id:0
#: view:mrp.workcenter:0
msgid "Workcenter"
msgstr "Werkplaats"
msgstr "Werkcenter"
#. module: mrp
#: selection:mrp.procurement,priority:0 selection:mrp.production,priority:0
#: selection:mrp.procurement,priority:0
#: selection:mrp.production,priority:0
msgid "Very Urgent"
msgstr "Zeer urgent"
@ -1408,7 +1453,7 @@ msgstr "Zeer urgent"
#: field:mrp.procurement,purchase_id:0
#: field:stock.warehouse.orderpoint,procurement_id:0
msgid "Purchase Order"
msgstr "Bestelopdracht"
msgstr "Inkooporder"
#. module: mrp
#: view:mrp.production:0
@ -1437,10 +1482,11 @@ msgstr "Bronlocatie"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_servicerfq0
msgid "Stockable Order Request"
msgstr ""
msgstr "Aanvraag voorraadorder"
#. module: mrp
#: view:mrp.production:0 view:mrp.production.product.line:0
#: view:mrp.production:0
#: view:mrp.production.product.line:0
msgid "Scheduled Products"
msgstr "Geplande producten"
@ -1452,7 +1498,7 @@ msgstr "Productie verbruiksartikelen"
#. module: mrp
#: selection:mrp.bom,revision_type:0
msgid "numeric indices"
msgstr "Numerieke indices"
msgstr "Numerieke indexen"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicerfq0
@ -1467,7 +1513,8 @@ msgstr "Als soort product 'voorraadsartikel' is in verwervingsopdracht"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_workcenter_line
#: view:mrp.production:0 rml:mrp.production.order:0
#: view:mrp.production:0
#: rml:mrp.production.order:0
msgid "Work Orders"
msgstr "Werkopdrachten"
@ -1479,7 +1526,7 @@ msgstr "Kosten per cyclus"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_bom_revision
msgid "Bill of material revisions"
msgstr "Materialenlijstversies"
msgstr "Stuklijstversies"
#. module: mrp
#: view:mrp.procurement:0
@ -1532,7 +1579,7 @@ msgstr "Intern verwervingsverzoek"
#: model:process.node,name:mrp.process_node_production0
#: model:process.node,name:mrp.process_node_productionorder0
msgid "Production Order"
msgstr "Productie-opdracht"
msgstr "Productieorder"
#. module: mrp
#: view:mrp.production:0
@ -1571,7 +1618,7 @@ msgstr "Geldig tot"
#: model:ir.actions.act_window,name:mrp.mrp_procurement_action11
#: model:ir.ui.menu,name:mrp.menu_mrp_procurement_action11
msgid "Temporary Procurement Exceptions"
msgstr "Tijdelijke verwervingsfouten"
msgstr "Tijdelijke verwervingsuitzonderingen"
#. module: mrp
#: field:mrp.bom,date_start:0
@ -1581,7 +1628,7 @@ msgstr "Geldig vanaf"
#. module: mrp
#: selection:mrp.bom,type:0
msgid "Normal BoM"
msgstr "Normale materialenlijst"
msgstr "Normale stuklijst"
#. module: mrp
#: field:mrp.bom,product_uos_qty:0
@ -1608,7 +1655,7 @@ msgstr "Bevestigen"
#. module: mrp
#: field:mrp.production,workcenter_lines:0
msgid "Workcenters Utilisation"
msgstr "Belasting werkplaatsen"
msgstr "Belasting werkcenters"
#. module: mrp
#: help:mrp.bom,product_efficiency:0
@ -1658,7 +1705,7 @@ msgstr "Nieuwe materiaallijst"
#. module: mrp
#: field:mrp.workcenter,time_stop:0
msgid "Time after prod."
msgstr "Afbouwtijd"
msgstr "Tijd na prod."
#. module: mrp
#: wizard_field:mrp.workcenter.load,init,time_unit:0
@ -1689,7 +1736,7 @@ msgstr "Eigenschap"
#. module: mrp
#: field:mrp.routing.workcenter,routing_id:0
msgid "Parent Routing"
msgstr "Hoofdroutering"
msgstr "Hoofdrouting"
#. module: mrp
#: help:mrp.workcenter,time_start:0
@ -1707,9 +1754,10 @@ msgid "plus"
msgstr "plus"
#. module: mrp
#: field:mrp.bom.revision,bom_id:0 field:mrp.procurement,bom_id:0
#: field:mrp.bom.revision,bom_id:0
#: field:mrp.procurement,bom_id:0
msgid "BoM"
msgstr "Materiaallijst"
msgstr "Stuklijst"
#. module: mrp
#: help:mrp.bom,routing_id:0
@ -1727,7 +1775,7 @@ msgstr ""
#. module: mrp
#: selection:mrp.production,state:0
msgid "Waiting Goods"
msgstr "Wacht op materiaal"
msgstr "Wacht op materialen"
#. module: mrp
#: model:process.process,name:mrp.process_process_stockableproductprocess0
@ -1743,7 +1791,8 @@ msgstr "Nieuwe productieopdracht"
#. module: mrp
#: model:process.node,note:mrp.process_node_rfq0
msgid "A Request for Quotation is created and sent to the supplier."
msgstr "Er is een offerteaanvraag aangemaakt en verstuurd naar de leverancier"
msgstr ""
"Er is een offerteaanvraag aangemaakt en verstuurd naar de leverancier"
#. module: mrp
#: field:mrp.bom.revision,last_indice:0
@ -1751,9 +1800,10 @@ msgid "last indice"
msgstr "laatste index"
#. module: mrp
#: field:mrp.bom,revision_ids:0 view:mrp.bom.revision:0
#: field:mrp.bom,revision_ids:0
#: view:mrp.bom.revision:0
msgid "BoM Revisions"
msgstr "Materiaallijstversies"
msgstr "Stuklijstversies"
#. module: mrp
#: view:mrp.procurement:0
@ -1761,19 +1811,22 @@ msgid "Retry"
msgstr "Probeer opnieuw"
#. module: mrp
#: selection:mrp.procurement,state:0 selection:mrp.production,state:0
#: selection:mrp.procurement,state:0
#: selection:mrp.production,state:0
msgid "Draft"
msgstr "Concept"
#. module: mrp
#: selection:mrp.procurement,priority:0 selection:mrp.production,priority:0
#: selection:mrp.procurement,priority:0
#: selection:mrp.production,priority:0
msgid "Normal"
msgstr "Normaal"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_productionprocureproducts0
msgid "When any procuere products, it comes into the prpcurement orders"
msgstr "Te verwerven producten worden op de verwervingsopdracht bijgeplaatst."
msgstr ""
"Te verwerven producten worden op de verwervingsopdracht bijgeplaatst."
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action2
@ -1821,8 +1874,11 @@ msgid "from stock"
msgstr "uit voorraad"
#. module: mrp
#: view:mrp.bom:0 view:mrp.property:0 view:mrp.property.group:0
#: view:mrp.routing:0 view:mrp.routing.workcenter:0
#: view:mrp.bom:0
#: view:mrp.property:0
#: view:mrp.property.group:0
#: view:mrp.routing:0
#: view:mrp.routing.workcenter:0
msgid "General Information"
msgstr "Algemene informatie"
@ -1875,10 +1931,14 @@ msgid "Change Product Qty"
msgstr "Wijzig producthoeveelheid"
#. module: mrp
#: field:mrp.bom.revision,description:0 view:mrp.property:0
#: field:mrp.property,description:0 field:mrp.property.group,description:0
#: view:mrp.routing:0 field:mrp.routing,note:0
#: field:mrp.routing.workcenter,note:0 view:mrp.workcenter:0
#: field:mrp.bom.revision,description:0
#: view:mrp.property:0
#: field:mrp.property,description:0
#: field:mrp.property.group,description:0
#: view:mrp.routing:0
#: field:mrp.routing,note:0
#: field:mrp.routing.workcenter,note:0
#: view:mrp.workcenter:0
#: field:mrp.workcenter,note:0
msgid "Description"
msgstr "Beschrijving"
@ -1936,7 +1996,8 @@ msgid "On Stock"
msgstr "Op voorraad"
#. module: mrp
#: field:mrp.bom,sequence:0 rml:mrp.production.order:0
#: field:mrp.bom,sequence:0
#: rml:mrp.production.order:0
#: field:mrp.production.workcenter.line,sequence:0
#: field:mrp.routing.workcenter,sequence:0
msgid "Sequence"
@ -1951,7 +2012,7 @@ msgstr "Onderdelen materiaallijst"
#. module: mrp
#: field:report.mrp.inout,date:0 field:report.workcenter.load,name:0
msgid "Week"
msgstr ""
msgstr "Week"
#. module: mrp
#: model:ir.ui.menu,name:mrp.next_id_77
@ -1961,37 +2022,42 @@ msgstr "Rapportering"
#. module: mrp
#: view:report.workcenter.load:0
msgid "Workcenters load"
msgstr ""
msgstr "Werkcentersbelasting"
#. module: mrp
#: model:ir.model,name:mrp.model_report_workcenter_load
msgid "Workcenter Load"
msgstr ""
msgstr "Werkcenterbelasting"
#. module: mrp
#: model:ir.module.module,shortdesc:report_mrp.module_meta_information
msgid "MRP Management - Reporting"
msgstr ""
msgstr "MRP beheer - Rapportage"
#. module: mrp
#: field:report.mrp.inout,value:0
msgid "Stock value"
msgstr ""
msgstr "Voorraadwaarde"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_workcenter_load_tree
#: model:ir.ui.menu,name:mrp.menu_report_workcenter_load
msgid "Workcenter Loads"
msgstr ""
msgstr "Werkcenterbelastingen"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
#: model:ir.ui.menu,name:mrp.menu_report_in_out_picking
msgid "Weekly Stock Value Variation"
msgstr ""
msgstr "Wekelijkse voorraadwaarde variatie"
#. module: mrp
#: model:ir.model,name:mrp.model_report_mrp_inout
#: view:report.mrp.inout:0
msgid "Stock value variation"
msgstr ""
msgstr "Voorraadwaarde variatie"
#. module: mrp
#: view:board.board:0
msgid "Next production orders"
msgstr "Volgende productieorders"

View File

@ -634,7 +634,7 @@
<field name="state"/>
<button name="action_compute" states="draft" string="Compute Data" type="object" icon="gtk-execute"/>
<button name="button_confirm" states="draft" string="Confirm Production" icon="gtk-apply"/>
<button name="button_produce" states="ready" string="Mark as Started" icon="gtk-execute"/>
<button name="button_produce" states="ready" string="Start Production" icon="gtk-execute"/>
<button name="%(act_mrp_product_produce)d" states="in_production" string="Produce" icon="gtk-ok" type="action"/>
<button name="force_production" states="confirmed,picking_except" string="Force Reservation" type="object" icon="gtk-jump-to"/>
<button name="button_cancel" states="draft,ready,confirmed,in_production,picking_except" string="Cancel" icon="gtk-cancel"/>

View File

@ -94,7 +94,6 @@ class StockMove(osv.osv):
'location_id': move.location_id.id,
'procure_method': prodobj.procure_method,
'move_id': mid,
'company_id': line['company_id'],
})
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
move_obj.write(cr, uid, [move.id], {

View File

@ -0,0 +1,94 @@
-
In order to test the Packs in OpenERP, we will try to sell a "Pack of 24
beers" which is composed of 24 "Beers" and a "Beers Pack".
- |
I start by creating the Beers product.
-
!record {model: product.product, id: product_product_beers0}:
categ_id: product.cat1
name: Beers
procure_method: make_to_stock
supply_method: buy
type: product
uom_id: product.product_uom_unit
uom_po_id: product.product_uom_unit
- |
I create the "Beers Pack" product.
-
!record {model: product.product, id: product_product_beerspack0}:
categ_id: product.cat1
name: Beers Pack
procure_method: make_to_stock
supply_method: buy
type: product
uom_id: product.product_uom_unit
uom_po_id: product.product_uom_unit
- |
I create the "Pack of 24 beers" product
-
!record {model: product.product, id: product_product_packofbeers0}:
categ_id: product.cat1
name: Pack of 24 Beers
procure_method: make_to_order
supply_method: produce
type: product
uom_id: product.product_uom_unit
uom_po_id: product.product_uom_unit
- |
I define the Phantom Bill of Material for the "Pack of 24 beers"
-
!record {model: mrp.bom, id: mrp_bom_packofbeers0}:
bom_lines:
- company_id: base.main_company
name: Beers
product_id: product_product_beers0
product_qty: 24.0
product_uom: product.product_uom_unit
type: normal
- company_id: base.main_company
name: Beers Pack
product_id: product_product_beerspack0
product_qty: 1.0
product_uom: product.product_uom_unit
type: normal
name: Pack of 24 Beers
product_id: product_product_packofbeers0
product_qty: 1.0
product_uom: product.product_uom_unit
type: phantom
- |
As all my data are created, I will create an outgoing order picking for a
"Pack of 24 Beers"
-
!record {model: stock.picking, id: picking_out}:
address_id: base.res_partner_address_tang
company_id: base.main_company
invoice_state: none
move_lines:
- company_id: base.main_company
location_dest_id: stock.stock_location_customers
location_id: stock.stock_location_stock
name: Pack of 24 Beers
product_id: mrp_bom_packofbeers0
product_qty: 2.0
product_uom: product.product_uom_unit
move_type: direct
type: out
- |
I validate the newly created picking.
-
!python {model: stock.picking}: |
self.draft_validate(cr, uid, [ref("picking_out")], {
"active_ids": [ref("stock.menu_action_picking_tree")],
"active_id": ref("stock.menu_action_picking_tree"), }
)
- |
I check that my Picking of a "PAck of 24 beers" as been automatically
converted to a picking of 24 beers and a pack of beer, so that my
stock of beers remains exact.
-
!assert {model: stock.picking, id: picking_out}:
- len(move_ids) == 2
- move_ids[0].product_id.id <> move_ids[1].product_id.id
- move_ids[0].product_id.id in (ref('product_product_beers0'), ref('product_product_beerspack0'))
- move_ids[1].product_id.id in (ref('product_product_beers0'), ref('product_product_beerspack0'))

View File

@ -44,9 +44,9 @@ class product_pricelist(report_sxw.rml_parse):
qtys = 1
for i in range(1,6):
if form['qty'+str(i)] > 0 and form['qty'+str(i)] not in vals.values():
vals['qty'+str(qtys)] = form['qty'+str(i)]
qtys += 1
# if form['qty'+str(i)] > 0 and form['qty'+str(i)] not in vals.values():
vals['qty'+str(qtys)] = form['qty'+str(i)]
qtys += 1
lst.append(vals)
return lst
@ -55,8 +55,8 @@ class product_pricelist(report_sxw.rml_parse):
q = 'qty%d'%i
if form[q] >0 and form[q] not in self.quantity:
self.quantity.append(form[q])
# else:
# self.quantity.append(0)
else:
self.quantity.append(0)
return True
def _get_pricelist(self, pricelist_id):
@ -93,12 +93,12 @@ class product_pricelist(report_sxw.rml_parse):
i = 1
for qty in self.quantity:
if qty == 0:
val['qty'+str(i)] = ""
val['qty'+str(i)] = 0.0
else:
val['qty'+str(i)]=self._get_price(self.pricelist, product['id'], qty)
i += 1
i += 1
products.append(val)
res.append({'name':cat['name'],'products':products})
res.append({'name':cat['name'],'products': products})
return res
def _get_price(self,pricelist_id, product_id,qty):

View File

@ -45,7 +45,7 @@ class purchase_report(osv.osv):
'product_id':fields.many2one('product.product', 'Product', readonly=True),
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', readonly=True),
'location_id': fields.many2one('stock.location', 'Destination', readonly=True),
'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
'partner_id':fields.many2one('res.partner', 'Supplier', readonly=True),
'partner_address_id':fields.many2one('res.partner.address', 'Address Contact Name', readonly=True),
'dest_address_id':fields.many2one('res.partner.address', 'Dest. Address Contact Name',readonly=True),
'pricelist_id':fields.many2one('product.pricelist', 'Pricelist', readonly=True),

View File

@ -76,37 +76,39 @@
<separator orientation="vertical"/>
<field name="partner_id"/>
<field name="product_id"/>
<field name="user_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="10" col="12">
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Supplier" name="group_partner_id" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<filter string="Responsible" name="Responsible" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Validated by" icon="terp-personal" context="{'group_by':'validator'}"/>
<separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}"/>
<filter string="Destination" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_id'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'name'}"/>
</group>
<newline/>
<group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
<field name="user_id"/>
<field name="validator"/>
<separator orientation="vertical"/>
<field name="location_id"/>
<field name="warehouse_id" widget="selection"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<field name="date"/>
<field name="date_approve"/>
<field name="expected_date"/>
<newline/>
<field name="warehouse_id" widget="selection"/>
<field name="validator" widget="selection"/>
<separator orientation="vertical"/>
<field name="location_id"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
</search>
</field>
@ -179,12 +181,12 @@
<record model="ir.ui.view" id="view_purchase_by_supplier_graph">
<field name="name">purchase.by.supplier.graph</field>
<field name="model">purchase.report</field>
<field name="type">tree</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<tree string="Purchase by supplier" >
<graph string="Purchase by supplier" type="bar">
<field name="partner_id"/>
<field name="nbr" operator="+"/>
</tree>
</graph>
</field>
</record>
<record id="action_purchase_by_supplier" model="ir.actions.act_window">
@ -200,13 +202,14 @@
<record model="ir.ui.view" id="view_total_price_by_product_by_state_graph">
<field name="name">total.price.by.product.by.state.graph</field>
<field name="model">purchase.report</field>
<field name="type">tree</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<tree string="Total price by product by state" >
<graph string="Total price by product by state" type="pie">
<field name="product_id"/>
<field name="price_total" operator="+"/>
<field name="state" group="True"/>
</tree>
<field name="price_total" operator="+"/>
</graph>
</field>
</record>
<record id="action_total_price_by_product_by_state" model="ir.actions.act_window">
@ -221,12 +224,12 @@
<record model="ir.ui.view" id="view_qty_per_product_graph">
<field name="name">qty.per.product.graph</field>
<field name="model">purchase.report</field>
<field name="type">tree</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<tree string="Qty. per product" >
<graph string="Qty. per product" type="bar">
<field name="product_id"/>
<field name="quantity" operator="+"/>
</tree>
</graph>
</field>
</record>
<record id="action_qty_per_product" model="ir.actions.act_window">

View File

@ -21,7 +21,7 @@
<field name="nbr" sum="# of Lines"/>
<field name="product_uom_qty" sum="# of Qty"/>
<field name="shipped_qty_1"/>
<field name="uom_name" invisible="not context.get('set_visible',False)"/>
<field name="uom_name" invisible="context.get('set_visible',False)"/>
<field name="price_average" avg="Average Price"/>
<field name="price_total" sum="Total Price"/>
<field name="delay" avg="Commitment Delay"/>

View File

@ -58,12 +58,6 @@ class sale_order_dates(osv.osv):
'effective_date': fields.function(_get_effective_date, method=True, type='date', store=True,string='Effective Date'),
}
sale_order_dates()
"""
- date_commitment: min(fields.function using delay on SO lines +
date_order)
- date_requested: fields.date
- Effective date: fields.function the first picking done.
"""
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -86,7 +86,7 @@
<field name="partner_id" context="{'contact_display':'partner'}"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<group expand="1" string="Group By...">
<filter name="group_partner" string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter name="group_product" string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter name="group_picking" string="Packing" icon="terp-accessories-archiver" context="{'group_by':'picking_id'}"/>

View File

@ -37,6 +37,7 @@ class report_stock_picking(osv.osv):
'product_uos_qty': fields.float('# of Products', readonly=True),
'product_id': fields.many2one('product.product', 'Product', readonly=True),
'date': fields.date('Date', readonly=True),
'avg_days_late': fields.float('Avg Due Days', digits=(16,2), readonly=True, group_operator="avg"),
'avg_days_to_deliver': fields.float('Avg Days to Deliver', digits=(16,2), readonly=True, group_operator="avg",
help="Number of Avg Days to deliver"),
'state': fields.selection([('draft', 'Draft'),('auto', 'Waiting'),('confirmed', 'Confirmed'),('assigned', 'Available'),('done', 'Done'),('cancel', 'Cancelled')], 'State'),
@ -71,8 +72,7 @@ class report_stock_picking(osv.osv):
sp.address_id as partner_id,
to_date(to_char(sp.create_date, 'MM-dd-YYYY'),'MM-dd-YYYY') as date,
count(sm.id) as nbr,
count(distinct sp.id) as nbp,
sum(sm.product_qty) as product_qty,
sum(sm.product_qty*u.factor) as product_qty,
sum(sm.product_uos_qty) as product_uos_qty,
sm.product_id as product_id,
sm.location_dest_id as location_dest_id,
@ -83,9 +83,11 @@ class report_stock_picking(osv.osv):
sp.invoice_state,
sp.company_id as company_id,
avg(extract('epoch' from (sp.date_done-sp.create_date)))/(3600*24) as avg_days_to_deliver,
avg(extract('epoch' from (sp.date_done-sp.min_date)))/(3600*24) as avg_days_late,
sp.state
from stock_move as sm
left join stock_picking as sp ON (sm.picking_id=sp.id)
from stock_picking as sp
Inner join stock_move as sm ON (sm.picking_id=sp.id)
Inner join product_uom u on (u.id=sm.product_uom)
group by sp.type,
sp.create_date,
sp.address_id,

View File

@ -25,10 +25,10 @@
<field name="type" invisible="1"/>
<field name="invoice_state" invisible="1"/>
<field name="state" invisible="1"/>
<field name="product_qty" sum="# of Products" />
<field name="nbp" sum="# of Pickings" />
<field name="nbr" sum="# of Lines" />
<field name="avg_days_to_deliver" avg='Avg Days to Deliver'/>
<field name="product_qty" sum="# of Products" />
<field name="avg_days_to_deliver" avg='Avg Days to Deliver'/>
<field name="avg_days_late" avg='Avg Due Days'/>
</tree>
</field>
</record>
@ -69,37 +69,39 @@
<separator orientation="vertical"/>
<filter string="Todo" icon="terp-gtk-go-back-rtl" domain="[('state','in',('draft','auto','confirmed','assigned'))]"/>
<filter string="Done" icon="terp-dialog-close" domain="[('state','=','done')]"/>
<separator orientation="vertical"/>
<field name="partner_id"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<separator orientation="vertical"/>
<field name="partner_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<group expand="1" string="Group By...">
<filter string="Partner" name="Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Shipping Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<filter string="Shipping Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<filter string="Invoice Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'invoice_state'}"/>
<separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="type"/>
<separator orientation="vertical"/>
<field name="min_date"/>
<separator orientation="vertical"/>
<field name="max_date"/>
<newline/>
<field name="product_id"/>
<separator orientation="vertical"/>
<field name="type"/>
<field name="invoice_state"/>
<separator orientation="vertical"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<newline/>
<field name="order_date"/>
<separator orientation="vertical"/>
<field name="date_done"/>
<field name="min_date"/>
<field name="max_date"/>
</group>
</search>

View File

@ -626,7 +626,7 @@
<notebook colspan="4">
<page string="General Information">
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_out_id': address_id}">
<tree colors="grey:scraped == True" string="Stock Moves" editable="top">
<tree colors="grey:scraped == True" string="Stock Moves">
<field name="name" string="Move Name"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
@ -797,7 +797,7 @@
<notebook colspan="4">
<page string="General Information">
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_out_id': address_id}" >
<tree colors="grey:scraped == True" string="Stock Moves" editable="top">
<tree colors="grey:scraped == True" string="Stock Moves">
<field name="name" string="Move Name"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
@ -1000,7 +1000,7 @@
<notebook colspan="4">
<page string="General Information">
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_out_id': address_id}" >
<tree colors="grey:scraped=True" string="Stock Moves" editable="top">
<tree colors="grey:scraped==True" string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="UOM"/>
@ -1200,7 +1200,7 @@
<notebook colspan="4">
<page string="General Information">
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_in_id': address_id}" >
<tree colors="grey:scraped==True" string="Stock Moves" editable="top">
<tree colors="grey:scraped==True" string="Stock Moves">
<field name="product_id" readonly="1"/>
<field name="product_qty" readonly="1"/>
<field name="product_uom" string="UOM" readonly="1"/>