[MERGE] branch merged with lp:~openerp-dev/openobject-addons/trunk-dev-addons3

bzr revid: mtr@mtr-20101116050242-lfv1fxixojzxeogf
This commit is contained in:
mtr 2010-11-16 10:32:42 +05:30
commit f737366327
22 changed files with 910 additions and 678 deletions

View File

@ -344,7 +344,7 @@ class account_account(osv.osv):
_columns = {
'name': fields.char('Name', size=128, required=True, select=True),
'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."),
'code': fields.char('Code', size=64, required=True),
'code': fields.char('Code', size=64, required=True, select=1),
'type': fields.selection([
('view', 'View'),
('other', 'Regular'),
@ -1389,7 +1389,7 @@ class account_move(osv.osv):
if line.account_id.currency_id and line.currency_id:
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):
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)))
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))
if abs(amount) < 10 ** -4:
# If the move is balanced
@ -2082,8 +2082,8 @@ class account_model(osv.osv):
date_maturity = time.strftime('%Y-%m-%d')
if line.date_maturity == 'partner':
if not line.partner_id:
raise osv.except_osv(_('Error !'), _("Maturity date of entry line generated by model line '%s' of model '%s' is based on partner payment term! \
\nPlease define partner on it!"%(line.name, model.name)))
raise osv.except_osv(_('Error !'), _("Maturity date of entry line generated by model line '%s' of model '%s' is based on partner payment term!" \
"\nPlease define partner on it!")%(line.name, model.name))
if line.partner_id.property_payment_term:
payment_term_id = line.partner_id.property_payment_term.id
pterm_list = pt_obj.compute(cr, uid, payment_term_id, value=1, date_ref=date_maturity)
@ -2254,7 +2254,7 @@ class account_account_template(osv.osv):
_columns = {
'name': fields.char('Name', size=128, required=True, select=True),
'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."),
'code': fields.char('Code', size=64),
'code': fields.char('Code', size=64, select=1),
'type': fields.selection([
('receivable','Receivable'),
('payable','Payable'),
@ -2973,4 +2973,4 @@ class account_bank_accounts_wizard(osv.osv_memory):
account_bank_accounts_wizard()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -436,7 +436,7 @@ class account_move_line(osv.osv):
'period_id': fields.many2one('account.period', 'Period', required=True, select=2),
'journal_id': fields.many2one('account.journal', 'Journal', required=True, select=1),
'blocked': fields.boolean('Litigation', help="You can check this box to mark this journal item as a litigation with the associated partner"),
'partner_id': fields.many2one('res.partner', 'Partner'),
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
'date_maturity': fields.date('Due date', help="This field is used for payable and receivable journal entries. You can put the limit date for the payment of this line."),
'date': fields.related('move_id','date', string='Effective date', type='date', required=True,
store = {

File diff suppressed because it is too large Load Diff

View File

@ -263,7 +263,7 @@ class account_invoice(osv.osv):
'invoice_line': fields.one2many('account.invoice.line', 'invoice_id', 'Invoice Lines', readonly=True, states={'draft':[('readonly',False)]}),
'tax_line': fields.one2many('account.invoice.tax', 'invoice_id', 'Tax Lines', readonly=True, states={'draft':[('readonly',False)]}),
'move_id': fields.many2one('account.move', 'Journal Entry', readonly=True, help="Link to the automatically generated Journal Items."),
'move_id': fields.many2one('account.move', 'Journal Entry', readonly=True, select=1, help="Link to the automatically generated Journal Items."),
'amount_untaxed': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Untaxed',
store={
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20),
@ -326,16 +326,18 @@ class account_invoice(osv.osv):
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
journal_obj = self.pool.get('account.journal')
if context.get('active_model','') in ['res.partner']:
partner = self.pool.get(context['active_model']).read(cr,uid,context['active_ids'],['supplier','customer'])[0]
if context is None:
context = {}
if context.get('active_model', '') in ['res.partner'] and context.get('active_ids', False) and context['active_ids']:
partner = self.pool.get(context['active_model']).read(cr, uid, context['active_ids'], ['supplier','customer'])[0]
if not view_type:
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name','=','account.invoice.tree')])[0]
view_id = self.pool.get('ir.ui.view').search(cr, uid, [('name', '=', 'account.invoice.tree')])[0]
view_type = 'tree'
if view_type == 'form':
if partner['supplier'] and not partner['customer']:
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name','=','account.invoice.supplier.form')])[0]
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name', '=', 'account.invoice.supplier.form')])[0]
else:
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name','=','account.invoice.form')])[0]
view_id = self.pool.get('ir.ui.view').search(cr,uid,[('name', '=', 'account.invoice.form')])[0]
res = super(account_invoice,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
type = context.get('journal_type', 'sale')
for field in res['fields']:

View File

@ -8,7 +8,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Reconciliation">
<separator string="Options" colspan="4"/>
<separator string="Reconciliation" colspan="4"/>
<label colspan="4" nolabel="1" string="For an invoice to be considered as paid, the invoice entries must be reconciled with counterparts, usually payments. With the automatic reconciliation functionality, OpenERP makes its own search for entries to reconcile in a series of accounts. It finds entries for each partner where the amounts correspond."/>
<newline/>
<group>
<field name="account_ids" colspan="4" domain="[('reconcile','=',1)]"/>
<field name="date1"/>
@ -42,7 +44,6 @@
<field name="view_id" ref="account_automatic_reconcile_view"/>
<field name="context">{'record_id':active_id}</field>
<field name="target">new</field>
<field name="help">For an invoice to be considered as paid, the invoice entries must be reconciled with counterparts, usually payments. With the automatic reconciliation functionality, OpenERP make its own search for entries to reconcile in a series of accounts. It tries to find entries for each partner where the amounts correspond.</field>
</record>
<menuitem

View File

@ -7,8 +7,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Close states of Fiscal year and periods">
<label string ="This wizard will definitelly close a fiscal year and its related periods. That means that no one will be able to create or modify journal entries in it." colspan="4"/>
<separator colspan="4" />
<separator string="Close states of Fiscal year and periods" colspan="4" />
<label string ="If no additional entries should be recorded on a fiscal year, you can close it from here. It will close all opened periods in this year that will make impossible any new entry record. Close a fiscal year when you need to finalize your end of year results definitive " colspan="4"/>
<newline/>
<field name="fy_id" domain = "[('state','=','draft')]" colspan="4"/>
<separator colspan="4" />
<group colspan="4" col="6">
@ -26,7 +27,6 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_account_fiscalyear_close_state"/>
<field name="target">new</field>
<field name="help">If no additional entries should be recorded on a fiscal year, you can close it from here. It will close all opened periods in this year that will make impossible any new entry record. Close a fiscal year when you need to finalize your end of year results definitive.</field>
</record>
<menuitem action="action_account_fiscalyear_close_state"

View File

@ -7,8 +7,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Generate Fiscal Year Opening Entries">
<separator string="Generate Fiscal Year Opening Entries" colspan="4"/>
<label string="This wizard will generate the end of year journal entries of selected fiscal year. Note that you can run this wizard many times for the same fiscal year: it will simply replace the old opening entries with the new ones." colspan="4"/>
<separator colspan="4"/>
<newline/>
<field name="fy_id" domain = "[('state','=','draft')]"/>
<field name="fy2_id" domain = "[('state','=','draft')]"/>
<field name="journal_id"/>

View File

@ -51,7 +51,7 @@ class account_move_journal(osv.osv_memory):
if context.get('journal_type', False):
jids = journal_pool.search(cr, uid, [('type','=', context.get('journal_type'))])
if not jids:
raise osv.except_osv(_('Configuration Error !'), _('Can\'t find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration\Financial Accounting\Accounts\Journals.' % (context.get('journal_type'))))
raise osv.except_osv(_('Configuration Error !'), _('Can\'t find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration/Financial Accounting/Accounts/Journals.') % context.get('journal_type'))
journal_id = jids[0]
return journal_id
@ -175,4 +175,4 @@ class account_move_journal(osv.osv_memory):
account_move_journal()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -8,7 +8,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Subscription Compute">
<separator string="Generate entries before:" colspan="4"/>
<separator string="Generate Entries before:" colspan="4"/>
<label string ="Automatically generate entries based on what has been entered in the system before a specific date." colspan="4" nolabel="1"/>
<newline/>
<field name="date"/>
<separator colspan="4" />
<group colspan="4" col="6">

View File

@ -41,8 +41,8 @@ class account_use_model(osv.osv_memory):
for line in model.lines_id:
if line.date_maturity == 'partner':
if not line.partner_id:
raise osv.except_osv(_('Error !'), _("Maturity date of entry line generated by model line '%s' is based on partner payment term! \
\nPlease define partner on it!"%(line.name)))
raise osv.except_osv(_('Error !'), _("Maturity date of entry line generated by model line '%s' is based on partner payment term!"\
"\nPlease define partner on it!")%line.name)
pass
def create_entries(self, cr, uid, ids, context=None):
@ -124,4 +124,4 @@ class account_use_model(osv.osv_memory):
account_use_model()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -9,7 +9,7 @@
<field name="arch" type="xml">
<form string="Create Entries From Models">
<separator string="This wizard will create recurring accounting entries" colspan="4"/>
<label string="Select recurring to create a manualy recurring accounting entries" width="400"/>
<label string="Create manual recurring entries in a chosen journal." width="400"/>
<field name="model" colspan="4" nolabel="1"/>
<separator colspan="4"/>
<group colspan="4" col="2">

View File

@ -8,6 +8,8 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Send followups">
<separator string="Send followups" colspan="4"/>
<label string ="This feature allows you to send reminders to partners with pending invoices. You can send them the default message for unpaid invoices or manually enter a message should you need to remind them of a specific information." colspan="4" nolabel="1"/>
<group col="4" colspan="6">
<field name="followup_id"/>
<field name="date"/>

View File

@ -540,7 +540,6 @@ class account_voucher(osv.osv):
return True
def do_check(self, cr, uid, ids, context=None):
cur_obj = self.pool.get('res.currency')
mod_obj = self.pool.get('ir.model.data')
if context is None:
context = {}

View File

@ -4,4 +4,4 @@
"access_board_note_type","board.note.type","model_board_note_type","base.group_user",1,1,1,1
"access_board_note","board.note","model_board_note","base.group_user",1,1,1,1
"access_board_board_sale_salesman","board.board.sale.salesman","model_board_board","base.group_sale_salesman",1,1,1,1
"access_res_log_report","res.log.report","model_res_log_report","base.group_user",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
4 access_board_note_type board.note.type model_board_note_type base.group_user 1 1 1 1
5 access_board_note board.note model_board_note base.group_user 1 1 1 1
6 access_board_board_sale_salesman board.board.sale.salesman model_board_board base.group_sale_salesman 1 1 1 1
7

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-10-18 17:46:34+0000\n"
"PO-Revision-Date: 2010-10-18 17:46:34+0000\n"
"POT-Creation-Date: 2010-11-15 18:44:53+0000\n"
"PO-Revision-Date: 2010-11-15 18:44:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -17,12 +17,8 @@ msgstr ""
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:0
#, python-format
msgid "You can not have 2 timesheets that overlaps !\nPlease use the menu \'My Current Timesheet\' to avoid this problem."
msgstr ""
#. module: hr_timesheet_sheet
#: constraint:hr_timesheet_sheet.sheet:0
#, python-format
msgid "You can not have 2 timesheets that overlaps !\n"
"Please use the menu 'My Current Timesheet' to avoid this problem."
msgstr ""
@ -166,6 +162,17 @@ msgstr ""
msgid "Refuse"
msgstr ""
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:0
#, python-format
msgid "You cannot enter an attendance date outside the current timesheet dates!"
msgstr ""
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,help:hr_timesheet_sheet.action_hr_timesheet_current_open
msgid "My Timesheet opens your timesheet so that you can book your activities into the system. From the same form, you can register your attendances (Sign In/Out) and describe the working hours made on the different projects. At the end of the period defined in the company, the timesheet is confirmed by the user and can be validated by his manager. If required, as defined on the project, you can generate the invoices based on the timesheet."
msgstr ""
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:0
#, python-format
@ -178,13 +185,6 @@ msgstr ""
msgid " Month-1 "
msgstr ""
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:0
#, python-format
msgid "You cannot enter an attendance ' \\n"
" 'date outside the current timesheet dates!"
msgstr ""
#. module: hr_timesheet_sheet
#: model:process.transition,name:hr_timesheet_sheet.process_transition_validatetimesheet0
msgid "Validation"
@ -201,13 +201,6 @@ msgstr ""
msgid "Employee's timesheet entry"
msgstr ""
#. module: hr_timesheet_sheet
#: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:0
#, python-format
msgid "You cannot enter an attendance ' \\n"
" 'date outside the current timesheet dates!"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
#: field:hr.timesheet.report,account_id:0
@ -266,6 +259,7 @@ msgid "Attendance"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
#: model:process.transition.action,name:hr_timesheet_sheet.process_transition_action_draftconfirmtimesheet0
msgid "Confirm"
msgstr ""
@ -275,6 +269,11 @@ msgstr ""
msgid "Timesheet lines"
msgstr ""
#. module: hr_timesheet_sheet
#: sql_constraint:ir.module.module:0
msgid "The name of the module must be unique !"
msgstr ""
#. module: hr_timesheet_sheet
#: field:hr_timesheet_sheet.sheet,state:0
#: view:timesheet.report:0
@ -298,6 +297,11 @@ msgstr ""
msgid "New"
msgstr ""
#. module: hr_timesheet_sheet
#: sql_constraint:ir.module.module:0
msgid "The certificate ID of the module must be unique !"
msgstr ""
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,name:hr_timesheet_sheet.action_week_attendance_graph
msgid "My Total Attendances By Week"
@ -429,6 +433,11 @@ msgstr ""
msgid "December"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "It will open your current timesheet"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr.timesheet.report:0
#: field:hr.timesheet.report,month:0
@ -469,6 +478,11 @@ msgstr ""
msgid "You must select a Current date which is in the timesheet dates !"
msgstr ""
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,help:hr_timesheet_sheet.action_hr_timesheet_report_stat_all
msgid "This report performs analysis on timesheets created by your human resources in the system. It allows you to have a full overview of entries done by your employees. You can group them by specific selection criteria thanks to the search tool."
msgstr ""
#. module: hr_timesheet_sheet
#: selection:hr_timesheet_sheet.sheet,state:0
#: view:timesheet.report:0
@ -612,11 +626,6 @@ msgstr ""
msgid "Companies"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "It will open the your current timesheet"
msgstr ""
#. module: hr_timesheet_sheet
#: field:hr.timesheet.report,quantity:0
msgid "Quantity"
@ -675,13 +684,13 @@ msgid "State is 'draft'."
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr.timesheet.current.open:0
msgid "Cancel"
#: sql_constraint:ir.rule:0
msgid "Rule must have at least one checked access right !"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet:0
msgid "Close"
#: view:hr.timesheet.current.open:0
msgid "Cancel"
msgstr ""
#. module: hr_timesheet_sheet
@ -694,6 +703,11 @@ msgstr ""
msgid "Open"
msgstr ""
#. module: hr_timesheet_sheet
#: sql_constraint:ir.model.fields:0
msgid "Size of the field can never be less than 1 !"
msgstr ""
#. module: hr_timesheet_sheet
#: view:hr_timesheet_sheet.sheet.account:0
msgid "Timesheet by Accounts"
@ -880,6 +894,11 @@ msgstr ""
msgid "#Total Attendance"
msgstr ""
#. module: hr_timesheet_sheet
#: model:ir.actions.act_window,help:hr_timesheet_sheet.act_hr_timesheet_sheet_form
msgid "This view allows you to check timesheet sheets following a specific period. You can also encode time spent on a project that is an analytic account and the time spent on a project generate costs on the analytic account."
msgstr ""
#. module: hr_timesheet_sheet
#: field:hr.timesheet.report,cost:0
msgid "Cost"

View File

@ -73,4 +73,3 @@ msgstr ""
#: model:account.account.type,name:l10n_de.account.account_type_other
msgid "Sonstige"
msgstr ""
s

View File

@ -73,4 +73,3 @@ msgstr ""
#: model:account.account.type,name:l10n_de.account.account_type_other
msgid "Sonstige"
msgstr ""
s

View File

@ -48,8 +48,9 @@
</group>
<separator colspan="4"/>
<group colspan="4" col="6">
<group colspan="4" col="8">
<field name="state" />
<button name="%(action_add_product)d" string="Add product" type="action" icon="gtk-ok" states="draft"/>
<button name="%(action_pos_payment)d" string="Make Payment" icon="terp-dolar" type="action" states="draft,advance" />
<button name="%(action_report_pos_receipt)d" string="Reprint" icon="gtk-print" type="action" states="paid,done,invoiced"/>
<button name="set_to_draft" string="Set to draft" states="paid" icon="gtk-execute" type="object" />

View File

@ -76,21 +76,22 @@ class add_product(osv.osv_memory):
context = {}
record_id = context and context.get('active_id', False)
order_obj= self.pool.get('pos.order')
this = self.browse(cr, uid, ids[0], context)
order_obj.add_product(cr, uid, record_id, this.product_id.id, this.quantity, context=context)
obj = order_obj.browse(cr, uid, record_id, context=context)
order_obj.write(cr, uid, [record_id], {'state': 'done'}, context=context)
if obj.amount_total != obj.amount_paid:
return {
'name': _('Make Payment'),
'context': context and context.get('active_id', False),
'view_type': 'form',
'view_mode': 'form',
'res_model': 'pos.make.payment',
'view_id': False,
'target': 'new',
'views': False,
'type': 'ir.actions.act_window',
}
return {}
return {
'name': _('Make Payment'),
'context': context and context.get('active_id', False),
'view_type': 'form',
'view_mode': 'form',
'res_model': 'pos.make.payment',
'view_id': False,
'target': 'new',
'views': False,
'type': 'ir.actions.act_window',
}
add_product()

View File

@ -340,8 +340,11 @@ class add_product(osv.osv_memory):
date_cur=time.strftime('%Y-%m-%d %H:%M:%S')
uom_obj = self.pool.get('product.uom')
return_boj=self.pool.get('pos.return')
return_id=return_boj.search(cr,uid,[])
data=return_boj.read(cr,uid,return_id,[])[0]
return_id = return_boj.search(cr,uid,[])
data = {}
if return_id:
data = return_boj.read(cr,uid,return_id,[])[0]
wf_service = netsvc.LocalService("workflow")
self_data = self.read(cr, uid, ids)[0]
order_obj.add_product(cr, uid, active_ids[0], self_data['product_id'], self_data['quantity'], context=context)

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-10-18 17:46:54+0000\n"
"PO-Revision-Date: 2010-10-18 17:46:54+0000\n"
"POT-Creation-Date: 2010-11-15 18:44:59+0000\n"
"PO-Revision-Date: 2010-11-15 18:44:59+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -55,10 +55,8 @@ msgid "Date on which this document has been created"
msgstr ""
#. module: purchase
#: view:purchase.order:0
#: view:purchase.order.line:0
#: view:purchase.report:0
msgid "Group By..."
#: selection:purchase.order,invoice_method:0
msgid "From Picking"
msgstr ""
#. module: purchase
@ -80,32 +78,21 @@ 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 ""
#. module: purchase
#: view:purchase.report:0
msgid "Extended filters..."
msgstr ""
#. module: purchase
#: view:purchase.order.line_invoice:0
msgid "Do you want to generate the supplier invoices ?"
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: no invoice will be pre-generated. The accountant will have to encode manually."
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#: code:addons/purchase/wizard/purchase_line_invoice.py:0
#, python-format
msgid "You must first cancel all picking attached to this purchase order."
msgid "Supplier Invoices"
msgstr ""
#. module: purchase
@ -145,6 +132,17 @@ msgstr ""
msgid "Company"
msgstr ""
#. module: purchase
#: help:res.company,po_lead:0
msgid "This is the leads/security time for each purchase order."
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, python-format
msgid "You must first cancel all picking attached to this purchase order."
msgstr ""
#. module: purchase
#: view:board.board:0
#: model:ir.actions.act_window,name:purchase.action_purchase_order_monthly_categ_graph
@ -241,6 +239,13 @@ msgstr ""
msgid "Notes"
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, 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
#: report:purchase.order:0
#: field:purchase.order,amount_tax:0
@ -296,6 +301,17 @@ msgstr ""
msgid "Cancelled"
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, 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
@ -340,8 +356,9 @@ msgid "Reference"
msgstr ""
#. module: purchase
#: selection:purchase.order,invoice_method:0
msgid "From Picking"
#: code:addons/purchase/purchase.py:0
#, python-format
msgid "Cannot delete Purchase Order(s) which are in %s State!"
msgstr ""
#. module: purchase
@ -350,14 +367,8 @@ msgid "Dest. Address Contact Name"
msgstr ""
#. module: purchase
#: view:purchase.order.group:0
msgid " Please note that: Orders will only be merged if: * Purchase Orders are in draft * Purchase Orders belong to the same supplier * Purchase Orders are have same stock location, same pricelist Lines will only be merged if: * Order lines are exactly the same except for the product,quantity and unit "
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, python-format
msgid "Cannot delete Purchase Order(s) which are in %s State!"
#: 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 did 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
@ -419,13 +430,6 @@ msgstr ""
msgid "It indicates that a picking has been done"
msgstr ""
#. module: purchase
#: code:addons/purchase/wizard/purchase_line_invoice.py:0
#, python-format
msgid "There is no expense account defined ' \\n"
" 'for this product: \"%s\" (id:%d)"
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, python-format
@ -487,6 +491,11 @@ msgstr ""
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.:"
@ -535,19 +544,21 @@ msgstr ""
msgid "To be Invoiced"
msgstr ""
#. module: purchase
#: sql_constraint:ir.module.module:0
msgid "The certificate ID of the module must be unique !"
msgstr ""
#. module: purchase
#: field:purchase.report,partner_address_id:0
msgid "Address Contact Name"
msgstr ""
#. module: purchase
#: report:purchase.order:0
msgid "Shipping address :"
msgstr ""
#. module: purchase
#: help:purchase.order,amount_total:0
msgid "The total amount"
#: 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
@ -557,6 +568,13 @@ msgstr ""
msgid "Error !"
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, 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:board.board:0
msgid "My Board"
@ -567,6 +585,11 @@ msgstr ""
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
#: constraint:product.pricelist.version:0
msgid "You cannot have 2 pricelist versions that overlap!"
@ -668,6 +691,11 @@ msgstr ""
msgid "There is no purchase journal defined for this company: \"%s\" (id:%d)"
msgstr ""
#. module: purchase
#: sql_constraint:ir.rule:0
msgid "Rule must have at least one checked access right !"
msgstr ""
#. module: purchase
#: selection:purchase.order,invoice_method:0
msgid "Manual"
@ -750,8 +778,8 @@ msgid "September"
msgstr ""
#. module: purchase
#: selection:purchase.report,month:0
msgid "December"
#: model:process.node,note:purchase.process_node_purchaseorder0
msgid "Confirmed purchase order to invoice"
msgstr ""
#. module: purchase
@ -771,9 +799,8 @@ msgid "Month"
msgstr ""
#. module: purchase
#: selection:purchase.order,state:0
#: selection:purchase.report,state:0
msgid "Waiting Supplier Ack"
#: 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
@ -792,6 +819,11 @@ msgstr ""
msgid "Total Untaxed amount"
msgstr ""
#. module: purchase
#: model:process.transition,note:purchase.process_transition_approvingpurchaseorder0
msgid "The supplier approves the Purchase Order."
msgstr ""
#. module: purchase
#: field:purchase.order,shipped:0
#: field:purchase.order,shipped_rate:0
@ -799,8 +831,8 @@ msgid "Received"
msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Confirm Purchase Order"
#: model:process.node,note:purchase.process_node_packinglist0
msgid "List of ordered products."
msgstr ""
#. module: purchase
@ -838,6 +870,7 @@ msgid "Invoiced"
msgstr ""
#. module: purchase
#: view:purchase.report:0
#: field:purchase.report,category_id:0
msgid "Category"
msgstr ""
@ -870,12 +903,6 @@ msgstr ""
msgid "Purchase Order Line"
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, python-format
msgid "You have to select a partner in the purchase form !\nPlease set one partner before choosing a product."
msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Calendar View"
@ -908,12 +935,6 @@ msgstr ""
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
#: code:addons/purchase/purchase.py:0
#, python-format
msgid "You have to select a pricelist or a supplier in the purchase form !\nPlease set one before choosing a product."
msgstr ""
#. module: purchase
#: field:purchase.order,amount_untaxed:0
msgid "Untaxed Amount"
@ -925,8 +946,9 @@ 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"
#: model:ir.actions.act_window,help:purchase.purchase_form_action
msgid "From the Purchase Orders menu, you can track the status of your orders: products received, invoice received and controlled.\n"
""
msgstr ""
#. module: purchase
@ -955,14 +977,25 @@ msgstr ""
msgid "June"
msgstr ""
#. module: purchase
#: sql_constraint:res.groups:0
msgid "The name of the group must be unique !"
msgstr ""
#. module: purchase
#: model:ir.model,name:purchase.model_purchase_report
msgid "Purchases Orders"
msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Delivery & Invoices"
#: view:purchase.order.line:0
msgid "Manual Invoices"
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#, python-format
msgid "Somebody has just confirmed a purchase with an amount over the defined limit"
msgstr ""
#. module: purchase
@ -971,12 +1004,13 @@ msgid "November"
msgstr ""
#. module: purchase
#: help:purchase.order,origin:0
msgid "Reference of the document that generated this purchase order request."
#: view:purchase.report:0
msgid "Extended Filters..."
msgstr ""
#. module: purchase
#: code:addons/purchase/purchase.py:0
#: code:addons/purchase/wizard/purchase_line_invoice.py:0
#, python-format
msgid "There is no expense account defined for this product: \"%s\" (id:%d)"
msgstr ""
@ -988,8 +1022,14 @@ msgid "You must first cancel all invoices attached to this purchase order."
msgstr ""
#. module: purchase
#: view:purchase.order.line:0
msgid "Manual Invoices"
#: model:ir.actions.act_window,help:purchase.action_invoice_pending
msgid "Use this menu to control the invoices to be received by your supplier. OpenERP pre-generates draft of invoices based on your purchase orders or your receptions. Once you receive a supplier invoice, you can control it according to the draft of invoice and validate it."
msgstr ""
#. module: purchase
#: code:addons/purchase/wizard/purchase_order_group.py:0
#, python-format
msgid "Please select multiple order to merge in the list view."
msgstr ""
#. module: purchase
@ -1087,8 +1127,13 @@ msgid "Days to Validate"
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."
#: help:purchase.order,origin:0
msgid "Reference of the document that generated this purchase order request."
msgstr ""
#. module: purchase
#: sql_constraint:ir.module.module:0
msgid "The name of the module must be unique !"
msgstr ""
#. module: purchase
@ -1108,9 +1153,17 @@ msgid "Date on which purchase order has been approved"
msgstr ""
#. module: purchase
#: selection:purchase.order,state:0
#: selection:purchase.report,state:0
msgid "Waiting"
#: 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
@ -1146,8 +1199,8 @@ msgid "Invoice"
msgstr ""
#. module: purchase
#: model:process.node,note:purchase.process_node_purchaseorder0
msgid "Confirmed purchase order to invoice"
#: selection:purchase.report,month:0
msgid "December"
msgstr ""
#. module: purchase
@ -1166,8 +1219,8 @@ msgid "Purchase Order Lines"
msgstr ""
#. module: purchase
#: model:process.transition,note:purchase.process_transition_approvingpurchaseorder0
msgid "The supplier approves the Purchase Order."
#: sql_constraint:ir.model.fields:0
msgid "Size of the field can never be less than 1 !"
msgstr ""
#. module: purchase
@ -1232,11 +1285,6 @@ msgstr ""
msgid "Our Order Reference"
msgstr ""
#. module: purchase
#: field:purchase.order.line,date_planned:0
msgid "Scheduled date"
msgstr ""
#. module: purchase
#: view:purchase.order:0
#: view:purchase.order.line:0
@ -1267,6 +1315,12 @@ msgstr ""
msgid "Could not cancel this purchase order !"
msgstr ""
#. module: purchase
#: selection:purchase.order,state:0
#: selection:purchase.report,state:0
msgid "Waiting Supplier Ack"
msgstr ""
#. module: purchase
#: report:purchase.order:0
#: field:purchase.order.line,price_unit:0
@ -1274,9 +1328,18 @@ msgid "Unit Price"
msgstr ""
#. module: purchase
#: code:addons/purchase/wizard/purchase_line_invoice.py:0
#, python-format
msgid "Supplier Invoices"
#: view:purchase.order:0
msgid "Delivery & Invoicing"
msgstr ""
#. module: purchase
#: model:ir.actions.act_window,help:purchase.purchase_rfq
msgid "With the Requests for quotation menu you can create new request for quotations, review existing one and confirm them to order once the supplier offer is approved. When you confirm a RfQ, OpenERP will convert it to a Purchase Order and generate the next steps: draft reception of the products, invoice to control."
msgstr ""
#. module: purchase
#: field:purchase.order.line,date_planned:0
msgid "Scheduled Date"
msgstr ""
#. module: purchase
@ -1302,8 +1365,8 @@ msgid "Description"
msgstr ""
#. module: purchase
#: help:res.company,po_lead:0
msgid "This is the leads/security time for each purchase order."
#: model:process.node,note:purchase.process_node_packinginvoice0
msgid "Outgoing products to invoice"
msgstr ""
#. module: purchase
@ -1316,6 +1379,11 @@ msgstr ""
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 your relationship with them. You can track all your interactions with them through the history tab: emails, orders, meeting, etc."
msgstr ""
#. module: purchase
#: field:purchase.order.line,invoice_lines:0
msgid "Invoice Lines"
@ -1344,6 +1412,12 @@ msgstr ""
msgid "Qty"
msgstr ""
#. module: purchase
#: selection:purchase.order,state:0
#: selection:purchase.report,state:0
msgid "Waiting"
msgstr ""
#. module: purchase
#: field:purchase.order,partner_address_id:0
msgid "Address"
@ -1406,6 +1480,11 @@ msgstr ""
msgid "Date Ordered"
msgstr ""
#. module: purchase
#: report:purchase.order:0
msgid "Shipping address :"
msgstr ""
#. module: purchase
#: view:purchase.order:0
msgid "Purchase Control"
@ -1491,6 +1570,13 @@ msgstr ""
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"
@ -1502,8 +1588,8 @@ msgid "TVA :"
msgstr ""
#. module: purchase
#: model:process.node,note:purchase.process_node_packinglist0
msgid "List of ordered products."
#: help:purchase.order,amount_total:0
msgid "The total amount"
msgstr ""
#. module: purchase
@ -1521,12 +1607,6 @@ msgstr ""
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
#: code:addons/purchase/wizard/purchase_order_group.py:0
#, python-format
msgid "Please select multiple order to merge in the list view."
msgstr ""
#. module: purchase
#: view:purchase.report:0
#: field:purchase.report,name:0

View File

@ -10,13 +10,13 @@
<separator string="Are you sure you want to merge these orders ?" colspan="4"/>
<newline/>
<label string="
Please note that: &#13; &#13;
Orders will only be merged if: &#13;
* Purchase Orders are in draft &#13;
* Purchase Orders belong to the same supplier &#13;
* Purchase Orders are have same stock location, same pricelist &#13; &#13;
Lines will only be merged if: &#13;
* Order lines are exactly the same except for the product,quantity and unit &#13;
Please note that: &#10; &#10;
Orders will only be merged if: &#10;
* Purchase Orders are in draft &#10;
* Purchase Orders belong to the same supplier &#10;
* Purchase Orders are have same stock location, same pricelist &#10; &#10;
Lines will only be merged if: &#10;
* Order lines are exactly the same except for the product,quantity and unit &#10;
" colspan="4"/>
<newline/>
<separator string="" colspan="4" />