[MERGE]
authorjas <jas@tinyerp.com>
Tue, 26 Oct 2010 11:09:17 +0000 (16:39 +0530)
committerjas <jas@tinyerp.com>
Tue, 26 Oct 2010 11:09:17 +0000 (16:39 +0530)
bzr revid: jas@tinyerp.com-20101026110917-u5fh6n2cn1uo0g5u

135 files changed:
addons/account/account.py
addons/account/account_bank_statement.py
addons/account/account_cash_statement.py
addons/account/account_move_line.py
addons/account/account_view.xml
addons/account/i18n/es.po
addons/account/i18n/es_EC.po
addons/account/i18n/it.po
addons/account/i18n/mn.po
addons/account/i18n/ru.po
addons/account/i18n/sr.po
addons/account/installer.py
addons/account/invoice.py
addons/account/project/project.py
addons/account/project/project_view.xml
addons/account/report/account_balance_sheet.py
addons/account/report/account_invoice_report_view.xml
addons/account/report/account_partner_balance.py
addons/account/report/account_print_overdue.py
addons/account/report/account_profit_horizontal.rml
addons/account/report/account_profit_loss.py
addons/account/report/account_profit_loss.rml
addons/account/report/account_tax_code.py
addons/account/report/account_tax_report.py
addons/account/report/account_tax_report.rml
addons/account/report/rml_parse.py
addons/account/test/account_cash_statement.yml
addons/account/test/account_report.yml
addons/account/wizard/account_chart.py
addons/account/wizard/account_invoice_refund.py
addons/account/wizard/account_move_journal.py
addons/account/wizard/account_move_line_select.py
addons/account/wizard/account_move_line_unreconcile_select.py
addons/account/wizard/account_state_open.py
addons/account/wizard/account_unreconcile.py
addons/account/wizard/account_use_model.py
addons/account/wizard/account_validate_account_move.py
addons/account/wizard/account_vat.py
addons/account/wizard/account_vat_view.xml
addons/account_analytic_analysis/i18n/es.po
addons/account_analytic_analysis/i18n/sr.po
addons/account_analytic_default/i18n/sr.po
addons/account_analytic_plans/i18n/sr.po
addons/account_budget/i18n/es.po
addons/account_coda/account_coda.py
addons/account_coda/account_coda_view.xml
addons/account_followup/i18n/es.po
addons/account_invoice_layout/test/account_invoice_layout_report.yml
addons/account_payment/__openerp__.py
addons/account_payment/account_invoice.py
addons/account_payment/account_move_line.py
addons/account_payment/account_payment.py
addons/account_payment/report/payment_order.py
addons/account_payment/wizard/__init__.py
addons/account_payment/wizard/account_payment_order.py
addons/account_payment/wizard/account_payment_pay.py
addons/account_payment/wizard/account_payment_populate_statement.py
addons/account_reporting/__init__.py
addons/account_reporting/__openerp__.py
addons/account_reporting/account.py [deleted file]
addons/account_reporting/account_data.xml [deleted file]
addons/account_reporting/account_report.xml [deleted file]
addons/account_reporting/account_reporting.py [new file with mode: 0644]
addons/account_reporting/account_reporting_data.xml [new file with mode: 0644]
addons/account_reporting/account_reporting_view.xml [new file with mode: 0644]
addons/account_reporting/account_view.xml [deleted file]
addons/account_reporting/i18n/sr.po
addons/account_reporting/report/account_report_bs.py
addons/account_reporting/wizard/account_reporting_balance_report.py
addons/account_reporting/wizard/account_reporting_balance_report_view.xml
addons/account_voucher/__openerp__.py
addons/account_voucher/account_voucher.py
addons/account_voucher/i18n/ru.po
addons/account_voucher/i18n/sr.po
addons/account_voucher/invoice.py
addons/account_voucher/test/account_voucher.yml
addons/account_voucher/voucher_sales_purchase_view.xml
addons/analytic/analytic.py
addons/analytic/i18n/sr.po
addons/base_calendar/base_calendar.py
addons/base_contact/i18n/ru.po
addons/base_vat/i18n/ru.po
addons/claim_from_delivery/i18n/es.po
addons/crm/i18n/nl.po
addons/crm/i18n/pl.po
addons/crm_profiling/i18n/ru.po
addons/delivery/i18n/ru.po
addons/event/event_view.xml
addons/hr/i18n/pl.po
addons/hr_evaluation/hr_evaluation.py
addons/hr_holidays/i18n/pl.po
addons/hr_payroll/i18n/sv.po
addons/hr_payroll/report/report_employees_detail.py
addons/hr_payroll/report/report_year_salary.py
addons/hr_timesheet/i18n/it.po
addons/hr_timesheet_sheet/hr_timesheet_sheet.py
addons/l10n_ch/test/l10n_ch_report.yml
addons/l10n_lu/test/l10n_lu_report.yml
addons/membership/membership.py
addons/membership/membership_view.xml
addons/membership/report/__init__.py
addons/membership/report/report_membership.py
addons/membership/report/report_membership_view.xml
addons/mrp/i18n/pl.po
addons/multi_company/i18n/ru.po
addons/point_of_sale/account_bank_statement.py
addons/point_of_sale/i18n/sv.po
addons/procurement/i18n/ru.po
addons/product/i18n/ru.po
addons/product/product.py
addons/purchase/i18n/ru.po
addons/purchase_analytic_plans/i18n/ru.po
addons/report_intrastat/test/report_instratat_report.yml
addons/sale/i18n/ru.po
addons/sale/report/sale_report.py
addons/sale/sale.py
addons/sale/stock.py
addons/sale/test/so_make_invoice.yml
addons/sale/wizard/sale_line_invoice.py
addons/sale/wizard/sale_make_invoice.py
addons/sale/wizard/sale_make_invoice_advance.py
addons/sale_analytic_plans/i18n/ru.po
addons/sale_analytic_plans/sale_analytic_plans.py
addons/sale_analytic_plans/sale_analytic_plans_view.xml
addons/sale_crm/wizard/crm_make_sale.py
addons/sale_journal/sale_journal.py
addons/sale_layout/report/report_sale_layout.py
addons/sale_layout/sale_layout.py
addons/sale_margin/sale_margin.py
addons/sale_mrp/i18n/ru.po [new file with mode: 0644]
addons/sale_mrp/sale_mrp.py
addons/sale_order_dates/sale_order_dates.py
addons/sale_order_dates/sale_order_dates_view.xml
addons/stock/i18n/ru.po
addons/wiki_faq/i18n/ru.po [new file with mode: 0644]

index ecadfaf..ea0b98e 100644 (file)
@@ -458,7 +458,7 @@ class account_account(osv.osv):
                 ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit)
             if not ids and len(name.split()) >= 2:
                 #Separating code and name of account for searching
-                operand1,operand2 = name.split(' ',1) #name can contain spaces e.g. OpenERP S.A. 
+                operand1,operand2 = name.split(' ',1) #name can contain spaces e.g. OpenERP S.A.
                 ids = self.search(cr, user, [('code', operator, operand1), ('name', operator, operand2)]+ args, limit=limit)
         else:
             ids = self.search(cr, user, args, context=context, limit=limit)
@@ -2542,7 +2542,22 @@ class wizard_multi_charts_accounts(osv.osv_memory):
         'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Bank Accounts', required=True),
         'code_digits':fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"),
         'seq_journal':fields.boolean('Separated Journal Sequences', help="Check this box if you want to use a different sequence for each created journal. Otherwise, all will use the same sequence."),
+        "sale_tax": fields.many2one("account.tax.template", "Sale Tax"),
+        "purchase_tax": fields.many2one("account.tax.template", "Purchase Tax"),
     }
+    def onchange_chart_template_id(self, cr, uid, ids, chart_template_id=False, context=None):
+        res = {}
+        res['value'] = {}
+        res['value']["sale_tax"] = False
+        res['value']["purchase_tax"] = False
+        if chart_template_id:
+            ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
+                                          , "=", chart_template_id)], order="sequence")
+            if len(ids) > 0:
+                id=ids[0]
+                res['value']["sale_tax"] = id
+                res['value']["purchase_tax"] = id
+        return res
 
     def _get_chart(self, cr, uid, context={}):
         ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context)
@@ -2604,6 +2619,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
             tax_code_template_ref[tax_code_template.id] = new_tax_code
 
         #create all the tax
+        tax_template_to_tax = {}
         for tax in obj_multi.chart_template_id.tax_template_ids:
             #create it
             vals_tax = {
@@ -2632,6 +2648,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
                 'type_tax_use': tax.type_tax_use
             }
             new_tax = obj_acc_tax.create(cr, uid, vals_tax)
+            tax_template_to_tax[tax.id] = new_tax
             #as the accounts have not been created yet, we have to wait before filling these fields
             todo_dict[new_tax] = {
                 'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
@@ -2856,6 +2873,12 @@ class wizard_multi_charts_accounts(osv.osv_memory):
                     }
                     obj_ac_fp.create(cr, uid, vals_acc)
 
+        ir_values = self.pool.get('ir.values')
+        ir_values.set(cr, uid, key='default', key2=False, name="taxes_id", company=obj_multi.company_id.id
+                      , models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.sale_tax.id]])
+        ir_values.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=obj_multi.company_id.id
+                      , models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.purchase_tax.id]])
+
 wizard_multi_charts_accounts()
 
 class account_bank_accounts_wizard(osv.osv_memory):
index c6548a3..ded29c2 100644 (file)
@@ -38,12 +38,13 @@ class account_bank_statement(osv.osv):
 
     def write(self, cr, uid, ids, vals, context=None):
         res = super(account_bank_statement, self).write(cr, uid, ids, vals, context=context)
+        account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
         for statement in self.browse(cr, uid, ids, context):
             seq = 0
             for line in statement.line_ids:
                 seq += 1
                 if not line.sequence:
-                    self.pool.get('account.bank.statement.line').write(cr, uid, [line.id], {'sequence': seq}, context=context)
+                    account_bank_statement_line_obj.write(cr, uid, [line.id], {'sequence': seq}, context=context)
         return res
 
     def button_import_invoice(self, cr, uid, ids, context=None):
@@ -381,13 +382,14 @@ class account_bank_statement(osv.osv):
 
     def button_cancel(self, cr, uid, ids, context=None):
         done = []
+        account_move_obj = self.pool.get('account.move')
         for st in self.browse(cr, uid, ids, context):
             if st.state=='draft':
                 continue
             ids = []
             for line in st.line_ids:
                 ids += [x.id for x in line.move_ids]
-            self.pool.get('account.move').unlink(cr, uid, ids, context)
+            account_move_obj.unlink(cr, uid, ids, context)
             done.append(st.id)
         return self.write(cr, uid, done, {'state':'draft'}, context=context)
 
@@ -496,4 +498,4 @@ class account_bank_statement_line(osv.osv):
 
 account_bank_statement_line()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 454290c..0776732 100644 (file)
@@ -23,7 +23,6 @@
 import time
 
 from osv import osv, fields
-from decimal import Decimal
 from tools.translate import _
 import decimal_precision as dp
 
@@ -53,14 +52,14 @@ class account_cashbox_line(osv.osv):
         @param number:
         """
         sub = pieces * number
-        return {'value':{'subtotal': sub or 0.0}}
+        return {'value': {'subtotal': sub or 0.0}}
 
     _columns = {
         'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
         'number': fields.integer('Number'),
         'subtotal': fields.function(_sub_total, method=True, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')),
-        'starting_id': fields.many2one('account.bank.statement',ondelete='cascade'),
-        'ending_id': fields.many2one('account.bank.statement',ondelete='cascade'),
+        'starting_id': fields.many2one('account.bank.statement', ondelete='cascade'),
+        'ending_id': fields.many2one('account.bank.statement', ondelete='cascade'),
      }
 
 account_cashbox_line()
@@ -86,7 +85,7 @@ class account_cash_statement(osv.osv):
             for line in statement.starting_details_ids:
                 amount_total+= line.pieces * line.number
             res[statement.id] = {
-                'balance_start':amount_total
+                'balance_start': amount_total
             }
         return res
 
@@ -166,13 +165,13 @@ class account_cash_statement(osv.osv):
         curr = [1, 2, 5, 10, 20, 50, 100, 500]
         for rs in curr:
             dct = {
-                'pieces':rs,
-                'number':0
+                'pieces': rs,
+                'number': 0
             }
             res.append(dct)
-        journal_ids = self.pool.get('account.journal').search(cr, uid, [('type','=','cash')], context=context)
+        journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash')], context=context)
         if journal_ids:
-            results = self.search(cr, uid, [('journal_id','in',journal_ids),('state','=','confirm')],context=context)
+            results = self.search(cr, uid, [('journal_id', 'in', journal_ids),('state', '=', 'confirm')], context=context)
             if results:
                 cash_st = self.browse(cr, uid, results, context)[0]
                 for cash_line in cash_st.ending_details_ids:
@@ -186,8 +185,8 @@ class account_cash_statement(osv.osv):
         curr = [1, 2, 5, 10, 20, 50, 100, 500]
         for rs in curr:
             dct = {
-                'pieces':rs,
-                'number':0
+                'pieces': rs,
+                'number': 0
             }
             res.append(dct)
         return res
@@ -197,10 +196,10 @@ class account_cash_statement(osv.osv):
         curr = [1, 2, 5, 10, 20, 50, 100, 500]
         for rs in curr:
             dct = {
-                'pieces':rs,
-                'number':0
+                'pieces': rs,
+                'number': 0
             }
-            res.append((0,0,dct))
+            res.append((0, 0, dct))
         return res
 
     def _get_cash_open_close_box_lines(self, cr, uid, context={}):
@@ -210,41 +209,41 @@ class account_cash_statement(osv.osv):
         starting_details = self._get_cash_open_box_lines(cr, uid, context)
         ending_details = self._get_default_cash_close_box_lines(cr, uid, context)
         for start in starting_details:
-            start_l.append((0,0,start))
+            start_l.append((0, 0, start))
         for end in ending_details:
-            end_l.append((0,0,end))
+            end_l.append((0, 0, end))
         res['start'] = start_l
         res['end'] = end_l
         return res
 
     _columns = {
-        'balance_end_real': fields.float('Closing Balance', digits_compute=dp.get_precision('Account'), states={'confirm':[('readonly', True)]}, help="closing balance entered by the cashbox verifier"),
+        'balance_end_real': fields.float('Closing Balance', digits_compute=dp.get_precision('Account'), states={'confirm': [('readonly', True)]}, help="closing balance entered by the cashbox verifier"),
         'state': fields.selection(
             [('draft', 'Draft'),
             ('confirm', 'Closed'),
             ('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"),
-        'total_entry_encoding':fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
-        'closing_date':fields.datetime("Closed On"),
+        'total_entry_encoding': fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
+        'closing_date': fields.datetime("Closed On"),
         'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"),
         'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"),
         'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
         'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),
         'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'),
-        'user_id':fields.many2one('res.users', 'Responsible', required=False),
+        'user_id': fields.many2one('res.users', 'Responsible', required=False),
     }
     _defaults = {
         'state': 'draft',
         'date': time.strftime("%Y-%m-%d %H:%M:%S"),
         'user_id': lambda self, cr, uid, context=None: uid,
-        'starting_details_ids':_get_cash_open_box_lines,
-        'ending_details_ids':_get_default_cash_close_box_lines
+        'starting_details_ids': _get_cash_open_box_lines,
+        'ending_details_ids': _get_default_cash_close_box_lines
      }
 
     def create(self, cr, uid, vals, context=None):
         if 'journal_id' not in vals:
             raise osv.except_osv('Error', _('You cannot create a bank or cash register without a journal!'))
         sql = [
-                ('journal_id', '=', vals['journal_id']),
+                ('journal_id', '=', vals.get('journal_id', False)),
                 ('state', '=', 'open')
         ]
         open_jrnl = self.search(cr, uid, sql)
@@ -253,20 +252,20 @@ class account_cash_statement(osv.osv):
 
         if self.pool.get('account.journal').browse(cr, uid, vals['journal_id']).type == 'cash':
             open_close = self._get_cash_open_close_box_lines(cr, uid, context)
-            if vals.get('starting_details_ids',False):
+            if vals.get('starting_details_ids', False):
                 for start in vals.get('starting_details_ids'):
                     dict_val = start[2]
                     for end in open_close['end']:
                        if end[2]['pieces'] == dict_val['pieces']:
                            end[2]['number'] += dict_val['number']
             vals.update({
-                'ending_details_ids':open_close['start'],
-                'starting_details_ids':open_close['end']
+#                'ending_details_ids': open_close['start'],
+                'starting_details_ids': open_close['end']
             })
         else:
             vals.update({
-                'ending_details_ids':False,
-                'starting_details_ids':False
+                'ending_details_ids': False,
+                'starting_details_ids': False
             })
         res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context)
         self.write(cr, uid, [res_id], {})
@@ -298,8 +297,6 @@ class account_cash_statement(osv.osv):
         @param journal_id: Changed journal_id
         @return:  Dictionary of changed values
         """
-        cash_pool = self.pool.get('account.cashbox.line')
-        statement_pool = self.pool.get('account.bank.statement')
         res = {}
         balance_start = 0.0
 
@@ -319,34 +316,35 @@ class account_cash_statement(osv.osv):
         else:
             return True
 
-    def _user_allow(self, cr, uid, ids, statement, context={}):
+    def _user_allow(self, cr, uid, statement_id, context=None):
         return True
 
     def button_open(self, cr, uid, ids, context=None):
-
         """ Changes statement state to Running.
         @return: True
         """
-        cash_pool = self.pool.get('account.cashbox.line')
+        if context is None:
+            context = {}
         statement_pool = self.pool.get('account.bank.statement')
-        statement = statement_pool.browse(cr, uid, ids[0])
-        vals = {}
+        for statement in statement_pool.browse(cr, uid, ids, context=context):
+            vals = {}
 
-        if not self._user_allow(cr, uid, ids, statement, context={}):
-            raise osv.except_osv(_('Error !'), _('User %s does not have rights to access %s journal !' % (statement.user_id.name, statement.journal_id.name)))
+            if not self._user_allow(cr, uid, statement.id, context=context):
+                raise osv.except_osv(_('Error !'), _('User %s does not have rights to access %s journal !' % (statement.user_id.name, statement.journal_id.name)))
 
-        if statement.name and statement.name == '/':
-            number = self.pool.get('ir.sequence').get(cr, uid, 'account.cash.statement')
-            vals.update({
-                'name': number
-            })
+            if statement.name and statement.name == '/':
+                number = self.pool.get('ir.sequence').get(cr, uid, 'account.cash.statement')
+                vals.update({
+                    'name': number
+                })
 
-        vals.update({
-            'date':time.strftime("%Y-%m-%d %H:%M:%S"),
-            'state':'open',
+            vals.update({
+                'date': time.strftime("%Y-%m-%d %H:%M:%S"),
+                'state': 'open',
 
-        })
-        return self.write(cr, uid, ids, vals)
+            })
+            self.write(cr, uid, [statement.id], vals)
+        return True
 
     def balance_check(self, cr, uid, cash_id, journal_type='bank', context=None):
         if journal_type == 'bank':
@@ -371,14 +369,14 @@ class account_cash_statement(osv.osv):
 
     def button_confirm_cash(self, cr, uid, ids, context=None):
         super(account_cash_statement, self).button_confirm_bank(cr, uid, ids, context=context)
-        return self.write(cr, uid, ids, {'closing_date':time.strftime("%Y-%m-%d %H:%M:%S")}, context=context)
+        return self.write(cr, uid, ids, {'closing_date': time.strftime("%Y-%m-%d %H:%M:%S")}, context=context)
 
     def button_cancel(self, cr, uid, ids, context=None):
         cash_box_line_pool = self.pool.get('account.cashbox.line')
         super(account_cash_statement, self).button_cancel(cr, uid, ids, context=context)
         for st in self.browse(cr, uid, ids, context):
             for end in st.ending_details_ids:
-                cash_box_line_pool.write(cr, uid, [end.id], {'number':0})
+                cash_box_line_pool.write(cr, uid, [end.id], {'number': 0})
         return True
 
 account_cash_statement()
index af7771e..ffea121 100644 (file)
@@ -177,7 +177,7 @@ class account_move_line(osv.osv):
                     for item in i[2]:
                             data[item] = i[2][item]
             if context['journal']:
-                journal_data = obj_journal.browse(cr, uid, context['journal'])
+                journal_data = journal_obj.browse(cr, uid, context['journal'])
                 if journal_data.type == 'purchase':
                     if total_new > 0:
                         account = journal_data.default_credit_account_id
@@ -293,6 +293,8 @@ class account_move_line(osv.osv):
         return data
 
     def on_create_write(self, cr, uid, id, context={}):
+        if not id:
+            return []
         ml = self.browse(cr, uid, id, context)
         return map(lambda x: x.id, ml.move_id.line_id)
 
@@ -363,7 +365,7 @@ class account_move_line(osv.osv):
             return [('id', '=', '0')]
         return [('id', 'in', [x[0] for x in res])]
 
-    def _invoice_search(self, cursor, user, obj, name, args, context):
+    def _invoice_search(self, cursor, user, obj, name, args, context=None):
         if not args:
             return []
         invoice_obj = self.pool.get('account.invoice')
@@ -408,7 +410,7 @@ class account_move_line(osv.osv):
             return [('id', '=', '0')]
         return [('id', 'in', [x[0] for x in res])]
 
-    def _get_move_lines(self, cr, uid, ids, context={}):
+    def _get_move_lines(self, cr, uid, ids, context=None):
         result = []
         for move in self.pool.get('account.move').browse(cr, uid, ids, context=context):
             for line in move.line_id:
@@ -458,7 +460,7 @@ class account_move_line(osv.osv):
         'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
     }
 
-    def _get_date(self, cr, uid, context):
+    def _get_date(self, cr, uid, context=None):
         period_obj = self.pool.get('account.period')
         dt = time.strftime('%Y-%m-%d')
         if ('journal_id' in context) and ('period_id' in context):
@@ -474,7 +476,9 @@ class account_move_line(osv.osv):
                 dt = period.date_start
         return dt
 
-    def _get_currency(self, cr, uid, context={}):
+    def _get_currency(self, cr, uid, context=None):
+        if context is None:
+            context = {}
         if not context.get('journal_id', False):
             return False
         cur = self.pool.get('account.journal').browse(cr, uid, context['journal_id']).currency
@@ -1126,6 +1130,8 @@ class account_move_line(osv.osv):
                         'period_id': context['period_id'],
                         'journal_id': context['journal_id']
                     }
+                    if vals.get('ref', ''):
+                        v.update({'ref': vals['ref']})
                     move_id = move_obj.create(cr, uid, v, context)
                     vals['move_id'] = move_id
                 else:
@@ -1243,4 +1249,4 @@ class account_move_line(osv.osv):
 
 account_move_line()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 9232a53..922256d 100644 (file)
 
 
         <menuitem
-             name="Manual Reconcilication" icon="STOCK_EXECUTE"
+             name="Manual Reconciliation" icon="STOCK_EXECUTE"
              action="action_account_manual_reconcile"
              id="menu_manual_reconcile"
              parent="account.periodical_processing_reconciliation"/>
                 <group string="res_config_contents" position="replace">
                     <field name="company_id" widget="selection"/>
                     <field name ="code_digits" groups="base.group_extended"/>
-                    <field name="chart_template_id" widget="selection"/>
+                    <field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)"/>
                     <field name ="seq_journal" groups="base.group_extended"/>
+                  <field name="sale_tax" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False)]"/>
+                  <field name="purchase_tax" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False)]"/>
                     <field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
                         <form string="Bank Information">
                             <field name="acc_name"/>
index 3470658..1e4fdb2 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-10-24 21:56+0000\n"
-"Last-Translator: Carlos @ smile.fr <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:09+0000\n"
+"Last-Translator: Carlos-smile <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account
index d655142..9affb3c 100644 (file)
@@ -14,7 +14,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account
index 8f7225d..0b82719 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-10-20 07:22+0000\n"
-"Last-Translator: Lorenzo Battistini <lorenzo.battistini@domsense.com>\n"
+"PO-Revision-Date: 2010-10-25 21:04+0000\n"
+"Last-Translator: Davide Corio - Domsense <davide.corio@domsense.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-10-21 05:02+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account
@@ -372,7 +372,7 @@ msgstr "Contabilità Analitica"
 #: field:account.tax,child_depend:0
 #: field:account.tax.template,child_depend:0
 msgid "Tax on Children"
-msgstr ""
+msgstr "Calcolo su tasse figlie"
 
 #. module: account
 #: rml:account.central.journal:0
@@ -416,7 +416,7 @@ msgstr "Riconciliazione dei pagamenti"
 #. module: account
 #: model:account.journal,name:account.expenses_journal
 msgid "Journal de frais"
-msgstr ""
+msgstr "Giornale Acquisti"
 
 #. module: account
 #: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
@@ -494,7 +494,7 @@ msgstr "Rif"
 #. module: account
 #: field:account.tax.template,type_tax_use:0
 msgid "Tax Use In"
-msgstr ""
+msgstr "Tassa usata per"
 
 #. module: account
 #: help:account.tax.template,include_base_amount:0
@@ -572,7 +572,7 @@ msgstr "Linea"
 #. module: account
 #: rml:account.analytic.account.cost_ledger:0
 msgid "J.C. or Move name"
-msgstr ""
+msgstr "J.C. o nome movimento"
 
 #. module: account
 #: selection:account.tax,applicable_type:0
@@ -634,7 +634,7 @@ msgstr "(Tenere vuoto per aprire la situazione corrente)"
 #. module: account
 #: model:ir.model,name:account.model_account_fiscal_position_account
 msgid "Accounts Fiscal Mapping"
-msgstr ""
+msgstr "Mappatura Posizioni Fiscali"
 
 #. module: account
 #: field:account.analytic.account,contact_id:0
@@ -666,7 +666,7 @@ msgstr "Sconto (%)"
 #: wizard_field:account.move.line.reconcile,init_full,writeoff:0
 #: wizard_field:account.move.line.reconcile,init_partial,writeoff:0
 msgid "Write-Off amount"
-msgstr ""
+msgstr "Conto per storno"
 
 #. module: account
 #: help:account.fiscalyear,company_id:0
index 63ac769..55d3114 100644 (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: 2010-10-21 09:08+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2010-10-26 04:01+0000\n"
+"Last-Translator: sugi <Unknown>\n"
 "Language-Team: Mongolian <mn@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-10-22 04:40+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account
@@ -5204,7 +5204,7 @@ msgstr "Дансны татварын кодны загвар"
 #. module: account
 #: view:account.subscription:0
 msgid "Subscription Periods"
-msgstr ""
+msgstr "Баталгааны мөчлөгүүд"
 
 #. module: account
 #: model:process.node,name:account.process_node_manually0
@@ -5484,7 +5484,7 @@ msgstr "Баримтын бичилт"
 #: model:ir.actions.act_window,name:account.action_invoice_tree6
 #: model:ir.ui.menu,name:account.menu_action_invoice_tree6
 msgid "PRO-FORMA Customer Invoices"
-msgstr ""
+msgstr "Үйлчлүүлэгчийн нэхэмжлэл PRO-FORMA"
 
 #. module: account
 #: field:account.subscription,period_total:0
@@ -5609,7 +5609,7 @@ msgstr "Ажил гүйлгээ"
 #. module: account
 #: selection:account.invoice,state:0
 msgid "Pro-forma"
-msgstr ""
+msgstr "Pro-forma"
 
 #. module: account
 #: model:ir.actions.act_window,name:account.action_account_form
@@ -5647,7 +5647,7 @@ msgstr "Баримтын дугаараар"
 #. module: account
 #: rml:account.overdue:0
 msgid "Total amount due:"
-msgstr ""
+msgstr "Нийт товлосон хэмжээ"
 
 #. module: account
 #: wizard_field:account.analytic.account.chart,init,to_date:0
@@ -5701,7 +5701,7 @@ msgstr "Загварууд"
 #. module: account
 #: wizard_button:account.vat.declaration,init,report:0
 msgid "Print VAT Decl."
-msgstr ""
+msgstr "НӨАТ хэвлэх"
 
 #. module: account
 #: model:ir.actions.report.xml,name:account.account_intracom
index cbc4a42..a1019d5 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-10-24 09:01+0000\n"
+"PO-Revision-Date: 2010-10-25 07:13+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account
index e49ea2c..4cad572 100644 (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: 2010-10-18 12:12+0000\n"
-"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
+"PO-Revision-Date: 2010-10-25 21:56+0000\n"
+"Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-20 04:55+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account
@@ -80,7 +80,7 @@ msgstr ""
 #. module: account
 #: help:account.invoice,period_id:0
 msgid "Keep empty to use the period of the validation(invoice) date."
-msgstr ""
+msgstr "Ostavi prazno da bi koristio validacioni period ( racuna) datuma."
 
 #. module: account
 #: wizard_view:account.automatic.reconcile,reconcile:0
@@ -501,6 +501,8 @@ msgid ""
 "Set if the amount of tax must be included in the base amount before "
 "computing the next taxes."
 msgstr ""
+"Postavi ovo ukoliko iznos ovog poreza mora biti ukljucen u osnovicu pre "
+"izračuna sledećeg poreza."
 
 #. module: account
 #: model:ir.ui.menu,name:account.menu_finance_periodical_processing
@@ -569,7 +571,7 @@ msgstr "Red"
 #. module: account
 #: rml:account.analytic.account.cost_ledger:0
 msgid "J.C. or Move name"
-msgstr ""
+msgstr "J.C. ili pomeri ime"
 
 #. module: account
 #: selection:account.tax,applicable_type:0
@@ -589,7 +591,7 @@ msgstr ""
 #. module: account
 #: model:ir.model,name:account.model_account_tax
 msgid "account.tax"
-msgstr ""
+msgstr "account.tax"
 
 #. module: account
 #: rml:account.central.journal:0
@@ -599,13 +601,13 @@ msgstr "Datum štampe"
 #. module: account
 #: rml:account.general.ledger:0
 msgid "Mvt"
-msgstr ""
+msgstr "Mvt"
 
 #. module: account
 #: model:ir.actions.wizard,name:account.wizard_aged_trial_balance
 #: model:ir.ui.menu,name:account.menu_aged_trial_balance
 msgid "Aged Partner Balance"
-msgstr ""
+msgstr "Godisnja potraživanja/obaveze partnera"
 
 #. module: account
 #: view:account.journal:0
@@ -618,6 +620,7 @@ msgid ""
 "The sequence field is used to order the resources from lower sequences to "
 "higher ones"
 msgstr ""
+"Ovo polje se koristi da se odredi redosled resursa od najnizeg ka najvecem"
 
 #. module: account
 #: wizard_view:account.analytic.account.chart,init:0
@@ -726,12 +729,12 @@ msgstr "Ukupan iznos dugovanja kupca"
 #. module: account
 #: view:account.move.line:0
 msgid "St."
-msgstr ""
+msgstr "St."
 
 #. module: account
 #: model:ir.actions.act_window,name:account.action_tax_code_line_open
 msgid "account.move.line"
-msgstr ""
+msgstr "account.move.line"
 
 #. module: account
 #: model:process.transition,name:account.process_transition_supplieranalyticcost0
@@ -773,7 +776,7 @@ msgstr "Delimično plaćanje"
 #. module: account
 #: wizard_view:account_use_models,create:0
 msgid "Move Lines Created."
-msgstr ""
+msgstr "Kreirani redovi prenosa"
 
 #. module: account
 #: field:account.fiscalyear,state:0
@@ -920,6 +923,8 @@ msgid ""
 "If a default tax is given in the partner it only overrides taxes from "
 "accounts (or products) in the same group."
 msgstr ""
+"Ako je dat podrazumevani porez partnera, on samo upisuje poreze iz naloga ( "
+"ili proizvoda) iste grupe."
 
 #. module: account
 #: wizard_field:account.open_closed_fiscalyear,init,fyear_id:0
@@ -1024,7 +1029,7 @@ msgstr "Neto Ukupno"
 #: model:ir.model,name:account.model_account_fiscal_position
 #: field:res.partner,property_account_position:0
 msgid "Fiscal Mapping"
-msgstr ""
+msgstr "Poreska mapiranja"
 
 #. module: account
 #: field:account.analytic.line,product_uom_id:0
@@ -1167,7 +1172,7 @@ msgstr "Iznos je predstavljen opciono u drugoj valuti"
 #: view:account.fiscal.position.template:0
 #: field:account.fiscal.position.template,name:0
 msgid "Fiscal Mapping Template"
-msgstr ""
+msgstr "Predlozak poreskog mapiranja"
 
 #. module: account
 #: field:account.payment.term,line_ids:0
@@ -1238,7 +1243,7 @@ msgstr "Valuta preduzeca"
 #. module: account
 #: model:ir.model,name:account.model_account_fiscal_position_account_template
 msgid "Template Account Fiscal Mapping"
-msgstr ""
+msgstr "Predlozak poreskog mapiranja konta"
 
 #. module: account
 #: field:account.analytic.account,parent_id:0
@@ -2023,7 +2028,7 @@ msgstr "Iznos poreza"
 #. module: account
 #: rml:account.analytic.account.quantity_cost_ledger:0
 msgid "J.C./Move name"
-msgstr ""
+msgstr "J.C./Pomeri ime"
 
 #. module: account
 #: field:account.journal.period,name:0
@@ -2034,7 +2039,7 @@ msgstr "Naziv dnevnika-razdoblja"
 #: field:account.tax.code,name:0
 #: field:account.tax.code.template,name:0
 msgid "Tax Case Name"
-msgstr ""
+msgstr "Naziv pozicije PDV obrasca"
 
 #. module: account
 #: help:account.journal,entry_posted:0
@@ -2043,6 +2048,9 @@ msgid ""
 "'draft' state and instead goes directly to the 'posted state' without any "
 "manual validation."
 msgstr ""
+"Cekirajte ovde ukoliko ne zelite da novi nalog ne prolazi \" pripremni "
+"stadijum\" vec zelite da ode u \" zakljuceno stanje\" bez ikakve rucne "
+"validacije"
 
 #. module: account
 #: field:account.bank.statement.line,partner_id:0
@@ -2104,7 +2112,7 @@ msgstr "Period početnog stanja"
 #: model:ir.actions.wizard,name:account.wizard_validate_account_moves_line
 #: model:ir.ui.menu,name:account.menu_validate_account_moves
 msgid "Validate Account Moves"
-msgstr ""
+msgstr "Potvrdi osnovice"
 
 #. module: account
 #: selection:account.subscription,period_type:0
@@ -2375,7 +2383,7 @@ msgstr "Predložak kontnog plana"
 #. module: account
 #: model:account.journal,name:account.refund_sales_journal
 msgid "Journal d'extourne"
-msgstr ""
+msgstr "Dnevnik povrata"
 
 #. module: account
 #: rml:account.journal.period.print:0
@@ -2469,7 +2477,7 @@ msgstr "Otvori dnevnik"
 #. module: account
 #: rml:account.analytic.account.journal:0
 msgid "KI"
-msgstr ""
+msgstr "KI"
 
 #. module: account
 #: model:ir.actions.wizard,name:account.action_account_analytic_line
@@ -3151,7 +3159,7 @@ msgstr "Osnova"
 #. module: account
 #: field:account.model,name:0
 msgid "Model Name"
-msgstr ""
+msgstr "Naziv modela"
 
 #. module: account
 #: selection:account.account,type:0
@@ -3404,6 +3412,8 @@ msgid ""
 "This account will be used instead of the default one as the receivable "
 "account for the current partner"
 msgstr ""
+"Ovaj ce se nalog koristiti umesto podrazumevanog kao prijemni nalog datog "
+"partnera"
 
 #. module: account
 #: selection:account.tax,applicable_type:0
@@ -3490,6 +3500,7 @@ msgid ""
 "The amount expressed in an optional other currency if it is a multi-currency "
 "entry."
 msgstr ""
+"Iznos troskova u drugoj opcionoj valuti ako je ovo multi-valutni sadrzaj"
 
 #. module: account
 #: field:account.tax,parent_id:0
@@ -3907,6 +3918,8 @@ msgid ""
 "This account will be used instead of the default one to value outgoing stock "
 "for the current product"
 msgstr ""
+"Ovaj nalog ce se koristiti umesto podrazumevanog da potvrdi izlazni magacin "
+"za dati prozivod"
 
 #. module: account
 #: model:process.node,note:account.process_node_manually0
@@ -4444,6 +4457,9 @@ msgid ""
 "to the higher ones. The order is important if you have a tax with several "
 "tax children. In this case, the evaluation order is important."
 msgstr ""
+"Ovo polje se korosti da odredi redosled poreza od najmanjeg do najveceg. "
+"Ovaj redosled je vazan ako imate porez sa nekoliko podporeza,\r\n"
+"U tom slucaju, evolucioni poredak je jako vazan."
 
 #. module: account
 #: view:account.tax:0
@@ -4510,7 +4526,7 @@ msgstr "Opcione kolicine u stavkama"
 #: rml:account.third_party_ledger:0
 #: rml:account.third_party_ledger_other:0
 msgid "JNRL"
-msgstr ""
+msgstr "JNRL"
 
 #. module: account
 #: view:account.fiscalyear:0
@@ -5265,7 +5281,7 @@ msgstr "Predznak na izveštajima"
 #. module: account
 #: help:account.move.line,currency_id:0
 msgid "The optional other currency if it is a multi-currency entry."
-msgstr ""
+msgstr "Opciona druga valuta ako je ovo multi-valutni  sadrzaj"
 
 #. module: account
 #: view:account.invoice:0
@@ -5747,6 +5763,8 @@ msgid ""
 "This account will be used instead of the default one as the payable account "
 "for the current partner"
 msgstr ""
+"Ovaj nalog ce se koristiti umesto podrazumevanog kao platni nalog za datog "
+"partnera"
 
 #. module: account
 #: field:account.tax.code,code:0
@@ -6066,7 +6084,7 @@ msgstr "Dospela potraživanja"
 #. module: account
 #: model:ir.module.module,shortdesc:account.module_meta_information
 msgid "Board for accountant"
-msgstr ""
+msgstr "Tabla Naloga"
 
 #. module: account
 #: model:ir.actions.act_window,name:account.action_aged_income
index 65c6738..83ddff6 100644 (file)
@@ -35,19 +35,19 @@ class account_installer(osv.osv_memory):
     _inherit = 'res.config.installer'
 
     def _get_default_accounts(self, cr, uid, context=None):
-        accounts = [{'acc_name':'Current','account_type':'bank'},
-                    {'acc_name':'Deposit','account_type':'bank'},
-                    {'acc_name':'Cash','account_type':'cash'}]
+        accounts = [{'acc_name': 'Current', 'account_type': 'bank'},
+                    {'acc_name': 'Deposit', 'account_type': 'bank'},
+                    {'acc_name': 'Cash', 'account_type': 'cash'}]
         return accounts
 
     def _get_charts(self, cr, uid, context=None):
         modules = self.pool.get('ir.module.module')
-        ids = modules.search(cr, uid, [('category_id','=','Account Charts')])
+        ids = modules.search(cr, uid, [('category_id', '=', 'Account Charts')], context=context)
         charts = list(
             sorted(((m.name, m.shortdesc)
                     for m in modules.browse(cr, uid, ids)),
                    key=itemgetter(1)))
-        charts.insert(0,('configurable','Generic Chart Of Account'))
+        charts.insert(0, ('configurable', 'Generic Chart Of Account'))
         return charts
 
     _columns = {
@@ -59,7 +59,7 @@ class account_installer(osv.osv_memory):
                  "country."),
         'date_start': fields.date('Start Date', required=True),
         'date_stop': fields.date('End Date', required=True),
-        'period': fields.selection([('month','Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
+        'period': fields.selection([('month', 'Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
         'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Your Bank and Cash Accounts'),
         'sale_tax': fields.float('Sale Tax(%)'),
         'purchase_tax': fields.float('Purchase Tax(%)'),
@@ -68,28 +68,26 @@ class account_installer(osv.osv_memory):
 
     def _default_company(self, cr, uid, context=None):
         user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
-        if user.company_id:
-            return user.company_id.id
-        return False
+        return user.company_id and user.company_id.id or False
 
     def _get_default_charts(self, cr, uid, context=None):
         module_name = False
         company_id = self._default_company(cr, uid, context=context)
-        company = self.pool.get('res.company').browse(cr, uid, company_id)
+        company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
         address_id = self.pool.get('res.partner').address_get(cr, uid, [company.partner_id.id])
         if address_id['default']:
-            address = self.pool.get('res.partner.address').browse(cr, uid, address_id['default'])
+            address = self.pool.get('res.partner.address').browse(cr, uid, address_id['default'], context=context)
             code = address.country_id.code
             module_name = (code and 'l10n_' + code.lower()) or False
         if module_name:
-            module_id = self.pool.get('ir.module.module').search(cr, uid, [('name', '=', module_name)])
+            module_id = self.pool.get('ir.module.module').search(cr, uid, [('name', '=', module_name)], context=context)
             if module_id:
                 return module_name
         return 'configurable'
 
     _defaults = {
-        'date_start': lambda *a: time.strftime('%Y-01-01'),
-        'date_stop': lambda *a: time.strftime('%Y-12-31'),
+        'date_start': time.strftime('%Y-01-01'),
+        'date_stop': time.strftime('%Y-12-31'),
         'period': 'month',
         'sale_tax': 0.0,
         'purchase_tax': 0.0,
@@ -105,29 +103,37 @@ class account_installer(osv.osv_memory):
         if start_date:
             start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
             end_date = (start_date + relativedelta(months=12)) - relativedelta(days=1)
-            return {'value':{'date_stop':end_date.strftime('%Y-%m-%d')}}
+            return {'value': {'date_stop': end_date.strftime('%Y-%m-%d')}}
         return {}
 
     def generate_configurable_chart(self, cr, uid, ids, context=None):
         obj_acc = self.pool.get('account.account')
         obj_acc_tax = self.pool.get('account.tax')
         obj_journal = self.pool.get('account.journal')
-        obj_sequence = self.pool.get('ir.sequence')
+        obj_acc_tax_code = self.pool.get('account.tax.code')
         obj_acc_template = self.pool.get('account.account.template')
+        obj_acc_tax_template = self.pool.get('account.tax.code.template')
         obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
         obj_fiscal_position = self.pool.get('account.fiscal.position')
-        mod_obj = self.pool.get('ir.model.data')
         analytic_journal_obj = self.pool.get('account.analytic.journal')
+        obj_acc_chart_template = self.pool.get('account.chart.template')
+        obj_acc_journal_view = self.pool.get('account.journal.view')
+        mod_obj = self.pool.get('ir.model.data')
+        obj_sequence = self.pool.get('ir.sequence')
+        property_obj = self.pool.get('ir.property')
+        fields_obj = self.pool.get('ir.model.fields')
+        obj_tax_fp = self.pool.get('account.fiscal.position.tax')
+        obj_ac_fp = self.pool.get('account.fiscal.position.account')
 
         result = mod_obj._get_id(cr, uid, 'account', 'configurable_chart_template')
-        id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id']
-        obj_multi = self.pool.get('account.chart.template').browse(cr, uid, id)
+        id = mod_obj.read(cr, uid, [result], ['res_id'], context=context)[0]['res_id']
+        obj_multi = obj_acc_chart_template.browse(cr, uid, id, context=context)
 
         record = self.browse(cr, uid, ids, context=context)[0]
 
         if context is None:
             context = {}
-        company_id = self.browse(cr, uid, ids, context)[0].company_id
+        company_id = self.browse(cr, uid, ids, context=context)[0].company_id
         seq_journal = True
 
         # Creating Account
@@ -141,10 +147,10 @@ class account_installer(osv.osv_memory):
         todo_dict = {}
 
         #create all the tax code
-        children_tax_code_template = self.pool.get('account.tax.code.template').search(cr, uid, [('parent_id','child_of',[tax_code_root_id])], order='id')
+        children_tax_code_template = obj_acc_tax_template.search(cr, uid, [('parent_id', 'child_of', [tax_code_root_id])], order='id')
         children_tax_code_template.sort()
-        for tax_code_template in self.pool.get('account.tax.code.template').browse(cr, uid, children_tax_code_template):
-            vals={
+        for tax_code_template in obj_acc_tax_template.browse(cr, uid, children_tax_code_template, context=context):
+            vals = {
                 'name': (tax_code_root_id == tax_code_template.id) and company_id.name or tax_code_template.name,
                 'code': tax_code_template.code,
                 'info': tax_code_template.info,
@@ -152,7 +158,7 @@ class account_installer(osv.osv_memory):
                 'company_id': company_id.id,
                 'sign': tax_code_template.sign,
             }
-            new_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals)
+            new_tax_code = obj_acc_tax_code.create(cr, uid, vals, context=context)
             #recording the new tax code to do the mapping
             tax_code_template_ref[tax_code_template.id] = new_tax_code
 
@@ -160,7 +166,7 @@ class account_installer(osv.osv_memory):
         for tax in obj_multi.tax_template_ids:
             #create it
             vals_tax = {
-                'name':tax.name,
+                'name': tax.name,
                 'sequence': tax.sequence,
                 'amount': tax.amount,
                 'type': tax.type,
@@ -180,11 +186,11 @@ class account_installer(osv.osv_memory):
                 'ref_base_sign': tax.ref_base_sign,
                 'ref_tax_sign': tax.ref_tax_sign,
                 'include_base_amount': tax.include_base_amount,
-                'description':tax.description,
+                'description': tax.description,
                 'company_id': company_id.id,
                 'type_tax_use': tax.type_tax_use
             }
-            new_tax = obj_acc_tax.create(cr, uid, vals_tax)
+            new_tax = obj_acc_tax.create(cr, uid, vals_tax, context=context)
             #as the accounts have not been created yet, we have to wait before filling these fields
             todo_dict[new_tax] = {
                 'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
@@ -195,9 +201,9 @@ class account_installer(osv.osv_memory):
         #deactivate the parent_store functionnality on account_account for rapidity purpose
         self.pool._init = True
 
-        children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id]),('nocreate','!=',True)])
+        children_acc_template = obj_acc_template.search(cr, uid, [('parent_id', 'child_of', [obj_acc_root.id]), ('nocreate', '!=', True)], context=context)
         children_acc_template.sort()
-        for account_template in obj_acc_template.browse(cr, uid, children_acc_template):
+        for account_template in obj_acc_template.browse(cr, uid, children_acc_template, context=context):
             tax_ids = []
             for tax in account_template.tax_ids:
                 tax_ids.append(tax_template_ref[tax.id])
@@ -206,9 +212,9 @@ class account_installer(osv.osv_memory):
             dig = 6
             code_main = account_template.code and len(account_template.code) or 0
             code_acc = account_template.code or ''
-            if code_main>0 and code_main<=dig and account_template.type != 'view':
-                code_acc=str(code_acc) + (str('0'*(dig-code_main)))
-            vals={
+            if code_main > 0 and code_main <= dig and account_template.type != 'view':
+                code_acc = str(code_acc) + (str('0'*(dig-code_main)))
+            vals = {
                 'name': (obj_acc_root.id == account_template.id) and company_id.name or account_template.name,
                 #'sign': account_template.sign,
                 'currency_id': account_template.currency_id and account_template.currency_id.id or False,
@@ -222,10 +228,10 @@ class account_installer(osv.osv_memory):
                 'tax_ids': [(6, 0, tax_ids)],
                 'company_id': company_id.id,
             }
-            new_account = obj_acc.create(cr, uid, vals)
+            new_account = obj_acc.create(cr, uid, vals, context=context)
             acc_template_ref[account_template.id] = new_account
             if account_template.name == 'Bank Current Account':
-                b_vals={
+                b_vals = {
                     'name': 'Bank Accounts',
                     'code': '110500',
                     'type': 'view',
@@ -236,47 +242,52 @@ class account_installer(osv.osv_memory):
                     'tax_ids': [(6,0,tax_ids)],
                     'company_id': company_id.id,
                 }
-                bank_account = obj_acc.create(cr, uid, b_vals)
+                bank_account = obj_acc.create(cr, uid, b_vals, context=context)
 
-                view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name', '=', 'Bank/Cash Journal View')])[0] #why fixed name here?
-                view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name', '=', 'Bank/Cash Journal (Multi-Currency) View')])[0] #Why Fixed name here?
+                view_id_cash = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal View')], context=context)[0] #why fixed name here?
+                view_id_cur = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal (Multi-Currency) View')], context=context)[0] #Why Fixed name here?
 
                 cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash')
-                cash_type_id = mod_obj.read(cr, uid, [cash_result], ['res_id'])[0]['res_id']
+                cash_type_id = mod_obj.read(cr, uid, [cash_result], ['res_id'], context=context)[0]['res_id']
 
                 bank_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_bnk')
-                bank_type_id = mod_obj.read(cr, uid, [bank_result], ['res_id'])[0]['res_id']
+                bank_type_id = mod_obj.read(cr, uid, [bank_result], ['res_id'], context=context)[0]['res_id']
 
                 check_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_chk')
-                check_type_id = mod_obj.read(cr, uid, [check_result], ['res_id'])[0]['res_id']
+                check_type_id = mod_obj.read(cr, uid, [check_result], ['res_id'], context=context)[0]['res_id']
 
 #                record = self.browse(cr, uid, ids, context=context)[0]
                 code_cnt = 1
                 vals_seq = {
-                        'name': _('Bank Journal '),
-                        'code': 'account.journal',
-                        'prefix': 'BNK/%(year)s/',
-                        'padding': 5
-                        }
-                seq_id = obj_sequence.create(cr, uid, vals_seq)
+                    'name': _('Bank Journal '),
+                    'code': 'account.journal',
+                    'prefix': 'BNK/%(year)s/',
+                    'padding': 5
+                }
+                seq_id = obj_sequence.create(cr, uid, vals_seq, context=context)
 
                 #create the bank journals
-                analitical_bank_ids = analytic_journal_obj.search(cr, uid, [('type','=','situation')])
+                analitical_bank_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'situation')], context=context)
                 analitical_journal_bank = analitical_bank_ids and analitical_bank_ids[0] or False
-                vals_journal = {}
-                vals_journal['name'] = _('Bank Journal ')
-                vals_journal['code'] = _('BNK')
-                vals_journal['sequence_id'] = seq_id
-                vals_journal['type'] = 'bank'
-                vals_journal['analytic_journal_id'] = analitical_journal_bank
+                vals_journal = {
+                    'name': _('Bank Journal '),
+                    'code': _('BNK'),
+                    'sequence_id': seq_id,
+                    'type': 'bank',
+                    'analytic_journal_id': analitical_journal_bank
+                }
                 if vals.get('currency_id', False):
-                    vals_journal['view_id'] = view_id_cur
-                    vals_journal['currency'] = vals.get('currency_id', False)
+                    vals_journal.update({
+                        'view_id': view_id_cur,
+                        'currency': vals.get('currency_id', False)
+                    })
                 else:
-                    vals_journal['view_id'] = view_id_cash
-                vals_journal['default_credit_account_id'] = new_account
-                vals_journal['default_debit_account_id'] = new_account
-                obj_journal.create(cr, uid, vals_journal)
+                    vals_journal.update({'view_id': view_id_cash})
+                vals_journal.update({
+                    'default_credit_account_id': new_account,
+                    'default_debit_account_id': new_account,
+                })
+                obj_journal.create(cr, uid, vals_journal, context=context)
 
                 for val in record.bank_accounts_id:
                     seq_padding = 5
@@ -290,44 +301,52 @@ class account_installer(osv.osv_memory):
                         type = check_type_id
                         seq_padding = None
 
-                    vals_bnk = {'name': val.acc_name or '',
+                    vals_bnk = {
+                        'name': val.acc_name or '',
                         'currency_id': val.currency_id.id or False,
                         'code': str(110500 + code_cnt),
                         'type': 'liquidity',
                         'user_type': type,
-                        'parent_id':bank_account,
-                        'company_id': company_id.id }
-                    child_bnk_acc = obj_acc.create(cr, uid, vals_bnk)
+                        'parent_id': bank_account,
+                        'company_id': company_id.id
+                    }
+                    child_bnk_acc = obj_acc.create(cr, uid, vals_bnk, context=context)
                     vals_seq_child = {
                         'name': _(vals_bnk['name'] + ' ' + 'Journal'),
                         'code': 'account.journal',
                         'prefix': _((vals_bnk['name'][:3].upper()) + '/%(year)s/'),
                         'padding': seq_padding
-                        }
-                    seq_id = obj_sequence.create(cr, uid, vals_seq_child)
+                    }
+                    seq_id = obj_sequence.create(cr, uid, vals_seq_child, context=context)
 
                     #create the bank journal
                     vals_journal = {}
-                    vals_journal['name'] = vals_bnk['name'] + ' Journal'
-                    vals_journal['code'] = _(vals_bnk['name'][:3]).upper()
-                    vals_journal['sequence_id'] = seq_id
-                    vals_journal['type'] = 'cash'
+                    vals_journal = {
+                        'name': vals_bnk['name'] + _(' Journal'),
+                        'code': _(vals_bnk['name'][:3]).upper(),
+                        'sequence_id': seq_id,
+                        'type': 'cash',
+                    }
                     if vals.get('currency_id', False):
-                        vals_journal['view_id'] = view_id_cur
-                        vals_journal['currency'] = vals_bnk.get('currency_id', False)
+                        vals_journal.update({
+                                'view_id': view_id_cur,
+                                'currency': vals_bnk.get('currency_id', False),
+                        })
                     else:
-                        vals_journal['view_id'] = view_id_cash
-                    vals_journal['default_credit_account_id'] = child_bnk_acc
-                    vals_journal['default_debit_account_id'] = child_bnk_acc
-                    vals_journal['analytic_journal_id'] = analitical_journal_bank
-                    obj_journal.create(cr,uid,vals_journal)
+                        vals_journal.update({'view_id': view_id_cash})
+                    vals_journal.update({
+                        'default_credit_account_id': child_bnk_acc,
+                        'default_debit_account_id': child_bnk_acc,
+                        'analytic_journal_id': analitical_journal_bank
+                    })
+                    obj_journal.create(cr, uid, vals_journal, context=context)
                     code_cnt += 1
 
         #reactivate the parent_store functionality on account_account
         self.pool._init = False
-        self.pool.get('account.account')._parent_store_compute(cr)
+        obj_acc._parent_store_compute(cr)
 
-        for key,value in todo_dict.items():
+        for key, value in todo_dict.items():
             if value['account_collected_id'] or value['account_paid_id']:
                 obj_acc_tax.write(cr, uid, [key], {
                     'account_collected_id': acc_template_ref[value['account_collected_id']],
@@ -335,42 +354,41 @@ class account_installer(osv.osv_memory):
                 })
 
         # Creating Journals Sales and Purchase
-        vals_journal={}
-        data_id = mod_obj.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_sp_journal_view')])
-        data = mod_obj.browse(cr, uid, data_id[0])
+        vals_journal = {}
+        data_id = mod_obj.search(cr, uid, [('model', '=', 'account.journal.view'), ('name', '=', 'account_sp_journal_view')], context=context)
+        data = mod_obj.browse(cr, uid, data_id[0], context=context)
         view_id = data.res_id
-
-        seq_id = obj_sequence.search(cr,uid,[('name','=','Account Journal')])[0]
+        seq_id = obj_sequence.search(cr,uid,[('name', '=', 'Account Journal')], context=context)[0]
 
         if seq_journal:
             seq_sale = {
-                        'name': 'Sale Journal',
-                        'code': 'account.journal',
-                        'prefix': 'SAJ/%(year)s/',
-                        'padding': 3
-                        }
-            seq_id_sale = obj_sequence.create(cr, uid, seq_sale)
+                'name': 'Sale Journal',
+                'code': 'account.journal',
+                'prefix': 'SAJ/%(year)s/',
+                'padding': 3
+            }
+            seq_id_sale = obj_sequence.create(cr, uid, seq_sale, context=context)
             seq_purchase = {
-                        'name': 'Purchase Journal',
-                        'code': 'account.journal',
-                        'prefix': 'EXJ/%(year)s/',
-                        'padding': 3
-                        }
-            seq_id_purchase = obj_sequence.create(cr, uid, seq_purchase)
+                'name': 'Purchase Journal',
+                'code': 'account.journal',
+                'prefix': 'EXJ/%(year)s/',
+                'padding': 3
+            }
+            seq_id_purchase = obj_sequence.create(cr, uid, seq_purchase, context=context)
             seq_refund_sale = {
-                        'name': 'Sales Refund Journal',
-                        'code': 'account.journal',
-                        'prefix': 'SCNJ/%(year)s/',
-                        'padding': 3
-                        }
-            seq_id_sale_refund = obj_sequence.create(cr, uid, seq_refund_sale)
+                'name': 'Sales Refund Journal',
+                'code': 'account.journal',
+                'prefix': 'SCNJ/%(year)s/',
+                'padding': 3
+            }
+            seq_id_sale_refund = obj_sequence.create(cr, uid, seq_refund_sale, context=context)
             seq_refund_purchase = {
-                        'name': 'Purchase Refund Journal',
-                        'code': 'account.journal',
-                        'prefix': 'ECNJ/%(year)s/',
-                        'padding': 3
-                        }
-            seq_id_purchase_refund = obj_sequence.create(cr, uid, seq_refund_purchase)
+                'name': 'Purchase Refund Journal',
+                'code': 'account.journal',
+                'prefix': 'ECNJ/%(year)s/',
+                'padding': 3
+            }
+            seq_id_purchase_refund = obj_sequence.create(cr, uid, seq_refund_purchase, context=context)
         else:
             seq_id_sale = seq_id
             seq_id_purchase = seq_id
@@ -380,83 +398,90 @@ class account_installer(osv.osv_memory):
         vals_journal['view_id'] = view_id
 
         #Sales Journal
-        analitical_sale_ids = analytic_journal_obj.search(cr,uid,[('type','=','sale')])
+        analitical_sale_ids = analytic_journal_obj.search(cr, uid, [('type','=','sale')], context=context)
         analitical_journal_sale = analitical_sale_ids and analitical_sale_ids[0] or False
 
-        vals_journal['name'] = _('Sales Journal')
-        vals_journal['type'] = 'sale'
-        vals_journal['code'] = _('SAJ')
-        vals_journal['sequence_id'] = seq_id_sale
-        vals_journal['analytic_journal_id'] = analitical_journal_sale
-
+        vals_journal.update({
+            'name': _('Sales Journal'),
+            'type': 'sale',
+            'code': _('SAJ'),
+            'sequence_id': seq_id_sale,
+            'analytic_journal_id': analitical_journal_sale
+        })
 
         if obj_multi.property_account_receivable:
-            vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
-            vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
-
-        obj_journal.create(cr,uid,vals_journal)
+            vals_journal.update({
+                    'default_credit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id],
+                    'default_debit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id],
+            })
+        obj_journal.create(cr, uid, vals_journal, context=context)
 
         # Purchase Journal
-        analitical_purchase_ids = analytic_journal_obj.search(cr, uid, [('type','=','purchase')])
+        analitical_purchase_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'purchase')], context=context)
         analitical_journal_purchase = analitical_purchase_ids and analitical_purchase_ids[0] or False
 
-        vals_journal['name'] = _('Purchase Journal')
-        vals_journal['type'] = 'purchase'
-        vals_journal['code'] = _('EXJ')
-        vals_journal['sequence_id'] = seq_id_purchase
-        vals_journal['analytic_journal_id'] = analitical_journal_purchase
+        vals_journal.update({
+            'name': _('Purchase Journal'),
+            'type': 'purchase',
+            'code': _('EXJ'),
+            'sequence_id': seq_id_purchase,
+            'analytic_journal_id': analitical_journal_purchase
+        })
 
         if obj_multi.property_account_payable:
-            vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
-            vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
-
-        obj_journal.create(cr,uid,vals_journal)
+            vals_journal.update({
+                'default_credit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id],
+                'default_debit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id]
+            })
 
+        obj_journal.create(cr, uid, vals_journal, context=context)
         # Creating Journals Sales Refund and Purchase Refund
-        vals_journal={}
-        data_id = mod_obj.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_sp_refund_journal_view')])
-        data = mod_obj.browse(cr, uid, data_id[0])
+        vals_journal = {}
+        data_id = mod_obj.search(cr, uid, [('model', '=', 'account.journal.view'), ('name', '=', 'account_sp_refund_journal_view')], context=context)
+        data = mod_obj.browse(cr, uid, data_id[0], context=context)
         view_id = data.res_id
 
-        vals_journal['view_id'] = view_id
-
         #Sales Refund Journal
-        vals_journal['name'] = _('Sales Refund Journal')
-        vals_journal['type'] = 'sale_refund'
-        vals_journal['refund_journal'] = True
-        vals_journal['code'] = _('SCNJ')
-        vals_journal['sequence_id'] = seq_id_sale_refund
-        vals_journal['analytic_journal_id'] = analitical_journal_sale
-
+        vals_journal = {
+            'view_id': view_id,
+            'name': _('Sales Refund Journal'),
+            'type': 'sale_refund',
+            'refund_journal': True,
+            'code': _('SCNJ'),
+            'sequence_id': seq_id_sale_refund,
+            'analytic_journal_id': analitical_journal_sale
+        }
         if obj_multi.property_account_receivable:
-            vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
-            vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
+            vals_journal.update({
+                'default_credit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id],
+                'default_debit_account_id': acc_template_ref[obj_multi.property_account_income_categ.id]
+            })
 
-        obj_journal.create(cr,uid,vals_journal)
+        obj_journal.create(cr, uid, vals_journal, context=context)
 
         # Purchase Refund Journal
-        vals_journal['name'] = _('Purchase Refund Journal')
-        vals_journal['type'] = 'purchase_refund'
-        vals_journal['refund_journal'] = True
-        vals_journal['code'] = _('ECNJ')
-        vals_journal['sequence_id'] = seq_id_purchase_refund
-        vals_journal['analytic_journal_id'] = analitical_journal_purchase
+        vals_journal = {
+            'view_id': view_id,
+            'name': _('Purchase Refund Journal'),
+            'type': 'purchase_refund',
+            'refund_journal': True,
+            'code': _('ECNJ'),
+            'sequence_id': seq_id_purchase_refund,
+            'analytic_journal_id': analitical_journal_purchase
+        }
 
         if obj_multi.property_account_payable:
-            vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
-            vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
-
-        obj_journal.create(cr, uid, vals_journal)
+            vals_journal.update({
+                'default_credit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id],
+                'default_debit_account_id': acc_template_ref[obj_multi.property_account_expense_categ.id]
+            })
+        obj_journal.create(cr, uid, vals_journal, context=context)
 
         # Bank Journals
-        view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: Why put fixed name ?
-        view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fixed name?
-
+        view_id_cash = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal View')], context=context)[0] #TOFIX: Why put fixed name ?
+        view_id_cur = obj_acc_journal_view.search(cr, uid, [('name', '=', 'Bank/Cash Journal (Multi-Currency) View')], context=context)[0] #TOFIX: why put fixed name?
 
         #create the properties
-        property_obj = self.pool.get('ir.property')
-        fields_obj = self.pool.get('ir.model.fields')
-
         todo_list = [
             ('property_account_receivable', 'res.partner', 'account.account'),
             ('property_account_payable', 'res.partner', 'account.account'),
@@ -469,52 +494,45 @@ class account_installer(osv.osv_memory):
 
         for record in todo_list:
             r = []
-            r = property_obj.search(cr, uid, [('name', '=', record[0]), ('company_id', '=', company_id.id)])
+            r = property_obj.search(cr, uid, [('name', '=', record[0]), ('company_id', '=', company_id.id)], context=context)
             account = getattr(obj_multi, record[0])
-            field = fields_obj.search(cr, uid, [('name', '=', record[0]), ('model', '=', record[1]), ('relation', '=', record[2])])
+            field = fields_obj.search(cr, uid, [('name', '=', record[0]), ('model', '=', record[1]), ('relation', '=', record[2])], context=context)
             vals = {
                 'name': record[0],
                 'company_id': company_id.id,
                 'fields_id': field[0],
-                'value': account and 'account.account,'+str(acc_template_ref[account.id]) or False,
+                'value': account and 'account.account, '+str(acc_template_ref[account.id]) or False,
             }
-
             if r:
                 #the property exist: modify it
-                property_obj.write(cr, uid, r, vals)
+                property_obj.write(cr, uid, r, vals, context=context)
             else:
                 #create the property
-                property_obj.create(cr, uid, vals)
-
-        fp_ids = obj_fiscal_position_template.search(cr, uid,[('chart_template_id', '=', obj_multi.id)])
+                property_obj.create(cr, uid, vals, context=context)
 
+        fp_ids = obj_fiscal_position_template.search(cr, uid, [('chart_template_id', '=', obj_multi.id)], context=context)
         if fp_ids:
-            for position in obj_fiscal_position_template.browse(cr, uid, fp_ids):
-
+            for position in obj_fiscal_position_template.browse(cr, uid, fp_ids, context=context):
                 vals_fp = {
-                           'company_id': company_id.id,
-                           'name': position.name,
-                           }
-                new_fp = obj_fiscal_position.create(cr, uid, vals_fp)
-
-                obj_tax_fp = self.pool.get('account.fiscal.position.tax')
-                obj_ac_fp = self.pool.get('account.fiscal.position.account')
-
+                    'company_id': company_id.id,
+                    'name': position.name,
+                }
+                new_fp = obj_fiscal_position.create(cr, uid, vals_fp, context=context)
                 for tax in position.tax_ids:
                     vals_tax = {
-                                'tax_src_id': tax_template_ref[tax.tax_src_id.id],
-                                'tax_dest_id': tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
-                                'position_id': new_fp,
-                                }
-                    obj_tax_fp.create(cr, uid, vals_tax)
+                        'tax_src_id': tax_template_ref[tax.tax_src_id.id],
+                        'tax_dest_id': tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
+                        'position_id': new_fp,
+                    }
+                    obj_tax_fp.create(cr, uid, vals_tax, context=context)
 
                 for acc in position.account_ids:
                     vals_acc = {
-                                'account_src_id': acc_template_ref[acc.account_src_id.id],
-                                'account_dest_id': acc_template_ref[acc.account_dest_id.id],
-                                'position_id': new_fp,
-                                }
-                    obj_ac_fp.create(cr, uid, vals_acc)
+                        'account_src_id': acc_template_ref[acc.account_src_id.id],
+                        'account_dest_id': acc_template_ref[acc.account_dest_id.id],
+                        'position_id': new_fp,
+                    }
+                    obj_ac_fp.create(cr, uid, vals_acc, context=context)
 
     def execute(self, cr, uid, ids, context=None):
         if context is None:
@@ -524,58 +542,58 @@ class account_installer(osv.osv_memory):
         obj_acc = self.pool.get('account.account')
         obj_tax_code = self.pool.get('account.tax.code')
         obj_temp_tax_code = self.pool.get('account.tax.code.template')
+        obj_tax = self.pool.get('account.tax')
+        obj_product = self.pool.get('product.product')
+        ir_values = self.pool.get('ir.values')
         super(account_installer, self).execute(cr, uid, ids, context=context)
         record = self.browse(cr, uid, ids, context=context)[0]
         company_id = record.company_id
-        for res in self.read(cr, uid, ids):
+        for res in self.read(cr, uid, ids, context=context):
             if record.charts == 'configurable':
-                fp = tools.file_open(opj('account','configurable_account_chart.xml'))
-                tools.convert_xml_import(cr, 'account', fp, {}, 'init',True, None)
+                fp = tools.file_open(opj('account', 'configurable_account_chart.xml'))
+                tools.convert_xml_import(cr, 'account', fp, {}, 'init', True, None)
                 fp.close()
                 self.generate_configurable_chart(cr, uid, ids, context=context)
-                obj_tax = self.pool.get('account.tax')
-                obj_product = self.pool.get('product.product')
-                ir_values = self.pool.get('ir.values')
                 s_tax = (res.get('sale_tax', 0.0))/100
                 p_tax = (res.get('purchase_tax', 0.0))/100
                 tax_val = {}
                 default_tax = []
 
                 pur_temp_tax = mod_obj._get_id(cr, uid, 'account', 'tax_code_base_purchases')
-                pur_temp_tax_id = mod_obj.read(cr, uid, [pur_temp_tax], ['res_id'])[0]['res_id']
-                pur_temp_tax_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_id], ['name'])
+                pur_temp_tax_id = mod_obj.read(cr, uid, [pur_temp_tax], ['res_id'], context=context)[0]['res_id']
+                pur_temp_tax_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_id], ['name'], context=context)
                 pur_tax_parent_name = pur_temp_tax_names and pur_temp_tax_names[0]['name'] or False
-                pur_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_parent_name)])
+                pur_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_parent_name)], context=context)
                 if pur_taxcode_parent_id:
                     pur_taxcode_parent_id = pur_taxcode_parent_id[0]
                 else:
                     pur_taxcode_parent_id = False
 
                 pur_temp_tax_paid = mod_obj._get_id(cr, uid, 'account', 'tax_code_input')
-                pur_temp_tax_paid_id = mod_obj.read(cr, uid, [pur_temp_tax_paid], ['res_id'])[0]['res_id']
-                pur_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_paid_id], ['name'])
+                pur_temp_tax_paid_id = mod_obj.read(cr, uid, [pur_temp_tax_paid], ['res_id'], context=context)[0]['res_id']
+                pur_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [pur_temp_tax_paid_id], ['name'], context=context)
                 pur_tax_paid_parent_name = pur_temp_tax_names and pur_temp_tax_paid_names[0]['name'] or False
-                pur_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_paid_parent_name)])
+                pur_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', pur_tax_paid_parent_name)], context=context)
                 if pur_taxcode_paid_parent_id:
                     pur_taxcode_paid_parent_id = pur_taxcode_paid_parent_id[0]
                 else:
                     pur_taxcode_paid_parent_id = False
 
                 sale_temp_tax = mod_obj._get_id(cr, uid, 'account', 'tax_code_base_sales')
-                sale_temp_tax_id = mod_obj.read(cr, uid, [sale_temp_tax], ['res_id'])[0]['res_id']
-                sale_temp_tax_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_id], ['name'])
+                sale_temp_tax_id = mod_obj.read(cr, uid, [sale_temp_tax], ['res_id'], context=context)[0]['res_id']
+                sale_temp_tax_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_id], ['name'], context=context)
                 sale_tax_parent_name = sale_temp_tax_names and sale_temp_tax_names[0]['name'] or False
-                sale_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_parent_name)])
+                sale_taxcode_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_parent_name)], context=context)
                 if sale_taxcode_parent_id:
                     sale_taxcode_parent_id = sale_taxcode_parent_id[0]
                 else:
                     sale_taxcode_parent_id = False
 
                 sale_temp_tax_paid = mod_obj._get_id(cr, uid, 'account', 'tax_code_output')
-                sale_temp_tax_paid_id = mod_obj.read(cr, uid, [sale_temp_tax_paid], ['res_id'])[0]['res_id']
-                sale_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_paid_id], ['name'])
+                sale_temp_tax_paid_id = mod_obj.read(cr, uid, [sale_temp_tax_paid], ['res_id'], context=context)[0]['res_id']
+                sale_temp_tax_paid_names = obj_temp_tax_code.read(cr, uid, [sale_temp_tax_paid_id], ['name'], context=context)
                 sale_tax_paid_parent_name = sale_temp_tax_paid_names and sale_temp_tax_paid_names[0]['name'] or False
-                sale_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_paid_parent_name)])
+                sale_taxcode_paid_parent_id = obj_tax_code.search(cr, uid, [('name', 'ilike', sale_tax_paid_parent_name)], context=context)
                 if sale_taxcode_paid_parent_id:
                     sale_taxcode_paid_parent_id = sale_taxcode_paid_parent_id[0]
                 else:
@@ -590,8 +608,8 @@ class account_installer(osv.osv_memory):
                         'company_id': company_id.id,
                         'sign': 1,
                         'parent_id': sale_taxcode_parent_id
-                        }
-                    new_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_tax_code)
+                    }
+                    new_tax_code = obj_tax_code.create(cr, uid, vals_tax_code, context=context)
 
                     vals_paid_tax_code = {
                         'name': 'TAX Received %s%%'%(s_tax*100),
@@ -600,20 +618,20 @@ class account_installer(osv.osv_memory):
                         'sign': 1,
                         'parent_id': sale_taxcode_paid_parent_id
                         }
-                    new_paid_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_paid_tax_code)
+                    new_paid_tax_code = obj_tax_code.create(cr, uid, vals_paid_tax_code, context=context)
 
                     sales_tax = obj_tax.create(cr, uid,
-                                           {'name':'TAX %s%%'%(s_tax*100),
-                                            'amount':s_tax,
-                                            'base_code_id':new_tax_code,
-                                            'tax_code_id':new_paid_tax_code,
-                                            'type_tax_use':'sale',
-                                            'account_collected_id':sales_tax_account_id,
-                                            'account_paid_id':sales_tax_account_id
-                                            })
-                    default_account_ids = obj_acc.search(cr, uid, [('name', '=', 'Product Sales')],context=context)
+                                           {'name': 'TAX %s%%'%(s_tax*100),
+                                            'amount': s_tax,
+                                            'base_code_id': new_tax_code,
+                                            'tax_code_id': new_paid_tax_code,
+                                            'type_tax_use': 'sale',
+                                            'account_collected_id': sales_tax_account_id,
+                                            'account_paid_id': sales_tax_account_id
+                                            }, context=context)
+                    default_account_ids = obj_acc.search(cr, uid, [('name', '=', 'Product Sales')], context=context)
                     if default_account_ids:
-                        obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [sales_tax])]})
+                        obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [sales_tax])]}, context=context)
                     tax_val.update({'taxes_id': [(6, 0, [sales_tax])]})
                     default_tax.append(('taxes_id', sales_tax))
                 if p_tax*100 > 0.0:
@@ -626,8 +644,7 @@ class account_installer(osv.osv_memory):
                         'sign': 1,
                         'parent_id': pur_taxcode_parent_id
                     }
-                    new_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_tax_code)
-
+                    new_tax_code = obj_tax_code.create(cr, uid, vals_tax_code, context=context)
                     vals_paid_tax_code = {
                         'name': 'TAX Paid %s%%'%(p_tax*100),
                         'code': 'TAX Paid %s%%'%(p_tax*100),
@@ -635,7 +652,7 @@ class account_installer(osv.osv_memory):
                         'sign': 1,
                         'parent_id': pur_taxcode_paid_parent_id
                     }
-                    new_paid_tax_code = self.pool.get('account.tax.code').create(cr, uid, vals_paid_tax_code)
+                    new_paid_tax_code = obj_tax_code.create(cr, uid, vals_paid_tax_code, context=context)
 
                     purchase_tax = obj_tax.create(cr, uid,
                                             {'name': 'TAX%s%%'%(p_tax*100),
@@ -646,32 +663,33 @@ class account_installer(osv.osv_memory):
                                             'type_tax_use': 'purchase',
                                             'account_collected_id': purchase_tax_account_id,
                                             'account_paid_id': purchase_tax_account_id
-                                             })
+                                             }, context=context)
                     default_account_ids = obj_acc.search(cr, uid, [('name', '=', 'Expenses')], context=context)
                     if default_account_ids:
-                        obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [purchase_tax])]})
+                        obj_acc.write(cr, uid, default_account_ids, {'tax_ids': [(6, 0, [purchase_tax])]}, context=context)
                     tax_val.update({'supplier_taxes_id': [(6 ,0, [purchase_tax])]})
                     default_tax.append(('supplier_taxes_id', purchase_tax))
                 if tax_val:
-                    product_ids = obj_product.search(cr, uid, [])
-                    for product in obj_product.browse(cr, uid, product_ids):
-                        obj_product.write(cr, uid, product.id, tax_val)
+                    product_ids = obj_product.search(cr, uid, [], context=context)
+                    for product in obj_product.browse(cr, uid, product_ids, context=context):
+                        obj_product.write(cr, uid, product.id, tax_val, context=context)
                     for name, value in default_tax:
-                        ir_values.set(cr, uid, key='default', key2=False, name=name, models =[('product.product',False)], value=[value])
+                        ir_values.set(cr, uid, key='default', key2=False, name=name, models =[('product.product', False)], value=[value])
 
             if 'date_start' in res and 'date_stop' in res:
-                f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'])])
+                f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'])], context=context)
                 if not f_ids:
                     name = code = res['date_start'][:4]
                     if int(name) != int(res['date_stop'][:4]):
                         name = res['date_start'][:4] +'-'+ res['date_stop'][:4]
                         code = res['date_start'][2:4] +'-'+ res['date_stop'][2:4]
-                    vals = {'name': name,
-                            'code': code,
-                            'date_start': res['date_start'],
-                            'date_stop': res['date_stop'],
-                            'company_id': res['company_id']
-                           }
+                    vals = {
+                        'name': name,
+                        'code': code,
+                        'date_start': res['date_start'],
+                        'date_stop': res['date_stop'],
+                        'company_id': res['company_id']
+                    }
                     fiscal_id = fy_obj.create(cr, uid, vals, context=context)
                     if res['period'] == 'month':
                         fy_obj.create_period(cr, uid, [fiscal_id])
@@ -698,11 +716,8 @@ class account_bank_accounts_wizard(osv.osv_memory):
         'acc_name': fields.char('Account Name.', size=64, required=True),
         'bank_account_id': fields.many2one('account.installer', 'Bank Account', required=True),
         'currency_id': fields.many2one('res.currency', 'Secondary Currency', help="Forces all moves for this account to have this secondary currency."),
-        'account_type': fields.selection([('cash','Cash'),('check','Check'),('bank','Bank')], 'Account Type', size=32),
+        'account_type': fields.selection([('cash','Cash'), ('check','Check'), ('bank','Bank')], 'Account Type', size=32),
     }
-#    _defaults = {
-#        'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
-#    }
 
 account_bank_accounts_wizard()
 
@@ -710,7 +725,6 @@ class account_installer_modules(osv.osv_memory):
     _name = 'account.installer.modules'
     _inherit = 'res.config.installer'
     _columns = {
-        # Accounting
         'account_analytic_plans': fields.boolean('Multiple Analytic Plans',
             help="Allows invoice lines to impact multiple analytic accounts "
                  "simultaneously."),
@@ -727,9 +741,6 @@ class account_installer_modules(osv.osv_memory):
         'account_anglo_saxon': fields.boolean('Anglo-Saxon Accounting',
             help="This module will support the Anglo-Saxons accounting methodology by "
                 "changing the accounting logic with stock transactions."),
-#        'account_voucher_payment':fields.boolean('Voucher and Reconcile Management',
-#            help="Extension Account Voucher module includes allows to link payment / receipt "
-#                 "entries with voucher, also automatically reconcile during the payment and receipt entries."),
     }
 
     _defaults = {
@@ -738,4 +749,4 @@ class account_installer_modules(osv.osv_memory):
 
 account_installer_modules()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index dbac0fd..44ebafb 100644 (file)
@@ -24,8 +24,8 @@ from lxml import etree
 import decimal_precision as dp
 
 import netsvc
-from osv import fields, osv, orm
 import pooler
+from osv import fields, osv, orm
 from tools.translate import _
 
 class account_invoice(osv.osv):
@@ -57,17 +57,13 @@ class account_invoice(osv.osv):
                                             ('company_id', '=', company_id),
                                             ('refund_journal', '=', refund_journal.get(type_inv, False))],
                                                 limit=1)
-        if res:
-            return res[0]
-        else:
-            return False
+        return res and res[0] or False
 
     def _get_currency(self, cr, uid, context=None):
         user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, [uid])[0]
         if user.company_id:
             return user.company_id.currency_id.id
-        else:
-            return pooler.get_pool(cr.dbname).get('res.currency').search(cr, uid, [('rate','=',1.0)])[0]
+        return pooler.get_pool(cr.dbname).get('res.currency').search(cr, uid, [('rate','=', 1.0)])[0]
 
     def _get_journal_analytic(self, cr, uid, type_inv, context=None):
         type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale', 'in_refund': 'purchase'}
@@ -134,7 +130,6 @@ class account_invoice(osv.osv):
                 result = inv.amount_total - amount
             # Use is_zero function to avoid rounding trouble => should be fixed into ORM
             res[inv.id] = not self.pool.get('res.currency').is_zero(cr, uid, inv.company_id.currency_id, result) and result or 0.0
-
         return res
 
     # Give Journal Items related to the payment reconciled to this invoice
@@ -359,12 +354,26 @@ class account_invoice(osv.osv):
             res['arch'] = etree.tostring(doc)
         return res
 
+    def get_log_context(self, cr, uid, context=None):
+        if context is None:
+            context = {}
+        mob_obj = self.pool.get('ir.model.data')
+        res = mob_obj.get_object_reference(cr, uid, 'account', 'invoice_form') or False
+        view_id = res and res[1] or False
+        context.update({'view_id': view_id})
+        return context
+
     def create(self, cr, uid, vals, context=None):
+        if context is None:
+            context = {}
         try:
             res = super(account_invoice, self).create(cr, uid, vals, context)
             for inv_id, name in self.name_get(cr, uid, [res], context=context):
+                ctx = context.copy()
+                if vals.get('type', 'in_invoice') in ('out_invoice', 'out_refund'):
+                    ctx = self.get_log_context(cr, uid, context=ctx)
                 message = _("Invoice '%s' is waiting for validation.") % name
-                self.log(cr, uid, inv_id, message)
+                self.log(cr, uid, inv_id, message, context=ctx)
             return res
         except Exception, e:
             if '"journal_id" viol' in e.args[0]:
@@ -491,7 +500,6 @@ class account_invoice(osv.osv):
             res = {'value':{'date_due': pterm_list[-1]}}
         else:
              raise osv.except_osv(_('Data Insufficient !'), _('The Payment Term of Supplier does not have Payment Term Lines(Computation) defined !'))
-
         return res
 
     def onchange_invoice_line(self, cr, uid, ids, lines):
@@ -504,6 +512,8 @@ class account_invoice(osv.osv):
         val = {}
         dom = {}
         obj_journal = self.pool.get('account.journal')
+        account_obj = self.pool.get('account.account')
+        inv_line_obj = self.pool.get('account.invoice.line')
         if company_id and part_id and type:
             acc_id = False
             partner_obj = self.pool.get('res.partner').browse(cr,uid,part_id)
@@ -528,7 +538,6 @@ class account_invoice(osv.osv):
                     else:
                         acc_id = pay_res_id
                     val= {'account_id': acc_id}
-            account_obj = self.pool.get('account.account')
             if ids:
                 if company_id:
                     inv_obj = self.browse(cr,uid,ids)
@@ -539,7 +548,7 @@ class account_invoice(osv.osv):
                                 if not result_id:
                                     raise osv.except_osv(_('Configuration Error !'),
                                         _('Can not find account chart for this company in invoice line account, Please Create account.'))
-                                self.pool.get('account.invoice.line').write(cr, uid, [line.id], {'account_id': result_id[0]})
+                                inv_line_obj.write(cr, uid, [line.id], {'account_id': result_id[0]})
             else:
                 if invoice_line:
                     for inv_line in invoice_line:
@@ -580,7 +589,7 @@ class account_invoice(osv.osv):
             else:
                 val['currency_id'] = company.currency_id.id
 
-        return {'value': val, 'domain': dom }
+        return {'value': val, 'domain': dom}
 
     # go from canceled state to draft state
     def action_cancel_draft(self, cr, uid, ids, *args):
@@ -792,7 +801,6 @@ class account_invoice(osv.osv):
             line = []
             for key, val in line2.items():
                 line.append((0,0,val))
-
         return line
 
     def action_move_create(self, cr, uid, ids, *args):
@@ -967,7 +975,9 @@ class account_invoice(osv.osv):
             'analytic_account_id':x.get('account_analytic_id',False),
         }
 
-    def action_number(self, cr, uid, ids, *args):
+    def action_number(self, cr, uid, ids, context=None):
+        if context is None:
+            context = {}
         #TODO: not correct fix but required a frech values before reading it.
         self.write(cr, uid, ids, {})
 
@@ -981,7 +991,10 @@ class account_invoice(osv.osv):
             self.write(cr, uid, ids, {'internal_number':number})
 
             if invtype in ('in_invoice', 'in_refund'):
-                ref = reference
+                if not reference:
+                    ref = self._convert_ref(cr, uid, number)
+                else:
+                    ref = reference
             else:
                 ref = self._convert_ref(cr, uid, number)
 
@@ -998,9 +1011,11 @@ class account_invoice(osv.osv):
                         (ref, move_id))
 
             for inv_id, name in self.name_get(cr, uid, [id]):
+                ctx = context.copy()
+                if obj_inv.type in ('out_invoice', 'out_refund'):
+                    ctx = self.get_log_context(cr, uid, context=ctx)
                 message = _('Invoice ') + " '" + name + "' "+ _("is validated.")
-                self.log(cr, uid, inv_id, message)
-
+                self.log(cr, uid, inv_id, message, context=ctx)
         return True
 
     def action_cancel(self, cr, uid, ids, *args):
@@ -1489,8 +1504,8 @@ class account_invoice_line(osv.osv):
         taxes = self.pool.get('account.account').browse(cr, uid, account_id).tax_ids
         fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False
         res = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes)
-        r = {'value':{'invoice_line_tax_id': res}}
-        return r
+        return {'value':{'invoice_line_tax_id': res}}
+
 account_invoice_line()
 
 class account_invoice_tax(osv.osv):
@@ -1522,7 +1537,6 @@ class account_invoice_tax(osv.osv):
         'amount': fields.float('Amount', digits_compute=dp.get_precision('Account')),
         'manual': fields.boolean('Manual'),
         'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of invoice tax."),
-
         'base_code_id': fields.many2one('account.tax.code', 'Base Code', help="The account basis of the tax declaration."),
         'base_amount': fields.float('Base Code Amount', digits_compute=dp.get_precision('Account')),
         'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', help="The tax basis of the tax declaration."),
@@ -1560,9 +1574,9 @@ class account_invoice_tax(osv.osv):
 
     _order = 'sequence'
     _defaults = {
-        'manual': lambda *a: 1,
-        'base_amount': lambda *a: 0.0,
-        'tax_amount': lambda *a: 0.0,
+        'manual': 1,
+        'base_amount': 0.0,
+        'tax_amount': 0.0,
     }
     def compute(self, cr, uid, invoice_id, context={}):
         tax_grouped = {}
index ee14290..27836d7 100644 (file)
@@ -44,7 +44,7 @@ class account_journal(osv.osv):
     _inherit="account.journal"
 
     _columns = {
-        'analytic_journal_id':fields.many2one('account.analytic.journal','Analytic Journal',help="Journal for analytic entries"),
+        'analytic_journal_id':fields.many2one('account.analytic.journal','Analytic Journal', help="Journal for analytic entries"),
     }
 
 account_journal()
index 8ab75bb..22e0221 100644 (file)
                     <group col='6' colspan='4'>
                         <filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-sale" help="Analytic Journal Items related to a sale journal."/>
                         <filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/>
-                        <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation')]" icon="terp-folder-orange"/>
+                        <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/>
                         <separator orientation="vertical"/>
                         <field name="date"/>
                         <field name="name"/>
index 820ddfb..4d3e06d 100644 (file)
@@ -26,6 +26,7 @@ import rml_parse
 from report import report_sxw
 from account.report import account_profit_loss
 from common_report_header import common_report_header
+from tools.translate import _
 
 class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
     def __init__(self, cr, uid, name, context=None):
@@ -61,12 +62,12 @@ class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
         self.context = context
 
     def sum_dr(self):
-        if self.res_bl['type'] == 'Net Profit':
+        if self.res_bl['type'] == _('Net Profit'):
             self.result_sum_dr += self.res_bl['balance']*-1
         return self.result_sum_dr
 
     def sum_cr(self):
-        if self.res_bl['type'] == 'Net Loss':
+        if self.res_bl['type'] == _('Net Loss'):
             self.result_sum_cr += self.res_bl['balance']
         return self.result_sum_cr
 
@@ -78,6 +79,7 @@ class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
         db_pool = pooler.get_pool(self.cr.dbname)
 
         #Getting Profit or Loss Balance from profit and Loss report
+        self.obj_pl.get_data(data)
         self.res_bl = self.obj_pl.final_result()
 
         account_pool = db_pool.get('account.account')
@@ -103,10 +105,14 @@ class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
         account_ids = account_pool._get_children_and_consol(cr, uid, account_id, context=ctx)
         accounts = account_pool.browse(cr, uid, account_ids, context=ctx)
 
-        if self.res_bl['type'] == 'Net Profit C.F.B.L.':
-            self.res_bl['type'] = 'Net Profit'
+        if not self.res_bl:
+            self.res_bl['type'] = _('Net Profit')
+            self.res_bl['balance'] = 0.0
+
+        if self.res_bl['type'] == _('Net Profit'):
+            self.res_bl['type'] = _('Net Profit')
         else:
-            self.res_bl['type'] = 'Net Loss'
+            self.res_bl['type'] = _('Net Loss')
         pl_dict  = {
             'code': self.res_bl['type'],
             'name': self.res_bl['type'],
@@ -199,4 +205,4 @@ report_sxw.report_sxw('report.account.balancesheet', 'account.account',
     'addons/account/report/account_balance_sheet.rml',parser=report_balancesheet_horizontal,
     header='internal')
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 839bfb2..8f9e582 100644 (file)
                    <field name="categ_id" />
                 </group>
                 <newline/>
-                <group expand="0" string="Extended Filters..." groups="base.group_extended">
-                    <field name="product_id"/>
-                    <separator orientation="vertical"/>
-                    <field name="journal_id" widget="selection"/>
-                    <field name="account_id"/>
-                    <separator orientation="vertical"/>
-                    <field name="date_due"/>
-                    <separator orientation="vertical" groups="base.group_multi_company"/>
-                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>
-                </group>
-                <newline/>
                 <group expand="1" string="Group By...">
                     <filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/>
                     <filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
                     <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/>
                     <filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/>
                 </group>
+                <newline/>
+                <group expand="0" string="Extended Filters..." groups="base.group_extended">
+                    <field name="product_id"/>
+                    <separator orientation="vertical"/>
+                    <field name="journal_id" widget="selection"/>
+                    <field name="account_id"/>
+                    <separator orientation="vertical"/>
+                    <field name="date_due"/>
+                    <separator orientation="vertical" groups="base.group_multi_company"/>
+                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                </group>
             </search>
         </field>
     </record>
index c17de59..ab1c6f6 100644 (file)
@@ -20,8 +20,6 @@
 ##############################################################################
 
 import time
-import re
-import copy
 
 from tools.translate import _
 from report import report_sxw
index 3e1f0b5..0a03801 100644 (file)
@@ -21,8 +21,6 @@
 
 import time
 
-import ir
-from osv import osv
 from report import report_sxw
 import pooler
 
index f92f9e0..89cbc4f 100644 (file)
           <para style="terp_default_Bold_9">Code</para>
         </td>
         <td>
-          <para style="terp_default_Bold_9">Perticular</para>
+          <para style="terp_default_Bold_9">Particular</para>
         </td>
         <td>
           <para style="terp_tblheader_Details_Right">Balance</para>
           <para style="terp_default_Bold_9">Code</para>
         </td>
         <td>
-          <para style="terp_default_Bold_9">Perticular</para>
+          <para style="terp_default_Bold_9">Particular</para>
         </td>
         <td>
           <para style="P1">Balance</para>
           <para style="terp_default_Bold_9"></para>
         </td>
         <td>
-          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit C.F.B.L.' and final_result()['type'] or '' ]]</para>
+          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit' and final_result()['type'] or '' ]]</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Profit C.F.B.L.' and  formatLang(abs(final_result()['balance'])) ]] [[ company.currency_id.symbol ]]</para>
+          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Profit' and  formatLang(abs(final_result()['balance'])) ]] [[ company.currency_id.symbol ]]</para>
         </td>
         <td>
           <para style="terp_default_Bold_9"></para>
         </td>
         <td>
-          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss C.F.B.L.' and final_result()['type'] or '' ]]</para>
+          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss' and final_result()['type'] or '' ]]</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and  formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and company.currency_id.symbol ]]</para>
+          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and  formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and company.currency_id.symbol ]]</para>
         </td>
       </tr>
     </blockTable>
index 792b880..9469c3e 100644 (file)
@@ -24,6 +24,7 @@ import pooler
 import rml_parse
 from report import report_sxw
 from common_report_header import common_report_header
+from tools.translate import _
 
 class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
 
@@ -62,12 +63,12 @@ class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
         return self.res_pl
 
     def sum_dr(self):
-        if self.res_pl['type'] == 'Net Profit C.F.B.L.':
+        if self.res_pl['type'] == _('Net Profit'):
             self.result_sum_dr += self.res_pl['balance']
         return self.result_sum_dr
 
     def sum_cr(self):
-        if self.res_pl['type'] == 'Net Loss C.F.B.L.':
+        if self.res_pl['type'] == _('Net Loss'):
             self.result_sum_cr += self.res_pl['balance']
         return self.result_sum_cr
 
@@ -114,10 +115,10 @@ class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
                     else:
                         accounts_temp.append(account)
             if self.result_sum_dr > self.result_sum_cr:
-                self.res_pl['type'] = 'Net Loss C.F.B.L.'
+                self.res_pl['type'] = _('Net Loss')
                 self.res_pl['balance'] = (self.result_sum_dr - self.result_sum_cr)
             else:
-                self.res_pl['type'] = 'Net Profit C.F.B.L.'
+                self.res_pl['type'] = _('Net Profit')
                 self.res_pl['balance'] = (self.result_sum_cr - self.result_sum_dr)
             self.result[typ] = accounts_temp
             cal_list[typ] = self.result[typ]
index 2d85dc5..c371ab4 100644 (file)
           <para style="terp_default_Bold_9"></para>
         </td>
         <td>
-          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit C.F.B.L.' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
+          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Profit' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and  formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and company.currency_id.symbol ]]</para>
+          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and  formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and company.currency_id.symbol ]]</para>
         </td>
       </tr>
     </blockTable>
           <para style="terp_default_Bold_9"></para>
         </td>
         <td>
-          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss C.F.B.L.' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
+          <para style="terp_default_Bold_9">[[ final_result()['type'] == 'Net Loss' and final_result()['type'] or removeParentNode('blockTable') ]]</para>
         </td>
         <td>
-          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and  formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss C.F.B.L.' and company.currency_id.symbol ]]</para>
+          <para style="terp_default_Right_9_Bold">[[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and  formatLang(abs(final_result()['balance'])) ]] [[ final_result()['balance'] and final_result()['type'] == 'Net Loss' and company.currency_id.symbol ]]</para>
         </td>
       </tr>
     </blockTable>
index 2f123fd..e59839f 100644 (file)
@@ -21,9 +21,7 @@
 ##############################################################################
 
 import time
-import pooler
 import rml_parse
-import copy
 from report import report_sxw
 import re
 
index d968ee9..81778e1 100644 (file)
 ##############################################################################
 
 import time
-import copy
 
 import rml_parse
+from common_report_header import common_report_header
 from report import report_sxw
 
-class tax_report(rml_parse.rml_parse):
+class tax_report(rml_parse.rml_parse, common_report_header):
     _name = 'report.account.vat.declaration'
-    def __init__(self, cr, uid, name, context={}):
+
+    def set_context(self, objects, data, ids, report_type=None):
+        new_ids = ids
+        res = {}
+        self.period_ids = []
+        period_obj = self.pool.get('account.period')
+        res['periods'] = ''
+        res['fiscalyear'] = data['form']['fiscalyear_id']
+
+        if data['form']['period_from'] and data['form']['period_to']:
+            self.period_ids = period_obj.build_ctx_periods(self.cr, self.uid, data['form']['period_from'], data['form']['period_to'])
+            periods_l = period_obj.read(self.cr, self.uid, self.period_ids, ['name'])
+            for period in periods_l:
+                if res['periods'] == '':
+                    res['periods'] = period['name']
+                else:
+                    res['periods'] += ", "+ period['name']
+        return super(tax_report, self).set_context(objects, data, new_ids, report_type=report_type)
+
+    def __init__(self, cr, uid, name, context=None):
         super(tax_report, self).__init__(cr, uid, name, context=context)
         self.localcontext.update({
             'time': time,
-            'get_period': self._get_period,
             'get_codes': self._get_codes,
             'get_general': self._get_general,
-            'get_company': self._get_company,
             'get_currency': self._get_currency,
             'get_lines': self._get_lines,
-            'get_years': self.get_years,
+            'get_fiscalyear': self._get_fiscalyear,
+            'get_account': self._get_account,
+            'get_start_period': self.get_start_period,
+            'get_end_period': self.get_end_period,
+            'get_basedon': self._get_basedon,
         })
 
 
-    def get_years(self,form):
-        res={}
-        fiscal_year_name = self.pool.get('account.fiscalyear').name_get(self.cr,self.uid,form['fiscalyear'])
+    def _get_basedon(self, form):
+        return form['form']['based_on']
 
-        if fiscal_year_name:
-            res['fname'] = fiscal_year_name[0][1]
-            res['periods'] = ''
-        if form['periods']:
-            periods_l = self.pool.get('account.period').read(self.cr, self.uid, form['periods'], ['name'])
-            for period in periods_l:
-                if res['periods']=='':
-                    res['periods'] = period['name']
-                else:
-                    res['periods'] += ", "+ period['name']
-        return res
-
-    def _get_lines(self, based_on, period_list, company_id=False, parent=False, level=0, context={}):
+    def _get_lines(self, based_on, company_id=False, parent=False, level=0, context=None):
+        period_list = self.period_ids
         res = self._get_codes(based_on, company_id, parent, level, period_list, context=context)
-
         if period_list:
             res = self._add_codes(based_on, res, period_list, context=context)
         else:
@@ -96,13 +104,9 @@ class tax_report(rml_parse.rml_parse):
                 ind_general+=1
             i+=1
         return top_result
-        #return array_result
 
-    def _get_period(self, period_id, context={}):
-        return self.pool.get('account.period').browse(self.cr, self.uid, period_id, context=context).name
-
-    def _get_general(self, tax_code_id, period_list,company_id, based_on, context={}):
-        res=[]
+    def _get_general(self, tax_code_id, period_list, company_id, based_on, context=None):
+        res = []
         obj_account = self.pool.get('account.account')
         periods_ids = tuple(period_list)
         if based_on == 'payments':
@@ -155,7 +159,7 @@ class tax_report(rml_parse.rml_parse):
             i+=1
         return res
 
-    def _get_codes(self, based_on, company_id, parent=False, level=0, period_list=[], context={}):
+    def _get_codes(self, based_on, company_id, parent=False, level=0, period_list=[], context=None):
         obj_tc = self.pool.get('account.tax.code')
         ids = obj_tc.search(self.cr, self.uid, [('parent_id','=',parent),('company_id','=',company_id)], context=context)
 
@@ -166,7 +170,7 @@ class tax_report(rml_parse.rml_parse):
             res += self._get_codes(based_on, company_id, code.id, level+1, context=context)
         return res
 
-    def _add_codes(self, based_on, account_list=[], period_list=[], context={}):
+    def _add_codes(self, based_on, account_list=[], period_list=[], context=None):
         res = []
         obj_tc = self.pool.get('account.tax.code')
         for account in account_list:
@@ -181,16 +185,10 @@ class tax_report(rml_parse.rml_parse):
             res.append((account[0], code))
         return res
 
+    def _get_currency(self, form, context=None):
+        return self.pool.get('res.company').browse(self.cr, self.uid, form['company_id'], context=context).currency_id.name
 
-    def _get_company(self, form, context={}):
-        obj_company = self.pool.get('res.company')
-        return obj_company.browse(self.cr, self.uid, form['company_id'], context=context).name
-
-    def _get_currency(self, form, context={}):
-        obj_company = self.pool.get('res.company')
-        return obj_company.browse(self.cr, self.uid, form['company_id'], context=context).currency_id.name
-
-    def sort_result(self, accounts, context={}):
+    def sort_result(self, accounts, context=None):
         # On boucle sur notre rapport
         result_accounts = []
         ind=0
@@ -233,4 +231,4 @@ class tax_report(rml_parse.rml_parse):
 report_sxw.report_sxw('report.account.vat.declaration', 'account.tax.code',
     'addons/account/report/account_tax_report.rml', parser=tax_report, header="internal")
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 47df92c..41790ea 100644 (file)
 
       <blockValign value="TOP"/>
     </blockTableStyle>
+       <blockTableStyle id="Table4">
+      <blockAlignment value="LEFT"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table3">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="-1,0"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
+      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="2,0" stop="2,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
+      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="4,0" stop="4,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="4,0" stop="4,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="4,-1" stop="4,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="5,0" stop="5,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="5,0" stop="5,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,-1" stop="5,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="6,0" stop="6,-1"/>
+      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="6,0" stop="6,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="6,0" stop="6,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,-1" stop="6,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="7,0" stop="7,-1"/>
+      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="7,0" stop="7,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="7,0" stop="7,0"/>
+    </blockTableStyle>
     <blockTableStyle id="Tableau1">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
     <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="Caption" fontName="Helvetica" fontSize="1.0" leading="1" spaceBefore="0" spaceAfter="0"/>
     <paraStyle name="Index" fontName="Helvetica"/>
-
+       <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
+       <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
 
   </stylesheet>
   <story>
        <para style="P2">Tax Statement</para>
   <para style="P2"><font color="white"> </font></para>
-       <blockTable colWidths="538" style="Tableau1">
-      <tr>
-        <td><para style="P12">Year : [[ get_years(data['form'])['fname'] ]]</para></td>
-      </tr>
+    <blockTable colWidths="140.0,120.0,160.0,120.0" style="Table3">
       <tr>
-        <td><para style="P12">Periods : [[ get_years(data['form'])['periods'] or removeParentNode('tr')]]</para></td>
+        <td><para style="terp_tblheader_General_Centre">Chart of Tax</para></td>
+        <td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
+       <td><para style="terp_tblheader_General_Centre">Periods</para></td>
+        <td><para style="terp_tblheader_General_Centre">Based On</para></td>
       </tr>
-    </blockTable>
-  <para style="P2"><font color="white"> </font></para>         
+    <tr>
+               <td><para style="terp_default_Centre_8">[[ get_account(data) or removeParentNode('para') ]]</para></td>
+               <td><para style="terp_default_Centre_8">[[ get_fiscalyear(data)  or '' ]]</para></td>
+               <td>
+               <blockTable colWidths="80.0,80.0" style="Table4">
+                       <tr>
+                                       <td><para style="terp_tblheader_General_Centre">Start Period</para></td>
+                                   <td><para style="terp_tblheader_General_Centre">End Period</para></td>
+                               </tr>
+                               <tr>
+                                       <td><para style="terp_default_Centre_8">[[ get_start_period(data) or '' ]]</para></td>
+                                       <td><para style="terp_default_Centre_8">[[ get_end_period(data) or '' ]]</para></td>
+                               </tr>
+                       </blockTable>
+               </td>
+               <td><para style="terp_default_Centre_8">[[ get_basedon(data)  or '' ]]</para></td>
+   </tr>
+  </blockTable>
+  <para style="P2"><font color="white"> </font></para>
        <blockTable colWidths="340.0,55.0,55.0,90.0" style="Table2" repeatRows="1">
          <tr>
            <td><para style="P12">Tax Name</para></td>
            <td><para style="P12a">Tax Amount</para></td>
          </tr>
          <tr>
-              <td><para style="P5"><font>[[ repeatIn(get_lines(data['form']['based_on'],data['form']['periods'],data['form']['company_id']), 'o') ]]</font><font color="white">[[ (o['level']) ]]</font> <font>[[ (len(o['level'])&lt;5 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ o['code'] ]]  [[ o['name'] ]] </font></para></td>
+              <td><para style="P5"><font>[[ repeatIn(get_lines(data['form']['based_on'], data['form']['company_id']), 'o') ]]</font><font color="white">[[ (o['level']) ]]</font> <font>[[ (len(o['level'])&lt;5 and setTag('para','para',{'fontName':'Helvetica-Bold'})) or removeParentNode('font') ]]</font><font>[[ o['code'] ]]  [[ o['name'] ]] </font></para></td>
            <td><para style="P6"><font>[[ len(o['level'])&lt;5 and setTag('para','para',{'fontName':"Helvetica-Bold"})  or removeParentNode('font')]]</font><font>[[ o['type']=='view' and removeParentNode('font') ]][[ formatLang(o['debit']) ]]</font><font>[[ o['type']&lt;&gt;'view' and removeParentNode('font') ]][[ formatLang(o['debit']) ]]</font></para></td>
            <td><para style="P6"><font>[[ len(o['level'])&lt;5 and setTag('para','para',{'fontName':"Helvetica-Bold"})  or removeParentNode('font')]]</font><font>[[ o['type']=='view' and removeParentNode('font') ]][[ formatLang(o['credit']) ]]</font><font>[[ o['type']&lt;&gt;'view' and removeParentNode('font') ]][[ formatLang(o['credit'])]]</font></para></td>
            <td><para style="P6"><font>[[ len(o['level'])&lt;5 and setTag('para','para',{'fontName':"Helvetica-Bold"})  or removeParentNode('font')]]</font><font>[[ o['type']=='view' and removeParentNode('font') ]][[ formatLang(o['tax_amount']) ]] [[ company.currency_id.symbol ]]</font><font>[[ o['type']&lt;&gt;'view' and removeParentNode('font') ]][[ formatLang(o['tax_amount']) ]] [[ company.currency_id.symbol ]]</font> </para></td>
index 1d3cc62..c71c025 100644 (file)
 #
 ##############################################################################
 
-from report import report_sxw
-import xml.dom.minidom
 import time
-import osv
 import re
-import pooler
 import sys
 
+from report import report_sxw
 
 class rml_parse(report_sxw.rml_parse):
     def __init__(self, cr, uid, name, context):
@@ -148,3 +145,4 @@ class rml_parse(report_sxw.rml_parse):
         else:
             return Stringer
 
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 0932e21..03d0d54 100644 (file)
@@ -1,5 +1,5 @@
 -
-  In order to test Cash statement I create a Cash statement and and confirm it and check it's move created
+  In order to test Cash statement I create a Cash statement and confirm it and check it's move created
 -
  !record {model: account.bank.statement, id: account_bank_statement_1}:
     date: '2010-10-16'
@@ -13,9 +13,9 @@
          subtotal: 20.0
       -  pieces: 100.0
          number: 1
-         subtotal: 200.0
-    balance_start: 220.0
-    balance_end: 220.0
+         subtotal: 100.0
+    balance_start: 120.0
+    balance_end: 120.0
 -
   I check that Initially bank statement is in the "Draft" state
 -
         partner_id: base.res_partner_4
         sequence: 0.0
         type: general
-    balance_end: 1220.0
+    balance_end: 1120.0
     ending_details_ids:
       -  pieces: 10.0
          number: 2
          subtotal: 20.0
       -  pieces: 100.0
          number: 1
-         subtotal: 200.0
+         subtotal: 100.0
       -  pieces: 500.0
          number: 2
          subtotal: 1000.0
-    balance_end_cash: 1220.0
+    balance_end_cash: 1120.0
 
 -
   I clicked on Close CashBox button to close the cashbox
index 26888cc..c780bf9 100644 (file)
@@ -1,9 +1,22 @@
 -
+  In order to test the PDF reports defined on an invoice, we will create a Invoice Record
+-
+  !record {model: account.invoice, id: test_invoice_1}:
+       currency_id: base.EUR
+    company_id: base.main_company
+    address_invoice_id: base.res_partner_address_tang
+    partner_id: base.res_partner_asus
+    state: draft
+    type: out_invoice
+    account_id: account.a_recv
+    name: Test invoice 1
+    address_contact_id: base.res_partner_address_tang
+-
   In order to test the PDF reports defined on an invoice, we will print an Invoice Report
 -
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('test_invoice_1')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
 
@@ -56,7 +69,7 @@
 -
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('test_invoice_1')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
 
index b87c11f..fdf684b 100644 (file)
@@ -19,7 +19,6 @@
 #
 ##############################################################################
 
-import time
 from osv import fields, osv
 
 class account_chart(osv.osv_memory):
index 0c86685..4adc25a 100644 (file)
@@ -36,7 +36,7 @@ class account_invoice_refund(osv.osv_memory):
        'period': fields.many2one('account.period', 'Force period'),
        'journal_id': fields.many2one('account.journal', 'Refund Journal', help='You can select here the journal to use for the refund invoice that will be created. If you leave that field empty, it will use the same journal as the current invoice.'),
        'description': fields.char('Description', size=128, required=True),
-       'filter_refund': fields.selection([('modify', 'Modify'), ('refund', 'Refund'), ('cancel', 'Cancel')], "Refund Type", required=True, help='Refund invoice base on this type. You can not Modify and Cancel if the invoice is already rencociled'),
+       'filter_refund': fields.selection([('modify', 'Modify'), ('refund', 'Refund'), ('cancel', 'Cancel')], "Refund Type", required=True, help='Refund invoice base on this type. You can not Modify and Cancel if the invoice is already reconciled'),
     }
 
     def _get_journal(self, cr, uid, context=None):
@@ -179,7 +179,6 @@ class account_invoice_refund(osv.osv_memory):
                         invoice_lines = inv_obj._refund_cleanup_lines(cr, uid, invoice_lines)
                         tax_lines = inv_tax_obj.read(cr, uid, invoice['tax_line'], context=context)
                         tax_lines = inv_obj._refund_cleanup_lines(cr, uid, tax_lines)
-
                         invoice.update({
                             'type': inv.type,
                             'date_invoice': date,
@@ -190,33 +189,32 @@ class account_invoice_refund(osv.osv_memory):
                             'period_id': period,
                             'name': description
                         })
-
                         for field in ('address_contact_id', 'address_invoice_id', 'partner_id',
                                 'account_id', 'currency_id', 'payment_term', 'journal_id'):
                                 invoice[field] = invoice[field] and invoice[field][0]
-
                         inv_id = inv_obj.create(cr, uid, invoice, {})
                         if inv.payment_term.id:
                             data = inv_obj.onchange_payment_term_date_invoice(cr, uid, [inv_id], inv.payment_term.id, date)
                             if 'value' in data and data['value']:
                                 inv_obj.write(cr, uid, [inv_id], data['value'])
                         created_inv.append(inv_id)
-
             if inv.type in ('out_invoice', 'out_refund'):
                 xml_id = 'action_invoice_tree3'
             else:
                 xml_id = 'action_invoice_tree4'
-
             result = mod_obj._get_id(cr, uid, 'account', xml_id)
             id = mod_obj.read(cr, uid, result, ['res_id'], context=context)['res_id']
             result = act_obj.read(cr, uid, id, context=context)
-            result['res_id'] = created_inv
+            invoice_domain = eval(result['domain'])
+            invoice_domain.append(('id', 'in', created_inv))
+            result['domain'] = invoice_domain
             return result
 
     def invoice_refund(self, cr, uid, ids, context=None):
         data_refund = self.read(cr, uid, ids, [],context=context)[0]['filter_refund']
         return self.compute_refund(cr, uid, ids, data_refund, context=context)
 
+
 account_invoice_refund()
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 5756fed..7f64f52 100644 (file)
@@ -19,6 +19,8 @@
 #
 ##############################################################################
 
+from lxml import etree
+
 from osv import osv
 from tools.translate import _
 import tools
@@ -103,8 +105,11 @@ class account_move_journal(osv.osv_memory):
             </group>
         </form>""" % (tools.ustr(journal), tools.ustr(period))
 
+        view = etree.fromstring(view.encode('utf8'))
+        xarch, xfields = self._view_look_dom_arch(cr, uid, view, view_id, context=context)
+        view = xarch
         res.update({
-            'arch':view
+            'arch': view
         })
         return res
 
index 8634570..556a688 100644 (file)
@@ -19,8 +19,7 @@
 #
 ##############################################################################
 
-from osv import fields, osv
-from tools.translate import _
+from osv import osv
 
 class account_move_line_select(osv.osv_memory):
     """
index c445828..826a5a6 100644 (file)
@@ -20,8 +20,6 @@
 ##############################################################################
 
 from osv import fields, osv
-from tools.translate import _
-import tools
 
 class account_move_line_unreconcile_select(osv.osv_memory):
     _name = "account.move.line.unreconcile.select"
index 4703ea1..2a03a80 100644 (file)
@@ -18,7 +18,7 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
-from osv import osv, fields
+from osv import osv
 
 import netsvc
 from tools.translate import _
index 2a77cd8..88b58b6 100644 (file)
@@ -19,7 +19,7 @@
 #
 ##############################################################################
 
-from osv import fields, osv
+from osv import osv
 
 class account_unreconcile(osv.osv_memory):
     _name = "account.unreconcile"
index edac082..baf09f5 100644 (file)
@@ -19,7 +19,6 @@
 #
 ##############################################################################
 import time
-import datetime
 
 from osv import fields, osv
 from tools.translate import _
index 0fac738..0f963b4 100644 (file)
@@ -25,8 +25,8 @@ class validate_account_move(osv.osv_memory):
     _name = "validate.account.move"
     _description = "Validate Account Move"
     _columns = {
-       'journal_id': fields.many2one('account.journal', 'Journal', required=True),
-       'period_id': fields.many2one('account.period', 'Period', required=True, domain=[('state','<>','done')]),
+        'journal_id': fields.many2one('account.journal', 'Journal', required=True),
+        'period_id': fields.many2one('account.period', 'Period', required=True, domain=[('state','<>','done')]),
     }
 
     def validate_move(self, cr, uid, ids, context=None):
index 0c33517..863ae05 100644 (file)
@@ -24,41 +24,36 @@ from osv import osv, fields
 class account_vat_declaration(osv.osv_memory):
     _name = 'account.vat.declaration'
     _description = 'Account Vat Declaration'
-    _inherit = "account.common.account.report"
+    _inherit = "account.common.report"
     _columns = {
-           'based_on': fields.selection([('invoices','Invoices'),
-                                      ('payments','Payments'),],
+        'based_on': fields.selection([('invoices', 'Invoices'),
+                                      ('payments', 'Payments'),],
                                       'Based On', required=True),
-        'company_id': fields.many2one('res.company', 'Company', required=True),
-        'periods': fields.many2many('account.period', 'vat_period_rel', 'vat_id', 'period_id', 'Periods', help="All periods if empty"),
-        'fiscalyear': fields.many2many('account.fiscalyear','vat_fiscal_rel','fiscal_id','Fiscal Year',required=True),
-        }
+        'chart_tax_id': fields.many2one('account.tax.code', 'Chart of Tax', help='Select Charts of Taxes', required=True, domain = [('parent_id','=', False)]),
+    }
 
-    def _get_company(self, cr, uid, context={}):
-        user_obj = self.pool.get('res.users')
-        company_obj = self.pool.get('res.company')
-        user = user_obj.browse(cr, uid, uid, context=context)
-        if user.company_id:
-           return user.company_id.id
-        else:
-            return company_obj.search(cr, uid, [('parent_id', '=', False)])[0]
+    def _get_tax(self, cr, uid, context=None):
+        taxes = self.pool.get('account.tax.code').search(cr, uid, [('parent_id', '=', False)], limit=1)
+        return taxes and taxes[0] or False
 
     _defaults = {
         'based_on': 'invoices',
-        'company_id': _get_company
-               }
+        'chart_tax_id': _get_tax
+    }
 
-    def create_vat(self, cr, uid, ids, context={}):
+    def create_vat(self, cr, uid, ids, context=None):
         if context is None:
             context = {}
         datas = {'ids': context.get('active_ids', [])}
         datas['model'] = 'account.tax.code'
         datas['form'] = self.read(cr, uid, ids)[0]
+        datas['form']['company_id'] = self.pool.get('account.tax.code').browse(cr, uid, [datas['form']['chart_tax_id']], context=context)[0].company_id.id
         return {
             'type': 'ir.actions.report.xml',
             'report_name': 'account.vat.declaration',
             'datas': datas,
         }
+
 account_vat_declaration()
 
-#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 41c0faa..c6d0307 100644 (file)
@@ -7,15 +7,13 @@
             <field name="model">account.vat.declaration</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-            <form string="Select Period">
-                <field name="company_id" groups="base.group_multi_company" widget='selection'/>
-                <newline/>
+            <form string="Taxes Report">
+                <field name="chart_tax_id" widget='selection'/>
+                <field name="fiscalyear_id"/>
                 <field name="based_on"/>
-                <newline/>
-                <separator string="Select Period(s)" colspan="4"/>
-                       <field name="periods" nolabel="1" colspan="4"/>
-                <separator string="Select FiscalYear(s)" colspan="4"/>                                 
-                    <field name="fiscalyear" nolabel="1" colspan="4"/>
+                <separator string="Periods"  colspan="4"/>
+                <field name="period_from"  domain="[('fiscalyear_id', '=', fiscalyear_id)]" attrs="{'readonly':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}" />
+                <field name="period_to" domain="[('fiscalyear_id', '=', fiscalyear_id)]" attrs="{'readonly':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}" />
                 <group col="2" colspan="4">
                     <button icon='gtk-cancel' special="cancel"  string="Cancel" />
                     <button name="create_vat" string="Print Tax Statement" colspan="1" type="object" icon="gtk-ok"/>
@@ -42,4 +40,4 @@
             icon="STOCK_PRINT"/>
 
     </data>
-</openerp>
+</openerp>
\ No newline at end of file
index f3e8c2f..490c372 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 21:58+0000\n"
-"Last-Translator: Carlos @ smile.fr <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:12+0000\n"
+"Last-Translator: Carlos-smile <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_analytic_analysis
index a80ba1a..42ae022 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 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: 2010-10-14 07:30+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 17:55+0000\n"
+"Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-15 04:42+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_analytic_analysis
@@ -26,14 +26,16 @@ msgstr ""
 "Broj sati koji mogu biti fakturirani zajedno s onima koji su već fakturisana."
 
 #. module: account_analytic_analysis
-#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
-msgid "Hours summary by user"
-msgstr "Sati sumarno od strane korisnika"
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
 
 #. module: account_analytic_analysis
-#: field:account.analytic.account,last_invoice_date:0
-msgid "Last Invoice Date"
-msgstr "Zadnji Datum fakture"
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Pogrešno ime modela u definiciji akcije."
 
 #. module: account_analytic_analysis
 #: help:account.analytic.account,remaining_ca:0
@@ -46,20 +48,20 @@ msgid "Computed using the formula: Maximum Quantity - Hours Tot."
 msgstr "Izračunato pomoću formule: Najveća količina - Ukupno vrijeme"
 
 #. module: account_analytic_analysis
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all
-msgid "All Analytic Accounts"
-msgstr "Svi analitički računi"
+#: code:addons/account_analytic_analysis/account_analytic_analysis.py:0
+#, python-format
+msgid "AccessError"
+msgstr "Greška u pristupu"
 
 #. module: account_analytic_analysis
-#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_open
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_open
-msgid "My Current Accounts"
-msgstr "Moji tekući računi"
+#: field:account.analytic.account,ca_theorical:0
+msgid "Theorical Revenue"
+msgstr "Prihodi teoretski"
 
 #. module: account_analytic_analysis
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Nevažeći XML za pregled arhitekture"
+#: field:account.analytic.account,last_invoice_date:0
+msgid "Last Invoice Date"
+msgstr "Zadnji Datum fakture"
 
 #. module: account_analytic_analysis
 #: help:account.analytic.account,last_invoice_date:0
@@ -67,14 +69,9 @@ msgid "Date of the last invoice created for this analytic account."
 msgstr "Datum zadnje fakture kreirana za ovaj analitički račun."
 
 #. module: account_analytic_analysis
-#: field:account.analytic.account,ca_theorical:0
-msgid "Theorical Revenue"
-msgstr "Prihodi teoretski"
-
-#. module: account_analytic_analysis
-#: constraint:ir.actions.act_window:0
-msgid "Invalid model name in the action definition."
-msgstr "Pogrešno ime modela u definiciji akcije."
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Greska! Ne mozete kreirati rekursivni meni."
 
 #. module: account_analytic_analysis
 #: help:account.analytic.account,theorical_margin:0
@@ -82,19 +79,6 @@ msgid "Computed using the formula: Theorial Revenue - Total Costs"
 msgstr "Izračunato pomoću formule: Prihodi Teorijski - Ukupni troškovi"
 
 #. module: account_analytic_analysis
-#: constraint:ir.model:0
-msgid ""
-"The Object name must start with x_ and not contain any special character !"
-msgstr ""
-"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
-
-#. module: account_analytic_analysis
-#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_new
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_new
-msgid "New Analytic Account"
-msgstr "Novi analitički račun"
-
-#. module: account_analytic_analysis
 #: field:account.analytic.account,theorical_margin:0
 msgid "Theorical Margin"
 msgstr "Teoretska margina"
@@ -105,17 +89,6 @@ msgid "Real Margin Rate (%)"
 msgstr "Realna Stopa Margine (%)"
 
 #. module: account_analytic_analysis
-#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_open
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_open
-msgid "Current Analytic Accounts"
-msgstr "Tekući analitički računi"
-
-#. module: account_analytic_analysis
-#: help:account.analytic.account,last_worked_date:0
-msgid "Date of the latest work done on this account."
-msgstr "Datum najnovijeg rada obavljenog na ovom računu."
-
-#. module: account_analytic_analysis
 #: help:account.analytic.account,last_worked_invoiced_date:0
 msgid ""
 "If invoice from the costs, this is the date of the latest work or cost that "
@@ -126,8 +99,8 @@ msgstr ""
 
 #. module: account_analytic_analysis
 #: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
-msgid "Invoicing"
-msgstr "Fakturiranje"
+msgid "Billing"
+msgstr "Obracunavanje"
 
 #. module: account_analytic_analysis
 #: field:account.analytic.account,last_worked_date:0
@@ -171,16 +144,9 @@ msgid "User"
 msgstr "Korisnik"
 
 #. module: account_analytic_analysis
-#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_pending
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_pending
-msgid "My Pending Accounts"
-msgstr "Moji računi na čekanju"
-
-#. module: account_analytic_analysis
-#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_my
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_my
-msgid "My Uninvoiced Entries"
-msgstr "Moji nefakturirani Ulazi"
+#: field:account.analytic.account,ca_to_invoice:0
+msgid "Uninvoiced Amount"
+msgstr "Nefakturirani iznos"
 
 #. module: account_analytic_analysis
 #: help:account.analytic.account,real_margin:0
@@ -188,36 +154,19 @@ msgid "Computed using the formula: Invoiced Amount - Total Costs."
 msgstr "Izračunato korištenjem formule: Fakturirani iznos - Ukupni troškovi."
 
 #. module: account_analytic_analysis
-#: 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 "Moji računi"
-
-#. module: account_analytic_analysis
-#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
-msgid ""
-"Modify account analytic view to show\n"
-"important data for project manager of services companies.\n"
-"Add menu to show relevant information for each manager."
-msgstr ""
-"Promeni prozor analitičkog prikaza računa da bi video\n"
-"važne podatke za projekt menadžer od usluznih kompanija.\n"
-"Dodaj meni da prikaze relevantne informacije za svakog menadžera."
-
-#. module: account_analytic_analysis
 #: field:account.analytic.account,hours_qtt_non_invoiced:0
 msgid "Uninvoiced Hours"
 msgstr "Nefakturirani sati"
 
 #. module: account_analytic_analysis
-#: field:account.analytic.account,hours_quantity:0
-msgid "Hours Tot"
-msgstr "Ukupno sati"
+#: help:account.analytic.account,last_worked_date:0
+msgid "Date of the latest work done on this account."
+msgstr "Datum najnovijeg rada obavljenog na ovom računu."
 
 #. module: account_analytic_analysis
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_account
-msgid "Analytic Accounts"
-msgstr "Analitička konta"
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Nevažeći XML za pregled arhitekture"
 
 #. module: account_analytic_analysis
 #: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
@@ -225,14 +174,20 @@ msgid "report_account_analytic"
 msgstr "izvestaj_analitickog_konta"
 
 #. module: account_analytic_analysis
+#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
+msgid "Hours Summary by User"
+msgstr "Ukupno sati po Korisniku"
+
+#. module: account_analytic_analysis
 #: field:account.analytic.account,ca_invoiced:0
 msgid "Invoiced Amount"
 msgstr "Fakturirani iznos"
 
 #. module: account_analytic_analysis
-#: model:ir.ui.menu,name:account_analytic_analysis.next_id_71
-msgid "Financial Project Management"
-msgstr "Finansijski Projekt Menadzment"
+#: code:addons/account_analytic_analysis/account_analytic_analysis.py:0
+#, python-format
+msgid "You try to bypass an access rule (Document type: %s)."
+msgstr "Pokušavate da zaobiđete pravilo za pristup (Dokument tipa: %s)."
 
 #. module: account_analytic_analysis
 #: field:account.analytic.account,last_worked_invoiced_date:0
@@ -240,17 +195,6 @@ msgid "Date of Last Invoiced Cost"
 msgstr "Datum zadnje fakturiranog troška"
 
 #. module: account_analytic_analysis
-#: field:account.analytic.account,ca_to_invoice:0
-msgid "Uninvoiced Amount"
-msgstr "Nefakturirani iznos"
-
-#. module: account_analytic_analysis
-#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_pending
-#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_pending
-msgid "Pending Analytic Accounts"
-msgstr "Analitički računi na čekanju"
-
-#. module: account_analytic_analysis
 #: field:account.analytic.account,hours_qtt_invoiced:0
 msgid "Invoiced Hours"
 msgstr "Fakturirani sati"
@@ -258,7 +202,7 @@ msgstr "Fakturirani sati"
 #. module: account_analytic_analysis
 #: field:account.analytic.account,real_margin:0
 msgid "Real Margin"
-msgstr "Realna margina"
+msgstr "Realna marza"
 
 #. module: account_analytic_analysis
 #: help:account.analytic.account,ca_invoiced:0
@@ -312,37 +256,43 @@ msgstr "Izračunato korištenjem formule: Fakturirani iznos / Ukupno sati"
 #. module: account_analytic_analysis
 #: field:account.analytic.account,revenue_per_hour:0
 msgid "Revenue per Hours (real)"
-msgstr ""
+msgstr "Prihod po satiima ( stvarni)"
 
 #. module: account_analytic_analysis
 #: field:account_analytic_analysis.summary.month,unit_amount:0
 #: field:account_analytic_analysis.summary.user,unit_amount:0
 msgid "Total Time"
-msgstr ""
+msgstr "Ukupno Vreme"
 
 #. module: account_analytic_analysis
 #: field:account.analytic.account,month_ids:0
 #: field:account_analytic_analysis.summary.month,month:0
 msgid "Month"
-msgstr ""
+msgstr "Mesec"
 
 #. module: account_analytic_analysis
 #: field:account_analytic_analysis.summary.month,account_id:0
 #: field:account_analytic_analysis.summary.user,account_id:0
+#: model:ir.model,name:account_analytic_analysis.model_account_analytic_account
 msgid "Analytic Account"
-msgstr ""
+msgstr "Analitički konto"
 
 #. module: account_analytic_analysis
 #: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
 #: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
 msgid "Overpassed Accounts"
-msgstr ""
+msgstr "Prekoračeni računi"
 
 #. module: account_analytic_analysis
 #: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
 #: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
 msgid "All Uninvoiced Entries"
-msgstr ""
+msgstr "Sve nefakturirane stavke"
+
+#. module: account_analytic_analysis
+#: field:account.analytic.account,hours_quantity:0
+msgid "Hours Tot"
+msgstr "Ukupno sati"
 
 #. module: account_analytic_analysis
 #: help:account.analytic.account,total_cost:0
@@ -350,3 +300,50 @@ msgid ""
 "Total of costs for this account. It includes real costs (from invoices) and "
 "indirect costs, like time spent on timesheets."
 msgstr ""
+"Ukupno troškova za ovaj račun. Uključuje stvarne troškove (iz faktura) i "
+"indirektne troškove, kao, npr,vrijeme potrošeno na timesheetovima."
+
+#~ msgid "My Current Accounts"
+#~ msgstr "Moji tekući računi"
+
+#~ msgid "Hours summary by user"
+#~ msgstr "Sati sumarno od strane korisnika"
+
+#~ msgid "All Analytic Accounts"
+#~ msgstr "Svi analitički računi"
+
+#~ msgid "New Analytic Account"
+#~ msgstr "Novi analitički račun"
+
+#~ msgid "Current Analytic Accounts"
+#~ msgstr "Tekući analitički računi"
+
+#~ msgid "Invoicing"
+#~ msgstr "Fakturiranje"
+
+#~ msgid "My Pending Accounts"
+#~ msgstr "Moji računi na čekanju"
+
+#~ msgid "My Uninvoiced Entries"
+#~ msgstr "Moji nefakturirani Ulazi"
+
+#~ msgid "My Accounts"
+#~ msgstr "Moji računi"
+
+#~ msgid ""
+#~ "Modify account analytic view to show\n"
+#~ "important data for project manager of services companies.\n"
+#~ "Add menu to show relevant information for each manager."
+#~ msgstr ""
+#~ "Promeni prozor analitičkog prikaza računa da bi video\n"
+#~ "važne podatke za projekt menadžer od usluznih kompanija.\n"
+#~ "Dodaj meni da prikaze relevantne informacije za svakog menadžera."
+
+#~ msgid "Financial Project Management"
+#~ msgstr "Finansijski Projekt Menadzment"
+
+#~ msgid "Pending Analytic Accounts"
+#~ msgstr "Analitički računi na čekanju"
+
+#~ msgid "Analytic Accounts"
+#~ msgstr "Analitička konta"
index a5aca6f..2dac621 100644 (file)
@@ -7,34 +7,22 @@ msgid ""
 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: 2010-10-14 07:31+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 20:26+0000\n"
+"Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-15 04:42+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_analytic_default
-#: view:account.analytic.default:0
-#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_form
-#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_defaul_form
-msgid "Analytic Defaults"
-msgstr "Uobičajene postavke analitike"
-
-#. module: account_analytic_default
 #: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
 msgid "Account Analytic Default"
 msgstr "Uobičajene postavke analize računa"
 
 #. module: account_analytic_default
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Nevažeći XML za pregled arhitekture"
-
-#. module: account_analytic_default
 #: constraint:ir.model:0
 msgid ""
 "The Object name must start with x_ and not contain any special character !"
@@ -42,56 +30,169 @@ msgstr ""
 "Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
 
 #. module: account_analytic_default
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Greska! Ne mozete kreirati rekursivni meni."
+
+#. module: account_analytic_default
+#: help:account.analytic.default,partner_id:0
+msgid ""
+"select a partner which will use analytical account specified in analytic "
+"default (eg. create new cutomer invoice or Sale order if we select this "
+"partner, it will automatically take this as an analytical account)"
+msgstr ""
+"Selektuj partnera koji ce koristiti analiticki konto specificiran kao "
+"analiticki podrazumevani konto ( npr, kreiras novu fakturu, ili nabavnu "
+"fakturu, i ako sad selektujemo partnera, on ce automatski ova podesavanja "
+"kao svoj analiticki konto)"
+
+#. module: account_analytic_default
+#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
+#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_product
+#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
+msgid "Analytic Rules"
+msgstr "Pravila analitike"
+
+#. module: account_analytic_default
+#: help:account.analytic.default,analytic_id:0
+msgid "Analytical Account"
+msgstr "Analiticka Konta"
+
+#. module: account_analytic_default
 #: view:account.analytic.default:0
-msgid "Seq"
-msgstr "Red"
+msgid "Current"
+msgstr "Trenutni"
 
 #. module: account_analytic_default
-#: field:account.analytic.default,date_stop:0
-msgid "End Date"
-msgstr "Završni Datum"
+#: view:account.analytic.default:0
+msgid "Group By..."
+msgstr "Grupirano po"
 
 #. module: account_analytic_default
-#: field:account.analytic.default,company_id:0
-msgid "Company"
-msgstr "Preduzeće"
+#: help:account.analytic.default,date_stop:0
+msgid "Default end date for this Analytical Account"
+msgstr "podrzaumevani Krajnji datum za ovaj Analiticki Konto"
 
 #. module: account_analytic_default
-#: field:account.analytic.default,sequence:0
-msgid "Sequence"
-msgstr "Sekvenca"
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Pogrešno ime modela u definiciji akcije."
 
 #. module: account_analytic_default
+#: model:ir.model,name:account_analytic_default.model_stock_picking
+msgid "Picking List"
+msgstr "Izborna Lista"
+
+#. module: account_analytic_default
+#: view:account.analytic.default:0
+msgid "Conditions"
+msgstr "Uslovi"
+
+#. module: account_analytic_default
+#: help:account.analytic.default,company_id:0
+msgid ""
+"select a company which will use analytical account specified in analytic "
+"default (eg. create new cutomer invoice or Sale order if we select this "
+"company, it will automatically take this as an analytical account)"
+msgstr ""
+
+#. module: account_analytic_default
+#: model:ir.model,name:account_analytic_default.model_sale_order_line
+msgid "Sale Order Line"
+msgstr "Stavke naloga za prodaju"
+
+#. module: account_analytic_default
+#: help:account.analytic.default,date_start:0
+msgid "Default start date for this Analytical Account"
+msgstr "Podrazumevani Pocetni datum za ovaj Analiticki konto"
+
+#. module: account_analytic_default
+#: view:account.analytic.default:0
 #: field:account.analytic.default,product_id:0
 msgid "Product"
 msgstr "Proizvod"
 
 #. module: account_analytic_default
-#: field:account.analytic.default,analytic_id:0
-msgid "Analytic Account"
-msgstr "Analitički nalog"
+#: model:ir.model,name:account_analytic_default.model_account_analytic_default
+msgid "Analytic Distribution"
+msgstr "Analitička Distribucija"
 
 #. module: account_analytic_default
-#: model:ir.model,name:account_analytic_default.model_account_analytic_default
-msgid "Analytic Distributions"
-msgstr "Distribucije analitike"
+#: view:account.analytic.default:0
+#: field:account.analytic.default,company_id:0
+msgid "Company"
+msgstr "Preduzeće"
 
 #. module: account_analytic_default
+#: view:account.analytic.default:0
 #: field:account.analytic.default,user_id:0
 msgid "User"
 msgstr "Korisnik"
 
 #. module: account_analytic_default
-#: constraint:ir.actions.act_window:0
-msgid "Invalid model name in the action definition."
-msgstr "Pogrešno ime modela u definiciji akcije."
-
-#. module: account_analytic_default
 #: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
 msgid "Entries"
 msgstr "Stavke"
 
 #. module: account_analytic_default
+#: field:account.analytic.default,date_stop:0
+msgid "End Date"
+msgstr "Datum završetka"
+
+#. module: account_analytic_default
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Nevažeći XML za pregled arhitekture"
+
+#. module: account_analytic_default
+#: help:account.analytic.default,user_id:0
+msgid ""
+"select a user which will use analytical account specified in analytic default"
+msgstr ""
+"Izaberi korisnika koji ce koristiti onaj analiticki konto koji je "
+"specificiran kao podrazumevani."
+
+#. module: account_analytic_default
+#: view:account.analytic.default:0
+#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_list
+#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_default_list
+msgid "Analytic Defaults"
+msgstr "Uobičajene postavke analitike"
+
+#. module: account_analytic_default
+#: help:account.analytic.default,product_id:0
+msgid ""
+"select a product which will use analytical account specified in analytic "
+"default (eg. create new cutomer invoice or Sale order if we select this "
+"product, it will automatically take this as an analytical account)"
+msgstr ""
+"Izaberi proizvod koji ce koristiti Analiticki konto koji je specificiran kao "
+"podrazumevani ( npr, kada kreiras racun, ili narudzbenicu, i ako selektujes "
+"ovaj proizvod, on ce automatski preuzeti ovaj kao svoj Analiticki konto)"
+
+#. module: account_analytic_default
+#: field:account.analytic.default,sequence:0
+msgid "Sequence"
+msgstr "Sekvenca"
+
+#. module: account_analytic_default
+#: model:ir.model,name:account_analytic_default.model_account_invoice_line
+msgid "Invoice Line"
+msgstr "Faktura"
+
+#. module: account_analytic_default
+#: view:account.analytic.default:0
+#: field:account.analytic.default,analytic_id:0
+msgid "Analytic Account"
+msgstr "Analitički konto"
+
+#. module: account_analytic_default
+#: view:account.analytic.default:0
+msgid "Accounts"
+msgstr "Nalozi"
+
+#. module: account_analytic_default
+#: view:account.analytic.default:0
 #: field:account.analytic.default,partner_id:0
 msgid "Partner"
 msgstr "Partner"
@@ -99,16 +200,17 @@ msgstr "Partner"
 #. module: account_analytic_default
 #: field:account.analytic.default,date_start:0
 msgid "Start Date"
-msgstr "Početni datum"
+msgstr "Datum početka"
 
 #. module: account_analytic_default
-#: view:account.analytic.default:0
-msgid "Conditions"
-msgstr "Uslovi"
+#: help:account.analytic.default,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of analytic distribution"
+msgstr ""
+"Daje redosled sekvence pri prikazivanju liste analiticke distribucije"
 
-#. module: account_analytic_default
-#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
-#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_product
-#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
-msgid "Analytic Rules"
-msgstr "Pravila analitike"
+#~ msgid "Seq"
+#~ msgstr "Red"
+
+#~ msgid "Analytic Distributions"
+#~ msgstr "Distribucije analitike"
index fc4ee2e..a5612c2 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 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: 2010-10-14 07:31+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 21:37+0000\n"
+"Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-15 04:42+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_analytic_plans
@@ -23,6 +23,11 @@ msgid "Account4 Id"
 msgstr "Šifra računa4"
 
 #. module: account_analytic_plans
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Greska! Ne mozete kreirati rekursivni meni."
+
+#. module: account_analytic_plans
 #: constraint:ir.model:0
 msgid ""
 "The Object name must start with x_ and not contain any special character !"
@@ -30,8 +35,10 @@ msgstr ""
 "Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
 
 #. module: account_analytic_plans
+#: report:account.analytic.account.crossovered.analytic:0
+#: view:account.crossovered.analytic:0
+#: model:ir.actions.act_window,name:account_analytic_plans.action_account_crossovered_analytic
 #: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic
-#: model:ir.actions.wizard,name:account_analytic_plans.account_analytic_account_inverted_balance_report
 msgid "Crossovered Analytic"
 msgstr "Unakrsna analitika"
 
@@ -41,11 +48,16 @@ msgid "Account5 Id"
 msgstr "Šifra računa5"
 
 #. module: account_analytic_plans
-#: wizard_field:wizard.crossovered.analytic,init,date2:0
+#: field:account.crossovered.analytic,date2:0
 msgid "End Date"
 msgstr "Završni Datum"
 
 #. module: account_analytic_plans
+#: field:account.analytic.plan.instance,account3_ids:0
+msgid "Account3 Id"
+msgstr "Šifra računa3"
+
+#. module: account_analytic_plans
 #: field:account.analytic.plan.instance.line,rate:0
 msgid "Rate (%)"
 msgstr "Stopa (%)"
@@ -55,27 +67,41 @@ msgstr "Stopa (%)"
 #: field:account.analytic.plan,name:0
 #: field:account.analytic.plan.line,plan_id:0
 #: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_form_action
+#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan
 #: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_action
 msgid "Analytic Plan"
 msgstr "Analiticki Plan"
 
 #. module: account_analytic_plans
+#: view:analytic.plan.create.model:0
+msgid ""
+"This distribution model has been saved.You will be able to reuse it later."
+msgstr ""
+"Distribucioni model je sacuvan. Bicete u mogucnosti da ga kasnije koristite."
+
+#. module: account_analytic_plans
+#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
+#, python-format
+msgid "Please put a name and a code before saving the model !"
+msgstr "Molim postavite Ime i sadrzaj pre nego sacuvate model !"
+
+#. module: account_analytic_plans
 #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line
 msgid "Analytic Instance Line"
-msgstr ""
+msgstr "Red Analiticke Instance"
 
 #. module: account_analytic_plans
 #: view:account.analytic.plan.instance.line:0
 msgid "Analytic Distribution Lines"
-msgstr "Red analitičke instance"
+msgstr "Red Analiticke Distribucije"
 
 #. module: account_analytic_plans
-#: wizard_button:wizard.crossovered.analytic,init,print:0
+#: view:account.crossovered.analytic:0
 msgid "Print"
 msgstr "Štampaj"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "To Date"
 msgstr "Do datuma"
 
@@ -90,9 +116,9 @@ msgid "Analytic Distribution's Models"
 msgstr "Modeli analitičke distribucije"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Account Name"
-msgstr "Naziv računa"
+msgstr "Naziv Naloga"
 
 #. module: account_analytic_plans
 #: view:account.analytic.plan.instance.line:0
@@ -110,88 +136,114 @@ msgid "Invalid model name in the action definition."
 msgstr "Pogrešno ime modela u definiciji akcije."
 
 #. module: account_analytic_plans
-#: field:account.analytic.plan.line,name:0
-msgid "Plan Name"
-msgstr "Ime Plana"
-
-#. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Printing date"
 msgstr "Datum stampe"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Percentage"
 msgstr "Procenat"
 
 #. module: account_analytic_plans
-#: wizard_field:wizard.crossovered.analytic,init,empty_line:0
+#: model:ir.model,name:account_analytic_plans.model_sale_order_line
+msgid "Sale Order Line"
+msgstr "Stavke naloga za prodaju"
+
+#. module: account_analytic_plans
+#: field:account.crossovered.analytic,empty_line:0
 msgid "Dont show empty lines"
-msgstr "Ne prikazuj prazme redove"
+msgstr "Ne prikazuj prazne redove"
 
 #. module: account_analytic_plans
-#: wizard_view:wizard.crossovered.analytic,init:0
-msgid "Select Information"
-msgstr "Selektuj informaciju"
+#: model:ir.actions.act_window,name:account_analytic_plans.action_analytic_plan_create_model
+msgid "analytic.plan.create.model.action"
+msgstr "analytic.plan.create.model.action"
 
 #. module: account_analytic_plans
-#: field:account.analytic.plan.instance,account3_ids:0
-msgid "Account3 Id"
-msgstr "Šifra računa3"
+#: code:addons/account_analytic_plans/account_analytic_plans.py:0
+#, python-format
+msgid "A model having this name and code already exists !"
+msgstr "Model sa ovim imenom i sadrzajem vec postoji !"
 
 #. module: account_analytic_plans
 #: field:account.analytic.plan.instance,journal_id:0
-#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
+#: view:account.crossovered.analytic:0
+#: field:account.crossovered.analytic,journal_ids:0
 msgid "Analytic Journal"
 msgstr "Analiticki Dnevnik"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "100.00%"
 msgstr "100.00%"
 
 #. module: account_analytic_plans
-#: wizard_field:wizard.crossovered.analytic,init,ref:0
-msgid "Analytic Account Ref."
-msgstr "Veza analitičkog konta"
+#: report:account.analytic.account.crossovered.analytic:0
+msgid "Currency"
+msgstr "Valuta"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Analytic Account :"
 msgstr "Analiticki konto :"
 
 #. module: account_analytic_plans
 #: view:account.analytic.plan.line:0
+#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
 msgid "Analytic Plan Line"
 msgstr "Red Analitickog Plana"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
+#, python-format
+msgid "No analytic plan defined !"
+msgstr "Analiticki plan nije definisan !"
+
+#. module: account_analytic_plans
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Analytic Account Reference:"
 msgstr "Veza analitičkog konta:"
 
 #. module: account_analytic_plans
-#: model:ir.actions.wizard,name:account_analytic_plans.create_model
-msgid "Create Model"
-msgstr "Kreiraj Model"
+#: field:account.analytic.plan.line,name:0
+msgid "Plan Name"
+msgstr "Ime Plana"
 
 #. module: account_analytic_plans
 #: field:account.analytic.plan,default_instance_id:0
 msgid "Default Entries"
-msgstr "Uobičajene stavke"
+msgstr "Podrazumevane Stavke"
+
+#. module: account_analytic_plans
+#: code:addons/account_analytic_plans/account_analytic_plans.py:0
+#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
+#, python-format
+msgid "Error"
+msgstr "Greška"
 
 #. module: account_analytic_plans
 #: view:account.analytic.plan:0
 #: field:account.analytic.plan,plan_ids:0
 #: field:account.journal,plan_id:0
-#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan
 msgid "Analytic Plans"
 msgstr "Analitički planovi"
 
 #. module: account_analytic_plans
-#: field:account.analytic.plan.line,min_required:0
-msgid "Minimum Allowed (%)"
-msgstr "Minimalno dozvoljeno (%)"
+#: code:addons/account_analytic_plans/wizard/account_crossovered_analytic.py:0
+#, python-format
+msgid "User Error"
+msgstr "Korisnicka Greska"
+
+#. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_account_move_line
+msgid "Journal Items"
+msgstr "Sadrzaj Dnevnika"
+
+#. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model
+msgid "analytic.plan.create.model"
+msgstr "analytic.plan.create.model"
 
 #. module: account_analytic_plans
 #: field:account.analytic.plan.instance,account1_ids:0
@@ -204,9 +256,16 @@ msgid "Maximum Allowed (%)"
 msgstr "Maksimalno dozvoljeno (%)"
 
 #. module: account_analytic_plans
-#: wizard_view:create.model,info:0
+#: field:account.analytic.plan.line,root_analytic_id:0
+msgid "Root Account"
+msgstr "Osnovni nalog (root)"
+
+#. module: account_analytic_plans
+#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:0
+#: view:analytic.plan.create.model:0
+#, python-format
 msgid "Distribution Model Saved"
-msgstr "Model distribucije je sacuvan"
+msgstr "Distribucioni model je sacuvan"
 
 #. module: account_analytic_plans
 #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
@@ -224,6 +283,62 @@ msgid "Distribution Models"
 msgstr "Dsitribucioni Modeli"
 
 #. module: account_analytic_plans
+#: view:analytic.plan.create.model:0
+msgid "Ok"
+msgstr "U redu"
+
+#. module: account_analytic_plans
+#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
+msgid "Multiple-plans management in Analytic Accounting"
+msgstr "Visestruki-planovi menadzmenta u Analitickom racunovodstvu"
+
+#. module: account_analytic_plans
+#: view:account.analytic.plan.line:0
+msgid "Analytic Plan Lines"
+msgstr "Redovi analitičkog plana"
+
+#. module: account_analytic_plans
+#: field:account.analytic.plan.line,min_required:0
+msgid "Minimum Allowed (%)"
+msgstr "Minimalno dozvoljeno (%)"
+
+#. module: account_analytic_plans
+#: field:account.analytic.plan.instance,plan_id:0
+msgid "Model's Plan"
+msgstr "Plan modela"
+
+#. module: account_analytic_plans
+#: field:account.analytic.plan.instance,account2_ids:0
+msgid "Account2 Id"
+msgstr "Šifra računa2"
+
+#. module: account_analytic_plans
+#: code:addons/account_analytic_plans/account_analytic_plans.py:0
+#, python-format
+msgid "The Total Should be Between %s and %s"
+msgstr "Ukupni iznos bi trebalo da se nalazi izmedju %s  i  %s"
+
+#. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_account_bank_statement_line
+msgid "Bank Statement Line"
+msgstr "Red bankovnog izvoda"
+
+#. module: account_analytic_plans
+#: report:account.analytic.account.crossovered.analytic:0
+msgid "Amount"
+msgstr "Iznos"
+
+#. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_account_crossovered_analytic
+msgid "Print Crossovered Analytic"
+msgstr "Stampa Unakrsne Analitike"
+
+#. module: account_analytic_plans
+#: field:account.analytic.plan.instance,account6_ids:0
+msgid "Account6 Id"
+msgstr "Šifra računa6"
+
+#. module: account_analytic_plans
 #: model:ir.module.module,description:account_analytic_plans.module_meta_information
 msgid ""
 "This module allows to use several analytic plans, according to the general "
@@ -255,109 +370,53 @@ msgid ""
 "So when this line of invoice will be confirmed, it will generate 3 analytic "
 "lines,\n"
 "for one account entry.\n"
+"The analytic plan validates the minimum and maximum percentage at the time "
+"of creation\n"
+"of distribution models.\n"
 "        "
 msgstr ""
-"Ovaj modul vam omogucava da koristite nekoliko analiticka plana, koji "
-"odgovaraju osnovnom dnevniku,\n"
-"i tako visestruko analizirate stavke kreirane kada je racun ili stavka\n"
-"potvrdjena\n"
-"\n"
-"Na primer, mozete definisati sledecu analiticku strukturu:\n"
-"  Projekat\n"
-"      Projekat 1\n"
-"                   SubProj 1.1\n"
-"                   SubProj 1.2\n"
-"      Projekat 2\n"
-"  Prodavac\n"
-"               Janko\n"
-"               Marko\n"
-"\n"
-"Ovde imamo dva plana. Projekat i Prodavac. Red racuna mora da\n"
-"moze da napise analiticke stavke u 2 plana: SubProj 1.1 i\n"
-"Marko.  Iznos se takodje deli. Sledeci primer je za racune koji \n"
-"su zajednicko sa dva subprojekta i dodati su jednom prodavcu:\n"
-"\n"
-"Plan1:\n"
-"    SubProj 1.1 : 50%\n"
-"    SubProj 1.2 : 50%\n"
-"PLan2:\n"
-"    Janko: 100%\n"
-"\n"
-"Tako da kad se ova linija racuna potvrdi, ona ce generisati 3 \n"
-"analiticke linije za jednu stavku racuna.\n"
-"        "
-
-#. module: account_analytic_plans
-#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
-msgid "Multiple-plans management in Analytic Accounting"
-msgstr "Visestruki-planovi menadzmenta u Analitickom racunovodstvu"
-
-#. module: account_analytic_plans
-#: view:account.analytic.plan.line:0
-#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
-msgid "Analytic Plan Lines"
-msgstr "Redovi analitičkog plana"
-
-#. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
-msgid "Crossovered Analytic -"
-msgstr "Unakrsna Analitika-"
-
-#. module: account_analytic_plans
-#: field:account.analytic.plan.instance,plan_id:0
-msgid "Model's Plan"
-msgstr "Plan modela"
-
-#. module: account_analytic_plans
-#: field:account.analytic.plan.instance,account2_ids:0
-msgid "Account2 Id"
-msgstr "Šifra računa2"
-
-#. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
-msgid "Amount"
-msgstr "Iznos"
 
 #. module: account_analytic_plans
-#: help:account.analytic.plan.line,root_analytic_id:0
-msgid "Root account of this plan."
-msgstr "Osnovni konto ovog plana."
+#: view:analytic.plan.create.model:0
+msgid "Save This Distribution as a Model"
+msgstr "Sacuvaj Ovu Distribuciju kao Model"
 
 #. module: account_analytic_plans
-#: field:account.analytic.plan.instance,account6_ids:0
-msgid "Account6 Id"
-msgstr "Šifra računa6"
-
-#. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Quantity"
 msgstr "Količina"
 
 #. module: account_analytic_plans
+#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_multi_plan_action
+msgid "Multi Plans"
+msgstr "Multi-Planovi"
+
+#. module: account_analytic_plans
 #: field:account.analytic.plan.instance,account_ids:0
 msgid "Account Id"
 msgstr "Šifra konta"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "Code"
 msgstr "Kod"
 
 #. module: account_analytic_plans
-#: wizard_button:create.model,info,end:0
-msgid "OK"
-msgstr "U redu"
+#: model:ir.model,name:account_analytic_plans.model_account_journal
+msgid "Journal"
+msgstr "Dnevnik"
 
 #. module: account_analytic_plans
-#: field:account.analytic.plan.line,root_analytic_id:0
-msgid "Root Account"
-msgstr "Osnovni nalog (root)"
+#: code:addons/account_analytic_plans/account_analytic_plans.py:0
+#, python-format
+msgid "You have to define an analytic journal on the '%s' journal!"
+msgstr "TReba da definises analiticki dnevnik u '%s' dnevnika!"
 
 #. module: account_analytic_plans
-#: wizard_view:create.model,info:0
-msgid ""
-"This distribution model has been saved. You will be able to reuse it later."
-msgstr "Distribucijski Model je sacuvan. Možete ga koristiti kasnije."
+#: code:addons/account_analytic_plans/account_analytic_plans.py:0
+#, python-format
+msgid "No Analytic Journal !"
+msgstr "Nema Analitickog Dnevnika"
 
 #. module: account_analytic_plans
 #: field:account.analytic.plan.line,sequence:0
@@ -365,6 +424,16 @@ msgid "Sequence"
 msgstr "Sekvenca"
 
 #. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_account_invoice_line
+msgid "Invoice Line"
+msgstr "Faktura"
+
+#. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
+msgid "Bank Statement"
+msgstr "Izvod banke"
+
+#. module: account_analytic_plans
 #: field:account.analytic.plan.instance.line,analytic_account_id:0
 msgid "Analytic Account"
 msgstr "Analitički nalog"
@@ -373,32 +442,140 @@ msgstr "Analitički nalog"
 #: field:account.analytic.default,analytics_id:0
 #: view:account.analytic.plan.instance:0
 #: field:account.analytic.plan.instance,name:0
+#: field:account.bank.statement.line,analytics_id:0
 #: field:account.invoice.line,analytics_id:0
 #: field:account.move.line,analytics_id:0
+#: model:ir.model,name:account_analytic_plans.model_account_analytic_default
 msgid "Analytic Distribution"
 msgstr "Analitička Distribucija"
 
 #. module: account_analytic_plans
-#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action
-msgid "Analytic Distribution's models"
-msgstr "Modeli Analitičkih Distribucija"
+#: code:addons/account_analytic_plans/account_analytic_plans.py:0
+#, python-format
+msgid "Value Error"
+msgstr "Pogresna Vrednost"
 
 #. module: account_analytic_plans
-#: wizard_button:wizard.crossovered.analytic,init,end:0
+#: help:account.analytic.plan.line,root_analytic_id:0
+msgid "Root account of this plan."
+msgstr "Osnovni konto ovog plana."
+
+#. module: account_analytic_plans
+#: field:account.crossovered.analytic,ref:0
+msgid "Analytic Account Reference"
+msgstr "referenca Analitickjog naloga"
+
+#. module: account_analytic_plans
+#: model:ir.model,name:account_analytic_plans.model_account_invoice
+msgid "Invoice"
+msgstr "Račun"
+
+#. module: account_analytic_plans
+#: view:account.crossovered.analytic:0
+#: view:analytic.plan.create.model:0
 msgid "Cancel"
 msgstr "Otkaži"
 
 #. module: account_analytic_plans
-#: wizard_field:wizard.crossovered.analytic,init,date1:0
+#: field:account.crossovered.analytic,date1:0
 msgid "Start Date"
 msgstr "Početni datum"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "at"
 msgstr "u"
 
 #. module: account_analytic_plans
-#: rml:account.analytic.account.crossovered.analytic:0
+#: report:account.analytic.account.crossovered.analytic:0
+msgid "Company"
+msgstr "Preduzeće"
+
+#. module: account_analytic_plans
+#: report:account.analytic.account.crossovered.analytic:0
 msgid "From Date"
 msgstr "Od datuma"
+
+#~ msgid "Analytic Account Ref."
+#~ msgstr "Veza analitičkog konta"
+
+#~ msgid "Select Information"
+#~ msgstr "Selektuj informaciju"
+
+#~ msgid "Create Model"
+#~ msgstr "Kreiraj Model"
+
+#~ msgid ""
+#~ "This module allows to use several analytic plans, according to the general "
+#~ "journal,\n"
+#~ "so that multiple analytic lines are created when the invoice or the entries\n"
+#~ "are confirmed.\n"
+#~ "\n"
+#~ "For example, you can define the following analytic structure:\n"
+#~ "  Projects\n"
+#~ "      Project 1\n"
+#~ "          SubProj 1.1\n"
+#~ "          SubProj 1.2\n"
+#~ "      Project 2\n"
+#~ "  Salesman\n"
+#~ "      Eric\n"
+#~ "      Fabien\n"
+#~ "\n"
+#~ "Here, we have two plans: Projects and Salesman. An invoice line must\n"
+#~ "be able to write analytic entries in the 2 plans: SubProj 1.1 and\n"
+#~ "Fabien. The amount can also be split. The following example is for\n"
+#~ "an invoice that touches the two subproject and assigned to one salesman:\n"
+#~ "\n"
+#~ "Plan1:\n"
+#~ "    SubProject 1.1 : 50%\n"
+#~ "    SubProject 1.2 : 50%\n"
+#~ "Plan2:\n"
+#~ "    Eric: 100%\n"
+#~ "\n"
+#~ "So when this line of invoice will be confirmed, it will generate 3 analytic "
+#~ "lines,\n"
+#~ "for one account entry.\n"
+#~ "        "
+#~ msgstr ""
+#~ "Ovaj modul vam omogucava da koristite nekoliko analiticka plana, koji "
+#~ "odgovaraju osnovnom dnevniku,\n"
+#~ "i tako visestruko analizirate stavke kreirane kada je racun ili stavka\n"
+#~ "potvrdjena\n"
+#~ "\n"
+#~ "Na primer, mozete definisati sledecu analiticku strukturu:\n"
+#~ "  Projekat\n"
+#~ "      Projekat 1\n"
+#~ "                   SubProj 1.1\n"
+#~ "                   SubProj 1.2\n"
+#~ "      Projekat 2\n"
+#~ "  Prodavac\n"
+#~ "               Janko\n"
+#~ "               Marko\n"
+#~ "\n"
+#~ "Ovde imamo dva plana. Projekat i Prodavac. Red racuna mora da\n"
+#~ "moze da napise analiticke stavke u 2 plana: SubProj 1.1 i\n"
+#~ "Marko.  Iznos se takodje deli. Sledeci primer je za racune koji \n"
+#~ "su zajednicko sa dva subprojekta i dodati su jednom prodavcu:\n"
+#~ "\n"
+#~ "Plan1:\n"
+#~ "    SubProj 1.1 : 50%\n"
+#~ "    SubProj 1.2 : 50%\n"
+#~ "PLan2:\n"
+#~ "    Janko: 100%\n"
+#~ "\n"
+#~ "Tako da kad se ova linija racuna potvrdi, ona ce generisati 3 \n"
+#~ "analiticke linije za jednu stavku racuna.\n"
+#~ "        "
+
+#~ msgid "Crossovered Analytic -"
+#~ msgstr "Unakrsna Analitika-"
+
+#~ msgid "Analytic Distribution's models"
+#~ msgstr "Modeli Analitičkih Distribucija"
+
+#~ msgid ""
+#~ "This distribution model has been saved. You will be able to reuse it later."
+#~ msgstr "Distribucijski Model je sacuvan. Možete ga koristiti kasnije."
+
+#~ msgid "OK"
+#~ msgstr "U redu"
index 40fc2f9..73efedb 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 22:06+0000\n"
-"Last-Translator: Carlos @ smile.fr <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:16+0000\n"
+"Last-Translator: Carlos-smile <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_budget
index 8dd4067..24d928a 100644 (file)
@@ -22,6 +22,7 @@
 import time
 
 from osv import osv,fields
+from tools.translate import _
 
 class account_coda(osv.osv):
     _name = "account.coda"
@@ -41,6 +42,13 @@ class account_coda(osv.osv):
         'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'account.coda', context=c),
     }
 
+    def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
+        res = super(account_coda, self).search(cr, user, args=args, offset=offset, limit=limit, order=order,
+                context=context, count=count)
+        if context.get('bank_statement', False) and not res:
+            raise osv.except_osv('Error', _('Coda file not found for bank statement !!'))
+        return res
+
 account_coda()
 
 class account_bank_statement(osv.osv):
index 7c7a10a..a16e68d 100644 (file)
      id="menu_account_coda_import" sequence="20"/>
 
     <act_window name="Coda File"
-        domain="[('statement_ids', 'in', [active_id])]"
-        res_model="account.coda"
-        src_model="account.bank.statement"
-        view_type="form"
-        view_mode="tree,form"
-         id="act_account_payment_account_bank_statement"/>
+               domain="[('statement_ids', 'in', [active_id])]"
+               context="{'bank_statement': 1}"
+               res_model="account.coda"
+               src_model="account.bank.statement"
+               view_type="form"
+               view_mode="tree,form"
+               id="act_account_payment_account_bank_statement"/>
 
     </data>
 </openerp>
index 64d8204..595e8dc 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 22:16+0000\n"
-"Last-Translator: Carlos @ smile.fr <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:09+0000\n"
+"Last-Translator: Carlos-smile <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_followup
index b7b1c1e..0c1f2df 100644 (file)
@@ -1,9 +1,22 @@
 -
+  In order to Print the Invoice layout report in Normal Mode, we will create a invoice record
+-
+  !record {model: account.invoice, id: test_invoice_1}:
+       currency_id: base.EUR
+    company_id: base.main_company
+    address_invoice_id: base.res_partner_address_tang
+    partner_id: base.res_partner_asus
+    state: draft
+    type: out_invoice
+    account_id: account.a_recv
+    name: Test invoice 1
+    address_contact_id: base.res_partner_address_tang
+-
   Print the Invoice layout report in Normal Mode
-- 
+-
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.invoice.layout').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.account.invoice.layout').create(cr, uid, [ref('test_invoice_1')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout.'+format), 'wb+').write(data)
 -
@@ -11,7 +24,7 @@
 -
   !python {model: account.invoice}: |
     import netsvc, tools, os, time
-    data_dict = {'model': 'account.invoice', 'form': {'message':ref('account_invoice_layout.demo_message1'),'id':ref('account.test_invoice_1'),'context':{}}}
-    (data, format) = netsvc.LocalService('report.notify_account.invoice').create(cr, uid, [ref('account.test_invoice_1')], data_dict, {})
+    data_dict = {'model': 'account.invoice', 'form': {'message':ref('account_invoice_layout.demo_message1'),'id':ref('test_invoice_1'),'context':{}}}
+    (data, format) = netsvc.LocalService('report.notify_account.invoice').create(cr, uid, [ref('test_invoice_1')], data_dict, {})
     if tools.config['test_report_directory']:
-       file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout_message_report.'+format), 'wb+').write(data) 
\ No newline at end of file
+       file(os.path.join(tools.config['test_report_directory'], 'account_invoice_layout_message_report.'+format), 'wb+').write(data)
\ No newline at end of file
index 7ccafd9..c0579c1 100644 (file)
@@ -19,7 +19,6 @@
 #
 ##############################################################################
 
-
 {
     "name": "Payment Management",
     "version": "1.1",
@@ -56,4 +55,4 @@ This module provides :
     'active': False,
     'certificate': '0061703998541',
 }
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index c05721c..1f882b4 100644 (file)
@@ -20,6 +20,7 @@
 ##############################################################################
 
 from datetime import datetime
+
 from osv import fields, osv
 
 class Invoice(osv.osv):
@@ -49,4 +50,4 @@ class Invoice(osv.osv):
 
 Invoice()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 2b9ea22..638b75d 100644 (file)
@@ -18,6 +18,7 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 from operator import itemgetter
 from osv import fields, osv
 from tools.translate import _
@@ -40,10 +41,10 @@ class account_move_line(osv.osv):
                             INNER JOIN payment_order po
                                 ON (pl.order_id = po.id)
                         WHERE move_line_id = ml.id
-                        AND po.state != 'cancel') as amount
+                        AND po.state != 'cancel') AS amount
                     FROM account_move_line ml
                     WHERE id IN %s""", (tuple(ids),))
-        r=dict(cr.fetchall())
+        r = dict(cr.fetchall())
         return r
 
     def _to_pay_search(self, cr, uid, obj, name, args, context):
@@ -74,8 +75,8 @@ class account_move_line(osv.osv):
 
         res = cr.fetchall()
         if not res:
-            return [('id','=','0')]
-        return [('id','in',map(lambda x:x[0], res))]
+            return [('id', '=', '0')]
+        return [('id', 'in', map(lambda x:x[0], res))]
 
     def line2bank(self, cr, uid, ids, payment_type=None, context=None):
         """
@@ -116,5 +117,4 @@ class account_move_line(osv.osv):
 
 account_move_line()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index a70e8fb..750edcc 100644 (file)
@@ -27,7 +27,7 @@ import netsvc
 class payment_mode(osv.osv):
     _name= 'payment.mode'
     _description= 'Payment Mode'
-    _columns= {
+    _columns = {
         'name': fields.char('Name', size=64, required=True, help='Mode of Payment'),
         'bank_id': fields.many2one('res.partner.bank', "Bank account",
             required=True,help='Bank Account for the Payment Mode'),
@@ -44,10 +44,10 @@ class payment_mode(osv.osv):
         for the given payment type code"""
         if not payment_code:
             return []
-        cr.execute(""" select pb.state
-            from res_partner_bank pb
-            join payment_mode pm on (pm.bank_id = pb.id)
-            where pm.id = %s """, [payment_code])
+        cr.execute(""" SELECT pb.state
+            FROM res_partner_bank pb
+            JOIN payment_mode pm ON (pm.bank_id = pb.id)
+            WHERE pm.id = %s """, [payment_code])
         return [x[0] for x in cr.fetchall()]
 
 payment_mode()
@@ -75,48 +75,49 @@ class payment_order(osv.osv):
         return res
 
     _columns = {
-        'date_scheduled': fields.date('Scheduled date if fixed', states={'done':[('readonly',True)]}, help='Select a date if you have chosen Preferred Date to be fixed.'),
-        'reference': fields.char('Reference', size=128, required=1, states={'done':[('readonly',True)]}),
-        'mode': fields.many2one('payment.mode','Payment mode', select=True, required=1, states={'done':[('readonly',True)]}, help='Select the Payment Mode to be applied.'),
+        'date_scheduled': fields.date('Scheduled date if fixed', states={'done':[('readonly', True)]}, help='Select a date if you have chosen Preferred Date to be fixed.'),
+        'reference': fields.char('Reference', size=128, required=1, states={'done': [('readonly', True)]}),
+        'mode': fields.many2one('payment.mode', 'Payment mode', select=True, required=1, states={'done': [('readonly', True)]}, help='Select the Payment Mode to be applied.'),
         'state': fields.selection([
             ('draft', 'Draft'),
-            ('open','Confirmed'),
-            ('cancel','Cancelled'),
-            ('done','Done')], 'State', select=True,
+            ('open', 'Confirmed'),
+            ('cancel', 'Cancelled'),
+            ('done', 'Done')], 'State', select=True,
             help='When an order is placed the state is \'Draft\'.\n Once the bank is confirmed the state is set to \'Confirmed\'.\n Then the order is paid the state is \'Done\'.'),
-        'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done':[('readonly',True)]}),
-        'total': fields.function(_total, string="Total", method=True,
-            type='float'),
-        'user_id': fields.many2one('res.users', 'User', required=True, states={'done':[('readonly',True)]}),
+        'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done': [('readonly', True)]}),
+        'total': fields.function(_total, string="Total", method=True, type='float'),
+        'user_id': fields.many2one('res.users', 'User', required=True, states={'done': [('readonly', True)]}),
         'date_prefered': fields.selection([
             ('now', 'Directly'),
             ('due', 'Due date'),
             ('fixed', 'Fixed date')
-            ], "Preferred date", change_default=True, required=True, states={'done':[('readonly', True)]}, help="Choose an option for the Payment Order:'Fixed' stands for a date specified by you.'Directly' stands for the direct execution.'Due date' stands for the scheduled date of execution."),
+            ], "Preferred date", change_default=True, required=True, states={'done': [('readonly', True)]}, help="Choose an option for the Payment Order:'Fixed' stands for a date specified by you.'Directly' stands for the direct execution.'Due date' stands for the scheduled date of execution."),
         'date_created': fields.date('Creation date', readonly=True),
         'date_done': fields.date('Execution date', readonly=True),
     }
 
     _defaults = {
         'user_id': lambda self,cr,uid,context: uid,
-        'state': lambda *a: 'draft',
-        'date_prefered': lambda *a: 'due',
-        'date_created': lambda *a: time.strftime('%Y-%m-%d'),
+        'state': 'draft',
+        'date_prefered': 'due',
+        'date_created': time.strftime('%Y-%m-%d'),
         'reference': lambda self,cr,uid,context: self.pool.get('ir.sequence').get(cr, uid, 'payment.order'),
     }
 
     def set_to_draft(self, cr, uid, ids, *args):
-        self.write(cr, uid, ids, {'state':'draft'})
+        self.write(cr, uid, ids, {'state': 'draft'})
         wf_service = netsvc.LocalService("workflow")
         for id in ids:
             wf_service.trg_create(uid, 'payment.order', id, cr)
         return True
 
     def action_open(self, cr, uid, ids, *args):
+        ir_seq_obj = self.pool.get('ir.sequence')
+
         for order in self.read(cr, uid, ids, ['reference']):
             if not order['reference']:
-                reference = self.pool.get('ir.sequence').get(cr, uid, 'payment.order')
-                self.write(cr, uid, order['id'],{'reference':reference})
+                reference = ir_seq_obj.get(cr, uid, 'payment.order')
+                self.write(cr, uid, order['id'], {'reference':reference})
         return True
 
     def set_done(self, cr, uid, ids, *args):
@@ -127,7 +128,7 @@ class payment_order(osv.osv):
 
     def copy(self, cr, uid, id, default={}, context=None):
         default.update({
-            'state':'draft',
+            'state': 'draft',
             'line_ids': [],
             'reference': self.pool.get('ir.sequence').get(cr, uid, 'payment.order')
         })
@@ -138,18 +139,19 @@ class payment_order(osv.osv):
             context = {}
         payment_line_obj = self.pool.get('payment.line')
         payment_line_ids = []
+
         if (vals.get('date_prefered', False) == 'fixed' and not vals.get('date_scheduled', False)) or vals.get('date_scheduled', False):
             for order in self.browse(cr, uid, ids, context=context):
                 for line in order.line_ids:
                     payment_line_ids.append(line.id)
-            payment_line_obj.write(cr, uid, payment_line_ids, {'date':vals.get('date_scheduled', False)}, context=context)
+            payment_line_obj.write(cr, uid, payment_line_ids, {'date': vals.get('date_scheduled', False)}, context=context)
         elif vals.get('date_prefered', False) == 'due':
-            vals.update({'date_scheduled':False})
+            vals.update({'date_scheduled': False})
             for order in self.browse(cr, uid, ids, context=context):
                 for line in order.line_ids:
-                    payment_line_obj.write(cr, uid, [line.id], {'date':line.ml_maturity_date}, context=context)
+                    payment_line_obj.write(cr, uid, [line.id], {'date': line.ml_maturity_date}, context=context)
         elif vals.get('date_prefered', False) == 'now':
-            vals.update({'date_scheduled':False})
+            vals.update({'date_scheduled': False})
             for order in self.browse(cr, uid, ids, context=context):
                 for line in order.line_ids:
                     payment_line_ids.append(line.id)
@@ -169,63 +171,67 @@ class payment_line(osv.osv):
 
     def info_owner(self, cr, uid, ids, name=None, args=None, context=None):
         if not ids: return {}
+        partner_zip_obj = self.pool.get('res.partner.zip')
+
         result = {}
         info=''
         for line in self.browse(cr, uid, ids, context=context):
-            owner=line.order_id.mode.bank_id.partner_id
-            result[line.id]=False
+            owner = line.order_id.mode.bank_id.partner_id
+            result[line.id] = False
             if owner.address:
                 for ads in owner.address:
-                    if ads.type=='default':
-                        st=ads.street and ads.street or ''
-                        st1=ads.street2 and ads.street2 or ''
+                    if ads.type == 'default':
+                        st = ads.street and ads.street or ''
+                        st1 = ads.street2 and ads.street2 or ''
                         if 'zip_id' in ads:
-                            zip_city= ads.zip_id and self.pool.get('res.partner.zip').name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
+                            zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
                         else:
-                            zip=ads.zip and ads.zip or ''
-                            city= ads.city and ads.city or  ''
-                            zip_city= zip + ' ' + city
-                        cntry= ads.country_id and ads.country_id.name or ''
-                        info=owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
-                        result[line.id]=info
+                            zip = ads.zip and ads.zip or ''
+                            city = ads.city and ads.city or  ''
+                            zip_city = zip + ' ' + city
+                        cntry = ads.country_id and ads.country_id.name or ''
+                        info = owner.name + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
+                        result[line.id] = info
                         break
         return result
 
     def info_partner(self, cr, uid, ids, name=None, args=None, context=None):
         if not ids: return {}
+        partner_zip_obj = self.pool.get('res.partner.zip')
         result = {}
-        info=''
+        info = ''
+
         for line in self.browse(cr, uid, ids, context=context):
-            result[line.id]=False
+            result[line.id] = False
             if not line.partner_id:
                 break
             partner = line.partner_id.name or ''
             if line.partner_id.address:
                 for ads in line.partner_id.address:
-                    if ads.type=='default':
-                        st=ads.street and ads.street or ''
-                        st1=ads.street2 and ads.street2 or ''
+                    if ads.type == 'default':
+                        st = ads.street and ads.street or ''
+                        st1 = ads.street2 and ads.street2 or ''
                         if 'zip_id' in ads:
-                            zip_city= ads.zip_id and self.pool.get('res.partner.zip').name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
+                            zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
                         else:
-                            zip=ads.zip and ads.zip or ''
-                            city= ads.city and ads.city or  ''
-                            zip_city= zip + ' ' + city
-                        cntry= ads.country_id and ads.country_id.name or ''
-                        info=partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
-                        result[line.id]=info
+                            zip = ads.zip and ads.zip or ''
+                            city = ads.city and ads.city or  ''
+                            zip_city = zip + ' ' + city
+                        cntry = ads.country_id and ads.country_id.name or ''
+                        info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
+                        result[line.id] = info
                         break
         return result
 
     def select_by_name(self, cr, uid, ids, name, args, context=None):
         if not ids: return {}
-
         partner_obj = self.pool.get('res.partner')
+
         cr.execute("""SELECT pl.id, ml.%s
-            from account_move_line ml
-                inner join payment_line pl
-                on (ml.id = pl.move_line_id)
-                where pl.id IN %%s"""% self.translate(name),
+            FROM account_move_line ml
+                INNER JOIN payment_line pl
+                ON (ml.id = pl.move_line_id)
+                WHERE pl.id IN %%s"""% self.translate(name),
                    (tuple(ids),))
         res = dict(cr.fetchall())
 
@@ -252,6 +258,7 @@ class payment_line(osv.osv):
         if context is None:
             context = {}
         res = {}
+
         for line in self.browse(cursor, user, ids, context=context):
             ctx = context.copy()
             ctx['date'] = line.order_id.date_done or time.strftime('%Y-%m-%d')
@@ -261,18 +268,23 @@ class payment_line(osv.osv):
         return res
 
     def _get_currency(self, cr, uid, context):
-        user = self.pool.get('res.users').browse(cr, uid, uid)
+        user_obj = self.pool.get('res.users')
+        currency_obj = self.pool.get('res.currency')
+        user = user_obj.browse(cr, uid, uid)
+
         if user.company_id:
             return user.company_id.currency_id.id
         else:
-            return self.pool.get('res.currency').search(cr, uid, [('rate','=',1.0)])[0]
+            return currency_obj.search(cr, uid, [('rate', '=', 1.0)])[0]
 
     def _get_date(self, cr, uid, context=None):
         if context is None:
             context = {}
+        payment_order_obj = self.pool.get('payment.order')
         date = False
+
         if context.get('order_id') and context['order_id']:
-            order = self.pool.get('payment.order').browse(cr, uid, context['order_id'], context)
+            order = payment_order_obj.browse(cr, uid, context['order_id'], context)
             if order.date_prefered == 'fixed':
                 date = order.date_scheduled
             else:
@@ -280,7 +292,7 @@ class payment_line(osv.osv):
         return date
 
     def _get_ml_inv_ref(self, cr, uid, ids, *a):
-        res={}
+        res = {}
         for id in self.browse(cr, uid, ids):
             res[id.id] = False
             if id.move_line_id:
@@ -289,7 +301,7 @@ class payment_line(osv.osv):
         return res
 
     def _get_ml_maturity_date(self, cr, uid, ids, *a):
-        res={}
+        res = {}
         for id in self.browse(cr, uid, ids):
             if id.move_line_id:
                 res[id.id] = id.move_line_id.date_maturity
@@ -298,7 +310,7 @@ class payment_line(osv.osv):
         return res
 
     def _get_ml_created_date(self, cr, uid, ids, *a):
-        res={}
+        res = {}
         for id in self.browse(cr, uid, ids):
             if id.move_line_id:
                 res[id.id] = id.move_line_id.date_created
@@ -310,8 +322,8 @@ class payment_line(osv.osv):
         'name': fields.char('Your Reference', size=64, required=True),
         'communication': fields.char('Communication', size=64, required=True, help="Used as the message between ordering customer and current company. Depicts 'What do you want to say to the recipient about this order ?'"),
         'communication2': fields.char('Communication 2', size=64, help='The successor message of Communication.'),
-        'move_line_id': fields.many2one('account.move.line', 'Entry line', domain=[('reconcile_id','=', False), ('account_id.type', '=','payable')], help='This Entry Line will be referred for the information of the ordering customer.'),
-        'amount_currency': fields.float('Amount in Partner Currency', digits=(16,2),
+        'move_line_id': fields.many2one('account.move.line', 'Entry line', domain=[('reconcile_id', '=', False), ('account_id.type', '=', 'payable')], help='This Entry Line will be referred for the information of the ordering customer.'),
+        'amount_currency': fields.float('Amount in Partner Currency', digits=(16, 2),
             required=True, help='Payment amount in the partner currency'),
         'currency': fields.many2one('res.currency','Partner Currency', required=True),
         'company_currency': fields.many2one('res.currency', 'Company Currency', readonly=True),
@@ -346,19 +358,20 @@ class payment_line(osv.osv):
     ]
 
     def onchange_move_line(self, cr, uid, ids, move_line_id, payment_type, date_prefered, date_scheduled, currency=False, company_currency=False, context=None):
-        data={}
+        data = {}
+        move_line_obj = self.pool.get('account.move.line')
 
-        data['amount_currency']=data['communication']=data['partner_id']=data['reference']=data['date_created']=data['bank_id']=data['amount']=False
+        data['amount_currency'] = data['communication'] = data['partner_id'] = data['reference'] = data['date_created'] = data['bank_id'] = data['amount'] = False
 
         if move_line_id:
-            line = self.pool.get('account.move.line').browse(cr, uid, move_line_id)
-            data['amount_currency']=line.amount_to_pay
+            line = move_line_obj.browse(cr, uid, move_line_id)
+            data['amount_currency'] = line.amount_to_pay
 
             res = self.onchange_amount(cr, uid, ids, data['amount_currency'], currency,
                                        company_currency, context)
             if res:
                 data['amount'] = res['value']['amount']
-            data['partner_id']=line.partner_id.id
+            data['partner_id'] = line.partner_id.id
             temp = line.currency_id and line.currency_id.id or False
             if not temp:
                 if line.invoice:
@@ -367,12 +380,12 @@ class payment_line(osv.osv):
                 data['currency'] = temp
 
             # calling onchange of partner and updating data dictionary
-            temp_dict=self.onchange_partner(cr, uid, ids, line.partner_id.id, payment_type)
+            temp_dict = self.onchange_partner(cr, uid, ids, line.partner_id.id, payment_type)
             data.update(temp_dict['value'])
 
-            data['reference']=line.ref
+            data['reference'] = line.ref
             data['date_created'] = line.date_created
-            data['communication']=line.ref
+            data['communication'] = line.ref
 
             if date_prefered == 'now':
                 #no payment date => immediate payment
@@ -385,7 +398,7 @@ class payment_line(osv.osv):
 
     def onchange_amount(self, cr, uid, ids, amount, currency, cmpny_currency, context=None):
         if (not amount) or (not cmpny_currency):
-            return {'value': {'amount':False}}
+            return {'value': {'amount': False}}
         res = {}
         currency_obj = self.pool.get('res.currency')
         company_amount = currency_obj.compute(cr, uid, currency, cmpny_currency, amount)
@@ -393,33 +406,36 @@ class payment_line(osv.osv):
         return {'value': res}
 
     def onchange_partner(self, cr, uid, ids, partner_id, payment_type, context=None):
-        data={}
-        data['info_partner']=data['bank_id']=False
+        data = {}
+        partner_zip_obj = self.pool.get('res.partner.zip')
+        partner_obj = self.pool.get('res.partner')
+        payment_mode_obj = self.pool.get('payment.mode')
+        data['info_partner'] = data['bank_id'] = False
 
         if partner_id:
-            part_obj=self.pool.get('res.partner').browse(cr, uid, partner_id)
-            partner=part_obj.name or ''
+            part_obj = partner_obj.browse(cr, uid, partner_id)
+            partner = part_obj.name or ''
 
             if part_obj.address:
                 for ads in part_obj.address:
-                    if ads.type=='default':
-                        st=ads.street and ads.street or ''
-                        st1=ads.street2 and ads.street2 or ''
+                    if ads.type == 'default':
+                        st = ads.street and ads.street or ''
+                        st1 = ads.street2 and ads.street2 or ''
 
                         if 'zip_id' in ads:
-                            zip_city= ads.zip_id and self.pool.get('res.partner.zip').name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
+                            zip_city = ads.zip_id and partner_zip_obj.name_get(cr, uid, [ads.zip_id.id])[0][1] or ''
                         else:
-                            zip=ads.zip and ads.zip or ''
-                            city= ads.city and ads.city or  ''
-                            zip_city= zip + ' ' + city
+                            zip = ads.zip and ads.zip or ''
+                            city = ads.city and ads.city or  ''
+                            zip_city = zip + ' ' + city
 
-                        cntry= ads.country_id and ads.country_id.name or ''
-                        info=partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
+                        cntry = ads.country_id and ads.country_id.name or ''
+                        info = partner + "\n" + st + " " + st1 + "\n" + zip_city + "\n" +cntry
 
-                        data['info_partner']=info
+                        data['info_partner'] = info
 
             if part_obj.bank_ids and payment_type:
-                bank_type = self.pool.get('payment.mode').suitable_bank_types(cr, uid, payment_type, context=context)
+                bank_type = payment_mode_obj.suitable_bank_types(cr, uid, payment_type, context=context)
                 for bank in part_obj.bank_ids:
                     if bank.state in bank_type:
                         data['bank_id'] = bank.id
@@ -432,7 +448,6 @@ class payment_line(osv.osv):
             res['communication2'].setdefault('states', {})
             res['communication2']['states']['structured'] = [('readonly', True)]
             res['communication2']['states']['normal'] = [('readonly', False)]
-
         return res
 
 payment_line()
index f0f6030..0b2a806 100644 (file)
 ##############################################################################
 
 import time
-import datetime
+
 import pooler
 from report import report_sxw
 
 class payment_order(report_sxw.rml_parse):
 
-    def __init__(self, cr, uid, name, context):
+    def __init__(self, cr, uid, name, context=None):
         super(payment_order, self).__init__(cr, uid, name, context=context)
         self.localcontext.update( {
             'time': time,
@@ -36,8 +36,8 @@ class payment_order(report_sxw.rml_parse):
             'get_amount_total_in_currency': self._get_amount_total_in_currency,
             'get_amount_total': self._get_amount_total,
             'get_account_name': self._get_account_name,
-
         })
+
     def _get_invoice_name(self, invoice_id):
         if invoice_id:
             pool = pooler.get_pool(self.cr.dbname)
index c5f7be5..1c5aefa 100644 (file)
@@ -18,6 +18,7 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 import account_payment_order
 import account_payment_populate_statement
 import account_payment_pay
index 4a070f0..8ef89be 100644 (file)
@@ -18,6 +18,7 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 import time
 from lxml import etree
 
@@ -39,10 +40,10 @@ class payment_order_create(osv.osv_memory):
     _columns = {
         'duedate': fields.date('Due Date', required=True),
         'entries': fields.many2many('account.move.line', 'line_pay_rel', 'pay_id', 'line_id', 'Entries')
-                }
+    }
     _defaults = {
          'duedate': time.strftime('%Y-%m-%d'),
-                 }
+    }
 
     def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
         res = super(payment_order_create, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False)
@@ -63,7 +64,8 @@ class payment_order_create(osv.osv_memory):
             context = {}
         data = self.read(cr, uid, ids, [])[0]
         line_ids = data['entries']
-        if not line_ids: return {}
+        if not line_ids:
+            return {}
 
         payment = order_obj.browse(cr, uid, context['active_id'], context=context)
         t = None
@@ -99,16 +101,13 @@ class payment_order_create(osv.osv_memory):
         data = self.read(cr, uid, ids, [], context=context)[0]
         search_due_date = data['duedate']
         payment = order_obj.browse(cr, uid, context['active_id'], context=context)
-        ctx = ''
-        if payment.mode:
-            ctx = '''context="{'journal_id': %d}"''' % payment.mode.journal.id
 
         # Search for move line to pay:
-        domain = [('reconcile_id', '=', False),('account_id.type', '=', 'payable'),('amount_to_pay', '>', 0)]
-        domain = domain + ['|',('date_maturity','<=',search_due_date),('date_maturity','=',False)]
+        domain = [('reconcile_id', '=', False), ('account_id.type', '=', 'payable'), ('amount_to_pay', '>', 0)]
+        domain = domain + ['|', ('date_maturity', '<=', search_due_date), ('date_maturity', '=', False)]
         line_ids = line_obj.search(cr, uid, domain, context=context)
         context.update({'line_ids': line_ids})
-        model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_create_payment_order_lines')], context=context)
+        model_data_ids = mod_obj.search(cr, uid,[('model', '=', 'ir.ui.view'), ('name', '=', 'view_create_payment_order_lines')], context=context)
         resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
         return {'name': ('Entrie Lines'),
                 'context': context,
@@ -118,7 +117,7 @@ class payment_order_create(osv.osv_memory):
                 'views': [(resource_id,'form')],
                 'type': 'ir.actions.act_window',
                 'target': 'new',
-                }
+        }
 
 payment_order_create()
 
index 09ea68e..8e524c7 100644 (file)
@@ -18,7 +18,8 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
-from osv import fields, osv
+
+from osv import osv
 
 class account_payment_make_payment(osv.osv_memory):
     _name = "account.payment.make.payment"
index 7697d4e..bd61d58 100644 (file)
@@ -29,7 +29,7 @@ class account_payment_populate_statement(osv.osv_memory):
     _description = "Account Payment Populate Statement"
     _columns = {
         'lines': fields.many2many('payment.line', 'payment_line_rel_', 'payment_id', 'line_id', 'Payment Lines')
-               }
+    }
 
     def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
         line_obj = self.pool.get('payment.line')
@@ -56,6 +56,7 @@ class account_payment_populate_statement(osv.osv_memory):
         currency_obj = self.pool.get('res.currency')
         voucher_obj = self.pool.get('account.voucher')
         voucher_line_obj = self.pool.get('account.voucher.line')
+        move_line_obj = self.pool.get('account.move.line')
 
         if context is None:
             context = {}
@@ -75,34 +76,28 @@ class account_payment_populate_statement(osv.osv_memory):
             context.update({'move_line_ids': [line.move_line_id.id]})
             result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), currency_id= statement.currency.id, ttype='payment', context=context)
 
-            if line.partner_id:
-#                line['partner_id'] = mv.partner_id.id
-                if amount < 0:
-                    account = line.partner_id.property_account_payable.id
-                else:
-                    account = line.partner_id.property_account_receivable.id
-
             if line.move_line_id:
-                voucher_res = { 'type': 'payment',
-                'name': line.name,
-                'partner_id': line.partner_id.id,
-                'journal_id': statement.journal_id.id,
-                'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id),
-                'company_id': statement.company_id.id,
-                'currency_id': statement.currency.id,
-                'date': line.date or time.strftime('%Y-%m-%d'),
-                'amount': abs(amount),
-                'period_id': statement.period_id.id
+                voucher_res = {
+                        'type': 'payment',
+                        'name': line.name,
+                        'partner_id': line.partner_id.id,
+                        'journal_id': statement.journal_id.id,
+                        'account_id': result.get('account_id', statement.journal_id.default_credit_account_id.id),
+                        'company_id': statement.company_id.id,
+                        'currency_id': statement.currency.id,
+                        'date': line.date or time.strftime('%Y-%m-%d'),
+                        'amount': abs(amount),
+                        'period_id': statement.period_id.id
                 }
                 voucher_id = voucher_obj.create(cr, uid, voucher_res, context=context)
                 voucher_line_dict =  False
                 if result['value']['line_ids']:
                     for line_dict in result['value']['line_ids']:
-                        move_line = self.pool.get('account.move.line').browse(cr, uid, line_dict['move_line_id'], context)
+                        move_line = move_line_obj.browse(cr, uid, line_dict['move_line_id'], context)
                         if line.move_line_id.move_id.id == move_line.move_id.id:
                             voucher_line_dict = line_dict
                 if voucher_line_dict:
-                    voucher_line_dict.update({'voucher_id':voucher_id})
+                    voucher_line_dict.update({'voucher_id': voucher_id})
                     voucher_line_obj.create(cr, uid, voucher_line_dict, context=context)
 
                 st_line_id = statement_line_obj.create(cr, uid, {
index 65ca37b..2e6645e 100644 (file)
@@ -20,7 +20,7 @@
 ##############################################################################
 
 import report
-import account
+import account_reporting
 import wizard
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 
index fb05e75..b5bbaa3 100644 (file)
@@ -31,9 +31,8 @@
     'init_xml': [],
     'update_xml': [
         'security/ir.model.access.csv',
-        'account_view.xml',
-        'account_report.xml',
-        'account_data.xml',
+        'account_reporting_view.xml',
+        'account_reporting_data.xml',
         'wizard/account_reporting_balance_report_view.xml',
     ],
     'demo_xml': ['account_reporting_demo.xml'],
diff --git a/addons/account_reporting/account.py b/addons/account_reporting/account.py
deleted file mode 100644 (file)
index 7fc0840..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-#    OpenERP, Open Source Management Solution
-#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU Affero General Public License as
-#    published by the Free Software Foundation, either version 3 of the
-#    License, or (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU Affero General Public License for more details.
-#
-#    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-import time
-import netsvc
-from osv import fields, osv
-
-from tools.misc import currency
-
-
-class color_rml(osv.osv):
-    _name = "color.rml"
-    _description = "Rml Color"
-    _columns = {
-        'name': fields.char('Name', size=64, required=True),
-        'code': fields.char('code',size=64,required=True),
-        }
-
-color_rml()
-
-class account_report_bs(osv.osv):
-    _name = "account.report.bs"
-    _description = "Account reporting for Balance Sheet"
-    _font = [
-             ('',''),
-             ('Courier','Courier'),
-             ('Courier-Bold','Courier-Bold'),
-             ('Courier-BoldOblique','Courier-BoldOblique'),
-             ('Courier-Oblique','Courier-Oblique'),
-             ('Helvetica','Helvetica'),
-             ('Helvetica-Bold','Helvetica-Bold'),
-             ('Helvetica-Oblique','Helvetica-Oblique'),
-             ('Times-Bold','Times-Bold'),
-             ('Times-BoldItalic','Times-BoldItalic'),
-             ('Times-Italic','Times-Italic'),
-             ('Times-Roman','Times-Roman'),
-            ]
-    _color = [
-            ('', ''),
-            ('green','Green'),
-            ('red','Red'),
-            ('pink','Pink'),
-            ('blue','Blue'),
-            ('yellow','Yellow'),
-            ('cyan','Cyan'),
-            ('lightblue','Light Blue'),
-            ('orange','Orange'),
-            ]
-    _style = [
-            ('', ''),
-            ('h1','Header 1'),
-            ('h2','Header 2'),
-            ('h3','Header 3'),
-            ]
-
-    def onchange_parent_id(self, cr, uid, ids, parent_id):
-        v={}
-        if parent_id:
-            acc=self.pool.get('account.report.report').browse(cr, uid, parent_id)
-            v['type']=acc.type
-            if int(acc.style) < 6:
-                v['style'] = str(int(acc.style)+1)
-        return {'value': v}
-
-    _columns = {
-        'name': fields.char('Name', size=64, required=True),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of account reporting for balance sheet."),
-        'code': fields.char('Code', size=64, required=True),
-        'account_id': fields.many2many('account.account', 'account_report_rel', 'report_id', 'account_id', 'Accounts'),
-        'note': fields.text('Note'),
-        'color_font' : fields.many2one('color.rml','Font Color'),
-        'color_back' : fields.many2one('color.rml','Back Color'),
-        'font_style' : fields.selection(_font, 'Font'),
-        'parent_id': fields.many2one('account.report.bs', 'Parent'),
-        'child_id': fields.one2many('account.report.bs', 'parent_id', 'Children'),
-        'report_type' : fields.selection([('only_obj', 'Report Objects Only'),('with_account', 'Report Objects With Accounts'),('acc_with_child', 'Report Objects With Accounts and child of Accounts')],"Report Type")
-    }
-    _defaults = {
-        'report_type': lambda *a :'only_obj',
-        'color_font': lambda *a :'',
-        'color_back': lambda *a :'',
-        'font_style': lambda *a :'',
-    }
-
-    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
-        if not args:
-            args=[]
-        if not context:
-            context={}
-        ids = []
-        if name:
-            ids = self.search(cr, user, [('code','=',name)]+ args, limit=limit, context=context)
-            if not ids:
-                ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
-        else:
-            ids = self.search(cr, user, args, limit=limit, context=context)
-        return self.name_get(cr, user, ids, context=context)
-
-account_report_bs()
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/account_reporting/account_data.xml b/addons/account_reporting/account_data.xml
deleted file mode 100644 (file)
index c4e2dac..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-<?xml version="1.0"?>
-<openerp>
-<data>
-
-       <record model="color.rml" id="c1">
-               <field name="name">aliceblue</field>
-               <field name="code">aliceblue</field>
-       </record>
-
-       <record model="color.rml" id="c2">
-               <field name="name">antiquewhite</field>
-               <field name="code">antiquewhite</field>
-       </record>
-
-       <record model="color.rml" id="c3">
-               <field name="name">aqua</field>
-               <field name="code">aqua</field>
-       </record>
-
-       <record model="color.rml" id="c4">
-               <field name="name">aquamarine</field>
-               <field name="code">aquamarine</field>
-       </record>
-
-       <record model="color.rml" id="c5">
-               <field name="name">azure</field>
-               <field name="code">azure</field>
-       </record>
-
-       <record model="color.rml" id="c6">
-               <field name="name">beige</field>
-               <field name="code">beige</field>
-       </record>
-
-       <record model="color.rml" id="c7">
-               <field name="name">bisque</field>
-               <field name="code">bisque</field>
-       </record>
-
-       <record model="color.rml" id="c8">
-               <field name="name">black</field>
-               <field name="code">black</field>
-       </record>
-
-       <record model="color.rml" id="c9">
-               <field name="name">blanchedalmond</field>
-               <field name="code">blanchedalmond</field>
-       </record>
-
-       <record model="color.rml" id="c10">
-               <field name="name">blue</field>
-               <field name="code">blue</field>
-       </record>
-
-       <record model="color.rml" id="c11">
-               <field name="name">blueviolet</field>
-               <field name="code">blueviolet</field>
-       </record>
-
-       <record model="color.rml" id="c12">
-               <field name="name">brown</field>
-               <field name="code">brown</field>
-       </record>
-
-       <record model="color.rml" id="c13">
-               <field name="name">burlywood</field>
-               <field name="code">burlywood</field>
-       </record>
-
-       <record model="color.rml" id="c14">
-               <field name="name">cadetblue</field>
-               <field name="code">cadetblue</field>
-       </record>
-
-       <record model="color.rml" id="c15">
-               <field name="name">chartreuse</field>
-               <field name="code">chartreuse</field>
-       </record>
-
-       <record model="color.rml" id="c16">
-               <field name="name">chocolate</field>
-               <field name="code">chocolate</field>
-       </record>
-
-       <record model="color.rml" id="c17">
-               <field name="name">coral</field>
-               <field name="code">coral</field>
-       </record>
-
-       <record model="color.rml" id="c18">
-               <field name="name">cornflower</field>
-               <field name="code">cornflower</field>
-       </record>
-
-       <record model="color.rml" id="c19">
-               <field name="name">cornsilk</field>
-               <field name="code">cornsilk</field>
-       </record>
-
-       <record model="color.rml" id="c20">
-               <field name="name">crimson</field>
-               <field name="code">crimson</field>
-       </record>
-
-       <record model="color.rml" id="c21">
-               <field name="name">cyan</field>
-               <field name="code">cyan</field>
-       </record>
-
-       <record model="color.rml" id="c22">
-               <field name="name">darkblue</field>
-               <field name="code">darkblue</field>
-       </record>
-
-       <record model="color.rml" id="c23">
-               <field name="name">darkcyan</field>
-               <field name="code">darkcyan</field>
-       </record>
-
-       <record model="color.rml" id="c24">
-               <field name="name">darkgoldenrod</field>
-               <field name="code">darkgoldenrod</field>
-       </record>
-
-       <record model="color.rml" id="c25">
-               <field name="name">darkgray</field>
-               <field name="code">darkgray</field>
-       </record>
-
-       <record model="color.rml" id="c26">
-               <field name="name">darkgreen</field>
-               <field name="code">darkgreen</field>
-       </record>
-
-       <record model="color.rml" id="c27">
-               <field name="name">darkkhaki</field>
-               <field name="code">darkkhaki</field>
-       </record>
-
-       <record model="color.rml" id="c28">
-               <field name="name">darkmagenta</field>
-               <field name="code">darkmagenta</field>
-       </record>
-
-       <record model="color.rml" id="c29">
-               <field name="name">darkolivegreen</field>
-               <field name="code">darkolivegreen</field>
-       </record>
-
-       <record model="color.rml" id="c30">
-               <field name="name">darkorange</field>
-               <field name="code">darkorange</field>
-       </record>
-
-       <record model="color.rml" id="c31">
-               <field name="name">darkorchid</field>
-               <field name="code">darkorchid</field>
-       </record>
-
-       <record model="color.rml" id="c32">
-               <field name="name">darkred</field>
-               <field name="code">darkred</field>
-       </record>
-
-       <record model="color.rml" id="c33">
-               <field name="name">darksalmon</field>
-               <field name="code">darksalmon</field>
-       </record>
-
-       <record model="color.rml" id="c34">
-               <field name="name">darkseagreen</field>
-               <field name="code">darkseagreen</field>
-       </record>
-
-       <record model="color.rml" id="c35">
-               <field name="name">darkslateblue</field>
-               <field name="code">darkslateblue</field>
-       </record>
-
-       <record model="color.rml" id="c36">
-               <field name="name">darkslategray</field>
-               <field name="code">darkslategray</field>
-       </record>
-
-       <record model="color.rml" id="c37">
-               <field name="name">darkturquoise</field>
-               <field name="code">darkturquoise</field>
-       </record>
-
-       <record model="color.rml" id="c38">
-               <field name="name">darkviolet</field>
-               <field name="code">darkviolet</field>
-       </record>
-
-       <record model="color.rml" id="c39">
-               <field name="name">deeppink</field>
-               <field name="code">deeppink</field>
-       </record>
-
-       <record model="color.rml" id="c40">
-               <field name="name">deepskyblue</field>
-               <field name="code">deepskyblue</field>
-       </record>
-
-       <record model="color.rml" id="c41">
-               <field name="name">dimgray</field>
-               <field name="code">dimgray</field>
-       </record>
-
-       <record model="color.rml" id="c42">
-               <field name="name">dodgerblue</field>
-               <field name="code">dodgerblue</field>
-       </record>
-
-       <record model="color.rml" id="c43">
-               <field name="name">firebrick</field>
-               <field name="code">firebrick</field>
-       </record>
-
-       <record model="color.rml" id="c44">
-               <field name="name">floralwhite</field>
-               <field name="code">floralwhite</field>
-       </record>
-
-       <record model="color.rml" id="c45">
-               <field name="name">forestgreen</field>
-               <field name="code">forestgreen</field>
-       </record>
-
-       <record model="color.rml" id="c46">
-               <field name="name">fuchsia</field>
-               <field name="code">fuchsia</field>
-       </record>
-
-       <record model="color.rml" id="c47">
-               <field name="name">gainsboro</field>
-               <field name="code">gainsboro</field>
-       </record>
-
-       <record model="color.rml" id="c48">
-               <field name="name">ghostwhite</field>
-               <field name="code">ghostwhite</field>
-       </record>
-
-       <record model="color.rml" id="c49">
-               <field name="name">gold</field>
-               <field name="code">gold</field>
-       </record>
-
-       <record model="color.rml" id="c50">
-               <field name="name">goldenrod</field>
-               <field name="code">goldenrod</field>
-       </record>
-
-       <record model="color.rml" id="c51">
-               <field name="name">gray</field>
-               <field name="code">gray</field>
-       </record>
-
-       <record model="color.rml" id="c52">
-               <field name="name">green</field>
-               <field name="code">green</field>
-       </record>
-
-       <record model="color.rml" id="c53">
-               <field name="name">greenyellow</field>
-               <field name="code">greenyellow</field>
-       </record>
-
-       <record model="color.rml" id="c54">
-               <field name="name">honeydew</field>
-               <field name="code">honeydew</field>
-       </record>
-
-       <record model="color.rml" id="c55">
-               <field name="name">hotpink</field>
-               <field name="code">hotpink</field>
-       </record>
-
-       <record model="color.rml" id="c56">
-               <field name="name">indianred</field>
-               <field name="code">indianred</field>
-       </record>
-
-       <record model="color.rml" id="c57">
-               <field name="name">indigo</field>
-               <field name="code">indigo</field>
-       </record>
-
-       <record model="color.rml" id="c58">
-               <field name="name">ivory</field>
-               <field name="code">ivory</field>
-       </record>
-
-       <record model="color.rml" id="c59">
-               <field name="name">khaki</field>
-               <field name="code">khaki</field>
-       </record>
-
-       <record model="color.rml" id="c60">
-               <field name="name">lavender</field>
-               <field name="code">lavender</field>
-       </record>
-
-       <record model="color.rml" id="c61">
-               <field name="name">lavenderblush</field>
-               <field name="code">lavenderblush</field>
-       </record>
-
-       <record model="color.rml" id="c62">
-               <field name="name">lawngreen</field>
-               <field name="code">lawngreen</field>
-       </record>
-
-       <record model="color.rml" id="c63">
-               <field name="name">lemonchiffon</field>
-               <field name="code">lemonchiffon</field>
-       </record>
-
-       <record model="color.rml" id="c64">
-               <field name="name">lightblue</field>
-               <field name="code">lightblue</field>
-       </record>
-
-       <record model="color.rml" id="c65">
-               <field name="name">lightcoral</field>
-               <field name="code">lightcoral</field>
-       </record>
-
-       <record model="color.rml" id="c66">
-               <field name="name">lightcyan</field>
-               <field name="code">lightcyan</field>
-       </record>
-
-       <record model="color.rml" id="c67">
-               <field name="name">lightgoldenrodyellow</field>
-               <field name="code">lightgoldenrodyellow</field>
-       </record>
-
-       <record model="color.rml" id="c68">
-               <field name="name">lightgreen</field>
-               <field name="code">lightgreen</field>
-       </record>
-
-       <record model="color.rml" id="c69">
-               <field name="name">lightpink</field>
-               <field name="code">lightpink</field>
-       </record>
-
-       <record model="color.rml" id="c70">
-               <field name="name">lightsalmon</field>
-               <field name="code">lightsalmon</field>
-       </record>
-
-       <record model="color.rml" id="c71">
-               <field name="name">lightseagreen</field>
-               <field name="code">lightseagreen</field>
-       </record>
-
-       <record model="color.rml" id="c72">
-               <field name="name">lightskyblue</field>
-               <field name="code">lightskyblue</field>
-       </record>
-
-       <record model="color.rml" id="c73">
-               <field name="name">lightslategray</field>
-               <field name="code">lightslategray</field>
-       </record>
-
-       <record model="color.rml" id="c74">
-               <field name="name">lightsteelblue</field>
-               <field name="code">lightsteelblue</field>
-       </record>
-
-       <record model="color.rml" id="c75">
-               <field name="name">lightyellow</field>
-               <field name="code">lightyellow</field>
-       </record>
-
-       <record model="color.rml" id="c76">
-               <field name="name">lime</field>
-               <field name="code">lime</field>
-       </record>
-
-       <record model="color.rml" id="c77">
-               <field name="name">limegreen</field>
-               <field name="code">limegreen</field>
-       </record>
-
-       <record model="color.rml" id="c78">
-               <field name="name">linen</field>
-               <field name="code">linen</field>
-       </record>
-
-       <record model="color.rml" id="c79">
-               <field name="name">magenta</field>
-               <field name="code">magenta</field>
-       </record>
-
-       <record model="color.rml" id="c80">
-               <field name="name">maroon</field>
-               <field name="code">maroon</field>
-       </record>
-
-       <record model="color.rml" id="c81">
-               <field name="name">mediumaquamarine</field>
-               <field name="code">mediumaquamarine</field>
-       </record>
-
-       <record model="color.rml" id="c82">
-               <field name="name">mediumblue</field>
-               <field name="code">mediumblue</field>
-       </record>
-
-       <record model="color.rml" id="c83">
-               <field name="name">mediumorchid</field>
-               <field name="code">mediumorchid</field>
-       </record>
-
-       <record model="color.rml" id="c84">
-               <field name="name">mediumpurple</field>
-               <field name="code">mediumpurple</field>
-       </record>
-
-       <record model="color.rml" id="c85">
-               <field name="name">mediumseagreen</field>
-               <field name="code">mediumseagreen</field>
-       </record>
-
-       <record model="color.rml" id="c86">
-               <field name="name">mediumslateblue</field>
-               <field name="code">mediumslateblue</field>
-       </record>
-
-       <record model="color.rml" id="c87">
-               <field name="name">mediumspringgreen</field>
-               <field name="code">mediumspringgreen</field>
-       </record>
-
-       <record model="color.rml" id="c88">
-               <field name="name">mediumturquoise</field>
-               <field name="code">mediumturquoise</field>
-       </record>
-
-       <record model="color.rml" id="c89">
-               <field name="name">mediumvioletred</field>
-               <field name="code">mediumvioletred</field>
-       </record>
-
-       <record model="color.rml" id="c90">
-               <field name="name">midnightblue</field>
-               <field name="code">midnightblue</field>
-       </record>
-
-       <record model="color.rml" id="c91">
-               <field name="name">mintcream</field>
-               <field name="code">mintcream</field>
-       </record>
-
-       <record model="color.rml" id="c92">
-               <field name="name">mistyrose</field>
-               <field name="code">mistyrose</field>
-       </record>
-
-       <record model="color.rml" id="c93">
-               <field name="name">moccasin</field>
-               <field name="code">moccasin</field>
-       </record>
-
-       <record model="color.rml" id="c94">
-               <field name="name">navajowhite</field>
-               <field name="code">navajowhite</field>
-       </record>
-
-       <record model="color.rml" id="c95">
-               <field name="name">navy</field>
-               <field name="code">navy</field>
-       </record>
-
-       <record model="color.rml" id="c96">
-               <field name="name">oldlace</field>
-               <field name="code">oldlace</field>
-       </record>
-
-       <record model="color.rml" id="c97">
-               <field name="name">olive</field>
-               <field name="code">olive</field>
-       </record>
-
-</data>
-</openerp>
diff --git a/addons/account_reporting/account_report.xml b/addons/account_reporting/account_report.xml
deleted file mode 100644 (file)
index ebfe70e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<openerp>
-       <data>
-
-       </data>
-</openerp>
diff --git a/addons/account_reporting/account_reporting.py b/addons/account_reporting/account_reporting.py
new file mode 100644 (file)
index 0000000..ec1f370
--- /dev/null
@@ -0,0 +1,119 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import time
+
+import netsvc
+from osv import fields, osv
+from tools.misc import currency
+
+class color_rml(osv.osv):
+    _name = "color.rml"
+    _description = "Rml Color"
+    _columns = {
+        'name': fields.char('Name', size=64, required=True),
+        'code': fields.char('code', size=64, required=True),
+        }
+
+color_rml()
+
+class account_report_bs(osv.osv):
+    _name = "account.report.bs"
+    _description = "Account reporting for Balance Sheet"
+    _font = [
+             ('', ''),
+             ('Courier', 'Courier'),
+             ('Courier-Bold', 'Courier-Bold'),
+             ('Courier-BoldOblique', 'Courier-BoldOblique'),
+             ('Courier-Oblique', 'Courier-Oblique'),
+             ('Helvetica', 'Helvetica'),
+             ('Helvetica-Bold', 'Helvetica-Bold'),
+             ('Helvetica-Oblique', 'Helvetica-Oblique'),
+             ('Times-Bold', 'Times-Bold'),
+             ('Times-BoldItalic', 'Times-BoldItalic'),
+             ('Times-Italic', 'Times-Italic'),
+             ('Times-Roman', 'Times-Roman'),
+            ]
+    _color = [
+            ('', ''),
+            ('green', 'Green'),
+            ('red', 'Red'),
+            ('pink', 'Pink'),
+            ('blue', 'Blue'),
+            ('yellow', 'Yellow'),
+            ('cyan', 'Cyan'),
+            ('lightblue', 'Light Blue'),
+            ('orange', 'Orange'),
+            ]
+    _style = [
+            ('', ''),
+            ('h1', 'Header 1'),
+            ('h2', 'Header 2'),
+            ('h3', 'Header 3'),
+            ]
+
+    def onchange_parent_id(self, cr, uid, ids, parent_id):
+        v = {}
+        if parent_id:
+            acc = self.pool.get('account.report.report').browse(cr, uid, parent_id)
+            v['type'] = acc.type
+            if int(acc.style) < 6:
+                v['style'] = str(int(acc.style) + 1)
+        return {'value': v}
+
+    _columns = {
+        'name': fields.char('Name', size=64, required=True),
+        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of account reporting for balance sheet."),
+        'code': fields.char('Code', size=64, required=True),
+        'account_id': fields.many2many('account.account', 'account_report_rel', 'report_id', 'account_id', 'Accounts'),
+        'note': fields.text('Note'),
+        'color_font': fields.many2one('color.rml', 'Font Color'),
+        'color_back': fields.many2one('color.rml', 'Back Color'),
+        'font_style': fields.selection(_font, 'Font'),
+        'parent_id': fields.many2one('account.report.bs', 'Parent'),
+        'child_id': fields.one2many('account.report.bs', 'parent_id', 'Children'),
+        'report_type': fields.selection([('only_obj', 'Report Objects Only'), ('with_account', 'Report Objects With Accounts'), ('acc_with_child', 'Report Objects With Accounts and child of Accounts')], "Report Type")
+    }
+    _defaults = {
+        'report_type': 'only_obj',
+        'color_font': '',
+        'color_back': '',
+        'font_style': '',
+    }
+
+    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
+        if not args:
+            args = []
+        if not context:
+            context = {}
+        ids = []
+        if name:
+            ids = self.search(cr, user, [('code', '=', name)]+ args, limit=limit, context=context)
+            if not ids:
+                ids = self.search(cr, user, [('name', operator, name)]+ args, limit=limit, context=context)
+        else:
+            ids = self.search(cr, user, args, limit=limit, context=context)
+        return self.name_get(cr, user, ids, context=context)
+
+account_report_bs()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
diff --git a/addons/account_reporting/account_reporting_data.xml b/addons/account_reporting/account_reporting_data.xml
new file mode 100644 (file)
index 0000000..c4e2dac
--- /dev/null
@@ -0,0 +1,491 @@
+<?xml version="1.0"?>
+<openerp>
+<data>
+
+       <record model="color.rml" id="c1">
+               <field name="name">aliceblue</field>
+               <field name="code">aliceblue</field>
+       </record>
+
+       <record model="color.rml" id="c2">
+               <field name="name">antiquewhite</field>
+               <field name="code">antiquewhite</field>
+       </record>
+
+       <record model="color.rml" id="c3">
+               <field name="name">aqua</field>
+               <field name="code">aqua</field>
+       </record>
+
+       <record model="color.rml" id="c4">
+               <field name="name">aquamarine</field>
+               <field name="code">aquamarine</field>
+       </record>
+
+       <record model="color.rml" id="c5">
+               <field name="name">azure</field>
+               <field name="code">azure</field>
+       </record>
+
+       <record model="color.rml" id="c6">
+               <field name="name">beige</field>
+               <field name="code">beige</field>
+       </record>
+
+       <record model="color.rml" id="c7">
+               <field name="name">bisque</field>
+               <field name="code">bisque</field>
+       </record>
+
+       <record model="color.rml" id="c8">
+               <field name="name">black</field>
+               <field name="code">black</field>
+       </record>
+
+       <record model="color.rml" id="c9">
+               <field name="name">blanchedalmond</field>
+               <field name="code">blanchedalmond</field>
+       </record>
+
+       <record model="color.rml" id="c10">
+               <field name="name">blue</field>
+               <field name="code">blue</field>
+       </record>
+
+       <record model="color.rml" id="c11">
+               <field name="name">blueviolet</field>
+               <field name="code">blueviolet</field>
+       </record>
+
+       <record model="color.rml" id="c12">
+               <field name="name">brown</field>
+               <field name="code">brown</field>
+       </record>
+
+       <record model="color.rml" id="c13">
+               <field name="name">burlywood</field>
+               <field name="code">burlywood</field>
+       </record>
+
+       <record model="color.rml" id="c14">
+               <field name="name">cadetblue</field>
+               <field name="code">cadetblue</field>
+       </record>
+
+       <record model="color.rml" id="c15">
+               <field name="name">chartreuse</field>
+               <field name="code">chartreuse</field>
+       </record>
+
+       <record model="color.rml" id="c16">
+               <field name="name">chocolate</field>
+               <field name="code">chocolate</field>
+       </record>
+
+       <record model="color.rml" id="c17">
+               <field name="name">coral</field>
+               <field name="code">coral</field>
+       </record>
+
+       <record model="color.rml" id="c18">
+               <field name="name">cornflower</field>
+               <field name="code">cornflower</field>
+       </record>
+
+       <record model="color.rml" id="c19">
+               <field name="name">cornsilk</field>
+               <field name="code">cornsilk</field>
+       </record>
+
+       <record model="color.rml" id="c20">
+               <field name="name">crimson</field>
+               <field name="code">crimson</field>
+       </record>
+
+       <record model="color.rml" id="c21">
+               <field name="name">cyan</field>
+               <field name="code">cyan</field>
+       </record>
+
+       <record model="color.rml" id="c22">
+               <field name="name">darkblue</field>
+               <field name="code">darkblue</field>
+       </record>
+
+       <record model="color.rml" id="c23">
+               <field name="name">darkcyan</field>
+               <field name="code">darkcyan</field>
+       </record>
+
+       <record model="color.rml" id="c24">
+               <field name="name">darkgoldenrod</field>
+               <field name="code">darkgoldenrod</field>
+       </record>
+
+       <record model="color.rml" id="c25">
+               <field name="name">darkgray</field>
+               <field name="code">darkgray</field>
+       </record>
+
+       <record model="color.rml" id="c26">
+               <field name="name">darkgreen</field>
+               <field name="code">darkgreen</field>
+       </record>
+
+       <record model="color.rml" id="c27">
+               <field name="name">darkkhaki</field>
+               <field name="code">darkkhaki</field>
+       </record>
+
+       <record model="color.rml" id="c28">
+               <field name="name">darkmagenta</field>
+               <field name="code">darkmagenta</field>
+       </record>
+
+       <record model="color.rml" id="c29">
+               <field name="name">darkolivegreen</field>
+               <field name="code">darkolivegreen</field>
+       </record>
+
+       <record model="color.rml" id="c30">
+               <field name="name">darkorange</field>
+               <field name="code">darkorange</field>
+       </record>
+
+       <record model="color.rml" id="c31">
+               <field name="name">darkorchid</field>
+               <field name="code">darkorchid</field>
+       </record>
+
+       <record model="color.rml" id="c32">
+               <field name="name">darkred</field>
+               <field name="code">darkred</field>
+       </record>
+
+       <record model="color.rml" id="c33">
+               <field name="name">darksalmon</field>
+               <field name="code">darksalmon</field>
+       </record>
+
+       <record model="color.rml" id="c34">
+               <field name="name">darkseagreen</field>
+               <field name="code">darkseagreen</field>
+       </record>
+
+       <record model="color.rml" id="c35">
+               <field name="name">darkslateblue</field>
+               <field name="code">darkslateblue</field>
+       </record>
+
+       <record model="color.rml" id="c36">
+               <field name="name">darkslategray</field>
+               <field name="code">darkslategray</field>
+       </record>
+
+       <record model="color.rml" id="c37">
+               <field name="name">darkturquoise</field>
+               <field name="code">darkturquoise</field>
+       </record>
+
+       <record model="color.rml" id="c38">
+               <field name="name">darkviolet</field>
+               <field name="code">darkviolet</field>
+       </record>
+
+       <record model="color.rml" id="c39">
+               <field name="name">deeppink</field>
+               <field name="code">deeppink</field>
+       </record>
+
+       <record model="color.rml" id="c40">
+               <field name="name">deepskyblue</field>
+               <field name="code">deepskyblue</field>
+       </record>
+
+       <record model="color.rml" id="c41">
+               <field name="name">dimgray</field>
+               <field name="code">dimgray</field>
+       </record>
+
+       <record model="color.rml" id="c42">
+               <field name="name">dodgerblue</field>
+               <field name="code">dodgerblue</field>
+       </record>
+
+       <record model="color.rml" id="c43">
+               <field name="name">firebrick</field>
+               <field name="code">firebrick</field>
+       </record>
+
+       <record model="color.rml" id="c44">
+               <field name="name">floralwhite</field>
+               <field name="code">floralwhite</field>
+       </record>
+
+       <record model="color.rml" id="c45">
+               <field name="name">forestgreen</field>
+               <field name="code">forestgreen</field>
+       </record>
+
+       <record model="color.rml" id="c46">
+               <field name="name">fuchsia</field>
+               <field name="code">fuchsia</field>
+       </record>
+
+       <record model="color.rml" id="c47">
+               <field name="name">gainsboro</field>
+               <field name="code">gainsboro</field>
+       </record>
+
+       <record model="color.rml" id="c48">
+               <field name="name">ghostwhite</field>
+               <field name="code">ghostwhite</field>
+       </record>
+
+       <record model="color.rml" id="c49">
+               <field name="name">gold</field>
+               <field name="code">gold</field>
+       </record>
+
+       <record model="color.rml" id="c50">
+               <field name="name">goldenrod</field>
+               <field name="code">goldenrod</field>
+       </record>
+
+       <record model="color.rml" id="c51">
+               <field name="name">gray</field>
+               <field name="code">gray</field>
+       </record>
+
+       <record model="color.rml" id="c52">
+               <field name="name">green</field>
+               <field name="code">green</field>
+       </record>
+
+       <record model="color.rml" id="c53">
+               <field name="name">greenyellow</field>
+               <field name="code">greenyellow</field>
+       </record>
+
+       <record model="color.rml" id="c54">
+               <field name="name">honeydew</field>
+               <field name="code">honeydew</field>
+       </record>
+
+       <record model="color.rml" id="c55">
+               <field name="name">hotpink</field>
+               <field name="code">hotpink</field>
+       </record>
+
+       <record model="color.rml" id="c56">
+               <field name="name">indianred</field>
+               <field name="code">indianred</field>
+       </record>
+
+       <record model="color.rml" id="c57">
+               <field name="name">indigo</field>
+               <field name="code">indigo</field>
+       </record>
+
+       <record model="color.rml" id="c58">
+               <field name="name">ivory</field>
+               <field name="code">ivory</field>
+       </record>
+
+       <record model="color.rml" id="c59">
+               <field name="name">khaki</field>
+               <field name="code">khaki</field>
+       </record>
+
+       <record model="color.rml" id="c60">
+               <field name="name">lavender</field>
+               <field name="code">lavender</field>
+       </record>
+
+       <record model="color.rml" id="c61">
+               <field name="name">lavenderblush</field>
+               <field name="code">lavenderblush</field>
+       </record>
+
+       <record model="color.rml" id="c62">
+               <field name="name">lawngreen</field>
+               <field name="code">lawngreen</field>
+       </record>
+
+       <record model="color.rml" id="c63">
+               <field name="name">lemonchiffon</field>
+               <field name="code">lemonchiffon</field>
+       </record>
+
+       <record model="color.rml" id="c64">
+               <field name="name">lightblue</field>
+               <field name="code">lightblue</field>
+       </record>
+
+       <record model="color.rml" id="c65">
+               <field name="name">lightcoral</field>
+               <field name="code">lightcoral</field>
+       </record>
+
+       <record model="color.rml" id="c66">
+               <field name="name">lightcyan</field>
+               <field name="code">lightcyan</field>
+       </record>
+
+       <record model="color.rml" id="c67">
+               <field name="name">lightgoldenrodyellow</field>
+               <field name="code">lightgoldenrodyellow</field>
+       </record>
+
+       <record model="color.rml" id="c68">
+               <field name="name">lightgreen</field>
+               <field name="code">lightgreen</field>
+       </record>
+
+       <record model="color.rml" id="c69">
+               <field name="name">lightpink</field>
+               <field name="code">lightpink</field>
+       </record>
+
+       <record model="color.rml" id="c70">
+               <field name="name">lightsalmon</field>
+               <field name="code">lightsalmon</field>
+       </record>
+
+       <record model="color.rml" id="c71">
+               <field name="name">lightseagreen</field>
+               <field name="code">lightseagreen</field>
+       </record>
+
+       <record model="color.rml" id="c72">
+               <field name="name">lightskyblue</field>
+               <field name="code">lightskyblue</field>
+       </record>
+
+       <record model="color.rml" id="c73">
+               <field name="name">lightslategray</field>
+               <field name="code">lightslategray</field>
+       </record>
+
+       <record model="color.rml" id="c74">
+               <field name="name">lightsteelblue</field>
+               <field name="code">lightsteelblue</field>
+       </record>
+
+       <record model="color.rml" id="c75">
+               <field name="name">lightyellow</field>
+               <field name="code">lightyellow</field>
+       </record>
+
+       <record model="color.rml" id="c76">
+               <field name="name">lime</field>
+               <field name="code">lime</field>
+       </record>
+
+       <record model="color.rml" id="c77">
+               <field name="name">limegreen</field>
+               <field name="code">limegreen</field>
+       </record>
+
+       <record model="color.rml" id="c78">
+               <field name="name">linen</field>
+               <field name="code">linen</field>
+       </record>
+
+       <record model="color.rml" id="c79">
+               <field name="name">magenta</field>
+               <field name="code">magenta</field>
+       </record>
+
+       <record model="color.rml" id="c80">
+               <field name="name">maroon</field>
+               <field name="code">maroon</field>
+       </record>
+
+       <record model="color.rml" id="c81">
+               <field name="name">mediumaquamarine</field>
+               <field name="code">mediumaquamarine</field>
+       </record>
+
+       <record model="color.rml" id="c82">
+               <field name="name">mediumblue</field>
+               <field name="code">mediumblue</field>
+       </record>
+
+       <record model="color.rml" id="c83">
+               <field name="name">mediumorchid</field>
+               <field name="code">mediumorchid</field>
+       </record>
+
+       <record model="color.rml" id="c84">
+               <field name="name">mediumpurple</field>
+               <field name="code">mediumpurple</field>
+       </record>
+
+       <record model="color.rml" id="c85">
+               <field name="name">mediumseagreen</field>
+               <field name="code">mediumseagreen</field>
+       </record>
+
+       <record model="color.rml" id="c86">
+               <field name="name">mediumslateblue</field>
+               <field name="code">mediumslateblue</field>
+       </record>
+
+       <record model="color.rml" id="c87">
+               <field name="name">mediumspringgreen</field>
+               <field name="code">mediumspringgreen</field>
+       </record>
+
+       <record model="color.rml" id="c88">
+               <field name="name">mediumturquoise</field>
+               <field name="code">mediumturquoise</field>
+       </record>
+
+       <record model="color.rml" id="c89">
+               <field name="name">mediumvioletred</field>
+               <field name="code">mediumvioletred</field>
+       </record>
+
+       <record model="color.rml" id="c90">
+               <field name="name">midnightblue</field>
+               <field name="code">midnightblue</field>
+       </record>
+
+       <record model="color.rml" id="c91">
+               <field name="name">mintcream</field>
+               <field name="code">mintcream</field>
+       </record>
+
+       <record model="color.rml" id="c92">
+               <field name="name">mistyrose</field>
+               <field name="code">mistyrose</field>
+       </record>
+
+       <record model="color.rml" id="c93">
+               <field name="name">moccasin</field>
+               <field name="code">moccasin</field>
+       </record>
+
+       <record model="color.rml" id="c94">
+               <field name="name">navajowhite</field>
+               <field name="code">navajowhite</field>
+       </record>
+
+       <record model="color.rml" id="c95">
+               <field name="name">navy</field>
+               <field name="code">navy</field>
+       </record>
+
+       <record model="color.rml" id="c96">
+               <field name="name">oldlace</field>
+               <field name="code">oldlace</field>
+       </record>
+
+       <record model="color.rml" id="c97">
+               <field name="name">olive</field>
+               <field name="code">olive</field>
+       </record>
+
+</data>
+</openerp>
diff --git a/addons/account_reporting/account_reporting_view.xml b/addons/account_reporting/account_reporting_view.xml
new file mode 100644 (file)
index 0000000..b12217f
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+
+        <record model="ir.ui.view" id="view_account_report_bs_form">
+            <field name="name">account.report.bs.form</field>
+            <field name="model">account.report.bs</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Account reporting">
+                    <notebook>
+                    <page string="General">
+                        <field name="name" select="1"/>
+                        <field name="code" select="1"/>
+                        <field name="parent_id" select="1"/>
+                        <field name="sequence"/>
+                        <field name="color_font"/>
+                        <field name="color_back"/>
+                        <field name="font_style"/>
+                        <field name="report_type"/>
+                        <newline/>
+                        <separator string="Accounts" colspan="4"/>
+                            <field name="account_id" colspan="4" nolabel="1"/>
+                    </page>
+                    <page string="Notes">
+                        <field name="note" nolabel="1" colspan="4"/>
+                    </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+
+        <record model="ir.ui.view" id="view_account_report_tree_bs">
+            <field name="name">account.report.report.tree.bs</field>
+            <field name="model">account.report.bs</field>
+            <field name="type">tree</field>
+            <field name="field_parent">child_id</field>
+            <field name="arch" type="xml">
+                <tree string="Account reporting">
+                <field name="code"/>
+                <field name="name"/>
+            </tree>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="action_account_tree_bs">
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">account.report.bs</field>
+            <field name="domain">[('parent_id','=',False)]</field>
+            <field name="view_type">tree</field>
+            <field name="view_id" ref="view_account_report_tree_bs"/>
+        </record>
+
+        <menuitem name="Balance Sheet Report" id="menu_finan_config_BSheet" parent="account.menu_finance_configuration"/>
+        <menuitem name="Balance Sheet Report" id="action_account_report_bs_form" action="action_account_tree_bs" parent="menu_finan_config_BSheet"/>
+
+        <record model="ir.actions.act_window" id="acc_bs_report_action_form">
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">account.report.bs</field>
+            <field name="view_type">form</field>
+            <field name="view_id" ref="view_account_report_bs_form"/>
+        </record>
+
+        <menuitem name="Balance Sheet Report Form" id="bs_report_action_form" action="acc_bs_report_action_form" parent="menu_finan_config_BSheet"/>
+
+    </data>
+</openerp>
diff --git a/addons/account_reporting/account_view.xml b/addons/account_reporting/account_view.xml
deleted file mode 100644 (file)
index f02ed22..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<openerp>
-<data>
-
-    <record model="ir.ui.view" id="view_account_report_bs_form">
-        <field name="name">account.report.bs.form</field>
-        <field name="model">account.report.bs</field>
-        <field name="type">form</field>
-        <field name="arch" type="xml">
-            <form string="Account reporting">
-                <notebook>
-                <page string="General">
-                    <field name="name" select="1"/>
-                    <field name="code" select="1"/>
-                    <field name="parent_id" select="1"/>
-                    <field name="sequence"/>
-                    <field name="color_font"/>
-                    <field name="color_back"/>
-                    <field name="font_style"/>
-                    <field name="report_type"/>
-                    <newline/>
-                    <separator string="Accounts" colspan="4"/>
-                        <field name="account_id" colspan="4" nolabel="1"/>
-                </page>
-                <page string="Notes">
-                    <field name="note" nolabel="1" colspan="4"/>
-                </page>
-                </notebook>
-            </form>
-        </field>
-    </record>
-
-        <record model="ir.ui.view" id="view_account_report_tree_bs">
-            <field name="name">account.report.report.tree.bs</field>
-            <field name="model">account.report.bs</field>
-            <field name="type">tree</field>
-            <field name="field_parent">child_id</field>
-            <field name="arch" type="xml">
-                <tree string="Account reporting">
-                <field name="code"/>
-                <field name="name"/>
-            </tree>
-            </field>
-        </record>
-        <record model="ir.actions.act_window" id="action_account_tree_bs">
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">account.report.bs</field>
-            <field name="domain">[('parent_id','=',False)]</field>
-            <field name="view_type">tree</field>
-            <field name="view_id" ref="view_account_report_tree_bs"/>
-        </record>
-        <menuitem name="Balance Sheet Report" id="menu_finan_config_BSheet" parent="account.menu_finance_configuration"/>
-        <menuitem name="Balance Sheet Report" id="action_account_report_bs_form" action="action_account_tree_bs" parent="menu_finan_config_BSheet"/>
-
-        <record model="ir.actions.act_window" id="acc_bs_report_action_form">
-            <field name="type">ir.actions.act_window</field>
-            <field name="res_model">account.report.bs</field>
-            <field name="view_type">form</field>
-            <field name="view_id" ref="view_account_report_bs_form"/>
-        </record>
-        <menuitem name="Balance Sheet Report Form" id="bs_report_action_form" action="acc_bs_report_action_form" parent="menu_finan_config_BSheet"/>
-
-
-
-</data>
-</openerp>
index 3828972..d516e48 100644 (file)
@@ -7,17 +7,22 @@ msgid ""
 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: 2010-10-15 09:23+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 21:58+0000\n"
+"Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-16 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_reporting
+#: model:ir.model,name:account_reporting.model_color_rml
+msgid "Rml Color"
+msgstr "Rml Boja"
+
+#. module: account_reporting
 #: field:color.rml,code:0
 msgid "code"
 msgstr "kod"
@@ -56,11 +61,26 @@ msgid "Balance Sheet Report"
 msgstr "Izvještaj Liste Salda"
 
 #. module: account_reporting
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Greska! Ne mozete kreirati rekursivni meni."
+
+#. module: account_reporting
+#: view:account.reporting.balance.report:0
+msgid "Print"
+msgstr "Štampaj"
+
+#. module: account_reporting
 #: constraint:ir.actions.act_window:0
 msgid "Invalid model name in the action definition."
 msgstr "Pogrešno ime modela u definiciji akcije."
 
 #. module: account_reporting
+#: field:account.report.bs,font_style:0
+msgid "Font"
+msgstr "Font"
+
+#. module: account_reporting
 #: selection:account.report.bs,font_style:0
 msgid "Courier"
 msgstr "Pošiljka"
@@ -71,12 +91,7 @@ msgid "Courier-BoldOblique"
 msgstr "Courier-BoldOblique"
 
 #. module: account_reporting
-#: wizard_button:account.account.balancesheet.report,init,report:0
-msgid "Print BalanceSheet"
-msgstr "Ispis ListeSalda"
-
-#. module: account_reporting
-#: help:account.account.balancesheet.report,init,periods:0
+#: help:account.reporting.balance.report,periods:0
 msgid "All periods if empty"
 msgstr "Ako je prazno, sva razdoblja"
 
@@ -161,11 +176,6 @@ msgid "Report Objects Only"
 msgstr "Izveštaj samo objekata"
 
 #. module: account_reporting
-#: model:ir.model,name:account_reporting.model_color_rml
-msgid "Rml Colors"
-msgstr "Rml Boje"
-
-#. module: account_reporting
 #: model:ir.module.module,shortdesc:account_reporting.module_meta_information
 msgid "Reporting of Balancesheet for accounting"
 msgstr "Izveštavanje liste salda za računovostvo"
@@ -181,6 +191,11 @@ msgid "Parent"
 msgstr "Roditelj"
 
 #. module: account_reporting
+#: view:account.reporting.balance.report:0
+msgid "Select Dates Period"
+msgstr "Selektuj Datume razdoblja"
+
+#. module: account_reporting
 #: field:account.report.bs,sequence:0
 msgid "Sequence"
 msgstr "Sekvenca"
@@ -191,12 +206,19 @@ msgid "Times-Bold"
 msgstr "Times-Bold"
 
 #. module: account_reporting
+#: help:account.report.bs,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of account reporting for "
+"balance sheet."
+msgstr ""
+
+#. module: account_reporting
 #: view:account.report.bs:0
 msgid "General"
 msgstr "Opšte"
 
 #. module: account_reporting
-#: wizard_field:account.account.balancesheet.report,init,fiscalyear:0
+#: field:account.reporting.balance.report,fiscalyear:0
 msgid "Fiscal year"
 msgstr "Fiskalna Godina"
 
@@ -207,7 +229,8 @@ msgid "Accounts"
 msgstr "Nalozi"
 
 #. module: account_reporting
-#: wizard_field:account.account.balancesheet.report,init,periods:0
+#: view:account.reporting.balance.report:0
+#: field:account.reporting.balance.report,periods:0
 msgid "Periods"
 msgstr "Razdoblja"
 
@@ -217,12 +240,7 @@ msgid "Back Color"
 msgstr "Pozadinska Boja"
 
 #. module: account_reporting
-#: field:account.report.bs,child_id:0
-msgid "Children"
-msgstr "Podređeni"
-
-#. module: account_reporting
-#: wizard_button:account.account.balancesheet.report,init,end:0
+#: view:account.reporting.balance.report:0
 msgid "Cancel"
 msgstr "Otkaži"
 
@@ -237,11 +255,20 @@ msgid "Helvetica-Oblique"
 msgstr "Helvetica-Oblique"
 
 #. module: account_reporting
-#: field:account.report.bs,font_style:0
-msgid "Font"
-msgstr "Font"
+#: model:ir.model,name:account_reporting.model_account_reporting_balance_report
+msgid "Account balance report"
+msgstr ""
 
 #. module: account_reporting
-#: wizard_view:account.account.balancesheet.report,init:0
-msgid "Customize Report"
-msgstr "Prilagodi Izvestaj"
+#: field:account.report.bs,child_id:0
+msgid "Children"
+msgstr "Podređeni"
+
+#~ msgid "Print BalanceSheet"
+#~ msgstr "Ispis ListeSalda"
+
+#~ msgid "Rml Colors"
+#~ msgstr "Rml Boje"
+
+#~ msgid "Customize Report"
+#~ msgstr "Prilagodi Izvestaj"
index 2262822..d21bfbf 100644 (file)
 ##############################################################################
 
 import time
-import pooler
-import locale
-from report import report_sxw
 
+from report import report_sxw
 
 parents = {
-    'tr':1,
-    'li':1,
+    'tr': 1,
+    'li': 1,
     'story': 0,
     'section': 0
 }
@@ -42,18 +40,17 @@ class account_report_bs(report_sxw.rml_parse):
         self.context = context
 
 
-    def line_total(self,line_id,ctx):
+    def line_total(self, line_id, ctx):
         _total = 0
-        bsline= self.pool.get('account.report.bs').browse(self.cr,self.uid,[line_id])[0]
-        bsline_accids = bsline.account_id
-        res =self.pool.get('account.report.bs').read(self.cr,self.uid,[line_id],['account_id','child_id'])[0]
+        bsline = self.pool.get('account.report.bs').browse(self.cr, self.uid, [line_id])[0]
+        res = self.pool.get('account.report.bs').read(self.cr, self.uid, [line_id], ['account_id', 'child_id'])[0]
         for acc_id in res['account_id']:
-            acc = self.pool.get('account.account').browse(self.cr,self.uid,[acc_id],ctx)[0]
+            acc = self.pool.get('account.account').browse(self.cr, self.uid, [acc_id], ctx)[0]
             _total += acc.balance
         bsline_reportbs = res['child_id']
 
         for report in bsline_reportbs:
-            _total +=self.line_total(report,ctx)
+            _total += self.line_total(report,ctx)
         return  _total
 
     def lines(self, form, ids={}, done=None, level=1, object=False):
@@ -64,14 +61,14 @@ class account_report_bs(report_sxw.rml_parse):
         if not ids:
             return []
         if not done:
-            done={}
+            done = {}
         result = []
         ctx = self.context.copy()
         ctx['fiscalyear'] = form['fiscalyear']
         ctx['periods'] = form['periods']
         report_objs = self.pool.get('account.report.bs').browse(self.cr, self.uid, ids)
         title_name = False
-        if level==1:
+        if level == 1:
             title_name = report_objs[0].name
         def cmp_code(x, y):
             return cmp(x.code, y.code)
@@ -92,41 +89,41 @@ class account_report_bs(report_sxw.rml_parse):
                 'name': report_obj.name,
                 'level': level,
                 'balance': self.line_total(report_obj.id,ctx),
-                'parent_id':False,
-                'color_font':color_font,
-                'color_back':color_back,
-                'font_style' : report_obj.font_style
+                'parent_id': False,
+                'color_font': color_font,
+                'color_back': color_back,
+                'font_style': report_obj.font_style
             }
             result.append(res)
             report_type = report_obj.report_type
             if report_type != 'only_obj':
-                account_ids = self.pool.get('account.report.bs').read(self.cr,self.uid,[report_obj.id],['account_id'])[0]['account_id']
+                account_ids = self.pool.get('account.report.bs').read(self.cr, self.uid, [report_obj.id], ['account_id'])[0]['account_id']
                 if report_type == 'acc_with_child':
-                    acc_ids = self.pool.get('account.account')._get_children_and_consol(self.cr, self.uid, account_ids )
+                    acc_ids = self.pool.get('account.account')._get_children_and_consol(self.cr, self.uid, account_ids)
                     account_ids = acc_ids
-                account_objs = self.pool.get('account.account').browse(self.cr,self.uid,account_ids,ctx)
+                account_objs = self.pool.get('account.account').browse(self.cr, self.uid, account_ids, ctx)
                 for acc_obj in account_objs:
-                    res1={}
+                    res1 = {}
                     res1 = {
                         'code': acc_obj.code,
                         'name': acc_obj.name,
                         'level': level+1,
                         'balance': acc_obj.balance,
-                        'parent_id':acc_obj.parent_id,
-                        'color_font' : 'black',
-                        'color_back' :'white',
-                        'font_style' : 'Helvetica',
+                        'parent_id': acc_obj.parent_id,
+                        'color_font': 'black',
+                        'color_back': 'white',
+                        'font_style': 'Helvetica',
                         }
                     if acc_obj.parent_id:
                         for r in result:
-                            if r['name']== acc_obj.parent_id.name:
+                            if r['name'] == acc_obj.parent_id.name:
                                 res1['level'] = r['level'] + 1
                                 break
                     result.append(res1)
             if report_obj.child_id:
-                ids2 = [(x.code,x.id) for x in report_obj.child_id]
+                ids2 = [(x.code, x.id) for x in report_obj.child_id]
                 ids2.sort()
-                result += self.lines(form,[x[1] for x in ids2], done, level+1,object=False)
+                result += self.lines(form, [x[1] for x in ids2], done, level+1, object=False)
 
         return result
 
index 3f67c64..d6461a8 100644 (file)
@@ -18,8 +18,8 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 from osv import fields, osv
-from tools.translate import _
 
 class account_reporting_balance_report(osv.osv_memory):
 
@@ -33,7 +33,7 @@ class account_reporting_balance_report(osv.osv_memory):
     _description = 'Account balance report'
     _columns = {
         'fiscalyear': fields.many2one('account.fiscalyear', 'Fiscal year', required=True),
-        'periods': fields.many2many('account.period', 'acc_reporting_relation', 'acc_id','period_id', 'Periods', help='All periods if empty'),
+        'periods': fields.many2many('account.period', 'acc_reporting_relation', 'acc_id', 'period_id', 'Periods', help='All periods if empty'),
             }
     _defaults = {
         'fiscalyear' : _get_fiscalyear,
@@ -45,7 +45,7 @@ class account_reporting_balance_report(osv.osv_memory):
             context = {}
         data = self.read(cr, uid, ids)[0]
         datas = {
-             'ids': context.get('active_ids',[]),
+             'ids': context.get('active_ids', []),
              'model': 'account.report.bs',
              'form': data
             }
index 5d7ef7d..31444e1 100644 (file)
@@ -7,8 +7,8 @@
              <field name="model">account.reporting.balance.report</field>
              <field name="type">form</field>
              <field name="arch" type="xml">
-                    <form string="Select Dates Period">
-                       <field name="fiscalyear" colspan="4"/>
+                    <form string="Account Report Balance Sheet">
+                       <field name="fiscalyear" colspan="4" widget="selection"/>
                        <newline/>
                        <separator string="Periods" colspan="4"/>
                                        <field name="periods" nolabel="1" colspan="4"/>
index 76c05ef..6d6203d 100644 (file)
         "security/account_voucher_security.xml"
     ],
     "test" : [
-#         "test/account_voucher.yml",
-          "test/sales_receipt.yml",
-          "test/sales_payment.yml",
-          "test/account_voucher_report.yml"
+        "test/account_voucher.yml",
+        "test/sales_receipt.yml",
+        "test/sales_payment.yml",
+        "test/account_voucher_report.yml"
     ],
     'certificate': '0037580727101',
     "active": False,
index 1760978..9dca6fd 100644 (file)
@@ -574,6 +574,8 @@ class account_voucher(osv.osv):
         currency_pool = self.pool.get('res.currency')
         tax_obj = self.pool.get('account.tax')
         for inv in self.browse(cr, uid, ids):
+            if not inv.line_ids:
+                raise osv.except_osv(_('No Lines !'), _('Please create some lines'))
             if inv.move_id:
                 continue
             if inv.number:
@@ -582,13 +584,17 @@ class account_voucher(osv.osv):
                 name = self.pool.get('ir.sequence').get_id(cr, uid, inv.journal_id.sequence_id.id)
             else:
                 raise osv.except_osv(_('Error !'), _('Please define a sequence on the journal !'))
+            if not inv.reference:
+                ref = name.replace('/','')
+            else:
+                ref = inv.reference
 
             move = {
                 'name': name,
                 'journal_id': inv.journal_id.id,
                 'narration': inv.narration,
-                'date':inv.date,
-                'ref':inv.reference,
+                'date': inv.date,
+                'ref': ref,
                 'period_id': inv.period_id and inv.period_id.id or False
             }
             move_id = move_pool.create(cr, uid, move)
index 3a57fdc..de25b05 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 09:02+0000\n"
+"PO-Revision-Date: 2010-10-25 07:11+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_voucher
index 5c134d5..99d569d 100644 (file)
@@ -7,37 +7,52 @@ msgid ""
 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: 2010-10-17 17:33+0000\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 21:24+0000\n"
 "Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-18 04:55+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: account_voucher
-#: model:ir.actions.act_window,name:account_voucher.act_account_acount_move_line_open1
-msgid "Opening Balance Entry"
-msgstr "Otvaranje sadrzaja salda"
+#: view:account.voucher.unreconcile:0
+msgid "Unreconciliation transactions"
+msgstr "Neponistene transakcije"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_bakreceipt_voucher_list
-msgid "Bank Receipts"
-msgstr "Bankovni primitci"
+#: view:account.voucher:0
+msgid "Form view not available for Payment Lines"
+msgstr "Pregled Forme nije dostupan za linije Placanja"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Payment Ref"
+msgstr "Referentna Placanja"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Open Customer Journal Entries"
+msgstr "Otvori stavke Korisnikove Knjige"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Particulars"
 msgstr "Pojedinosti"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "State :"
-msgstr "Stanje :"
+#: view:account.voucher:0
+msgid "Group By..."
+msgstr "Grupirano po"
+
+#. module: account_voucher
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "Cannot delete Voucher(s) which are already opened or paid !"
+msgstr "Ne mozes obrisati vaucer(e) koji su vec otvoreni ili placeni !"
 
 #. module: account_voucher
 #: constraint:ir.actions.act_window:0
@@ -45,106 +60,196 @@ msgid "Invalid model name in the action definition."
 msgstr "Pogrešno ime modela u definiciji akcije."
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
 msgid "Ref. :"
 msgstr "Ref. :"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_cont_voucher_form
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_cont_voucher_form
-msgid "Contra Voucher"
-msgstr "Suprotna priznanica"
+#: view:account.voucher:0
+msgid "Supplier"
+msgstr "Dobavljač"
+
+#. module: account_voucher
+#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher_print
+msgid "Voucher Print"
+msgstr "Stampa Vaucera"
+
+#. module: account_voucher
+#: model:ir.module.module,description:account_voucher.module_meta_information
+msgid ""
+"Account Voucher module includes all the basic requirements of\n"
+"    Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, "
+"etc...\n"
+"    * Voucher Entry\n"
+"    * Voucher Receipt\n"
+"    * Cheque Register\n"
+"    "
+msgstr ""
+"Modul naloga VAucera sadrzi sve bazne predispozicije za\n"
+"    Vaucer za Banke, Kes, Prodaju, Kupovinu, Prosirenja, Contre, itd\n"
+"    *Sadrzaj Vaucera\n"
+"    *Prijem Vaucera\n"
+"    *Cek Registar\n"
+"    "
+
+#. module: account_voucher
+#: view:account.voucher:0
+#: model:ir.actions.act_window,name:account_voucher.act_pay_bills
+msgid "Bill Payment"
+msgstr "Isplate racuna"
+
+#. module: account_voucher
+#: field:account.voucher.line,amount_original:0
+msgid "Originial Amount"
+msgstr "Originalna Suma"
+
+#. module: account_voucher
+#: view:account.statement.from.invoice.lines:0
+#: code:addons/account_voucher/wizard/account_statement_from_invoice.py:0
+#: model:ir.actions.act_window,name:account_voucher.action_view_account_statement_from_invoice_lines
+#, python-format
+msgid "Import Entries"
+msgstr "Uvezi stavke"
+
+#. module: account_voucher
+#: model:ir.model,name:account_voucher.model_account_voucher_unreconcile
+msgid "Account voucher unreconcile"
+msgstr "Ponisteni Nalozi Vaucera"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Pay Bill"
+msgstr "Isplata Racuna"
 
 #. module: account_voucher
 #: field:account.voucher,company_id:0
+#: field:account.voucher.line,company_id:0
 msgid "Company"
 msgstr "Preduzeće"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_jour_voucher_form
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_voucher_form
-msgid "Journal Voucher"
-msgstr "Nalog za knjiženje"
+#: view:account.voucher:0
+msgid "Set to Draft"
+msgstr "Postavi u pripremu"
 
 #. module: account_voucher
-#: rml:voucher.cash_receipt.drcr:0
-msgid ","
-msgstr ","
+#: model:ir.actions.act_window,name:account_voucher.action_view_account_voucher_unreconcile
+msgid "Unreconcile entries"
+msgstr "Ponisti stavke"
 
 #. module: account_voucher
 #: view:account.voucher:0
-msgid "Set to Draft"
-msgstr "Postavi u pripremu"
+msgid "Voucher Statistics"
+msgstr "Statistike Vaucera"
 
 #. module: account_voucher
-#: wizard_button:account.voucher.open,init,open:0
-msgid "Open Voucher Entries"
-msgstr "Otvori Stavke Priznanice"
+#: view:account.voucher:0
+msgid "Validate"
+msgstr "Overi"
 
 #. module: account_voucher
-#: model:ir.model,name:account_voucher.model_account_voucher_line
-msgid "Voucher Line"
-msgstr "Red Priznanice"
+#: view:account.voucher:0
+msgid "Search Vouchers"
+msgstr "Pretrazi Vaucere"
 
 #. module: account_voucher
-#: view:account.move:0
-msgid "Total Credit"
-msgstr "Ukupno potrazuje"
+#: selection:account.voucher,type:0
+msgid "Purchase"
+msgstr "Kupovina"
 
 #. module: account_voucher
 #: field:account.voucher,account_id:0
 #: field:account.voucher.line,account_id:0
 msgid "Account"
-msgstr "Konto"
+msgstr "Nalog"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-msgid "D"
-msgstr "D"
+#: field:account.voucher,line_dr_ids:0
+msgid "Debits"
+msgstr "Dugovanja"
 
 #. module: account_voucher
-#: field:account.account,level:0
-msgid "Level"
-msgstr "Nivo"
+#: view:account.statement.from.invoice.lines:0
+msgid "Ok"
+msgstr "U redu"
 
 #. module: account_voucher
-#: view:account.move:0
-msgid "Account Entry Line"
-msgstr "Stavke knjiženja"
+#: field:account.voucher,date_due:0
+#: field:account.voucher.line,date_due:0
+msgid "Due Date"
+msgstr "Datum dospeća"
 
 #. module: account_voucher
-#: view:account.move:0
-msgid "Total Debit"
-msgstr "Ukupno duguje"
+#: field:account.voucher,narration:0
+msgid "Notes"
+msgstr "Napomene"
+
+#. module: account_voucher
+#: selection:account.voucher,type:0
+msgid "Sale"
+msgstr "Prodaja"
+
+#. module: account_voucher
+#: field:account.voucher.line,move_line_id:0
+msgid "Journal Item"
+msgstr "Stavka Dnevnika"
+
+#. module: account_voucher
+#: field:account.voucher,reference:0
+msgid "Ref #"
+msgstr "Ref #"
 
 #. module: account_voucher
-#: field:account.voucher,amount:0
 #: field:account.voucher.line,amount:0
-#: rml:voucher.cash_amount:0
+#: report:voucher.print:0
 msgid "Amount"
 msgstr "Iznos"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: view:account.voucher:0
+msgid "Payment Options"
+msgstr "Opcije Placanja"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Bill Information"
+msgstr "Informacije Racuna"
+
+#. module: account_voucher
+#: selection:account.voucher,state:0
+msgid "Cancelled"
+msgstr "Otkazano"
+
+#. module: account_voucher
+#: field:account.statement.from.invoice,date:0
+msgid "Date payment"
+msgstr "Datum plaćanja"
+
+#. module: account_voucher
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Receiver's Signature"
 msgstr "Potpis Primaoca"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "No."
-msgstr "Br."
+#: model:ir.model,name:account_voucher.model_account_bank_statement_line
+msgid "Bank Statement Line"
+msgstr "Red bankovnog izvoda"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt
+#: model:ir.ui.menu,name:account_voucher.menu_action_purchase_receipt
+msgid "Supplier Vouchers"
+msgstr "Vauceri Dobavljaca"
+
+#. module: account_voucher
+#: field:account.voucher,tax_id:0
+msgid "Tax"
+msgstr "Porez"
+
+#. module: account_voucher
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Amount (in words) :"
 msgstr "Iznos ( napisano slovima )"
 
@@ -154,446 +259,642 @@ msgid "Analytic Account"
 msgstr "Analitički konto"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_jour_sale_voucher_form
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_sale_voucher_form
-msgid "Journal Sale Voucher"
-msgstr "Dnevnik prodaje priznanicama"
+#: report:voucher.cash_receipt.drcr:0
+msgid "Journal:"
+msgstr "Dnevnik:"
 
 #. module: account_voucher
-#: model:ir.actions.act_window,name:account_voucher.action_receipt_vou_voucher_list
-#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_vou_voucher_list
-msgid "Receipt Vouchers"
-msgstr "Priznanice prijema"
+#: view:account.voucher:0
+msgid "Payment Information"
+msgstr "Informacije Placanja"
+
+#. module: account_voucher
+#: view:account.statement.from.invoice:0
+msgid "Go"
+msgstr "Kreni"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
+#: view:account.voucher:0
+#: field:account.voucher,partner_id:0
+#: field:account.voucher.line,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: account_voucher
+#: view:account.bank.statement:0
+msgid "Import Invoices"
+msgstr "Uvezi Racune"
+
+#. module: account_voucher
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid ""
+"You have to configure account base code and account tax code on the '%s' tax!"
+msgstr ""
+
+#. module: account_voucher
+#: report:voucher.print:0
 msgid "Account :"
 msgstr "Nalog :"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "On Account of :"
-msgstr "Na Nalogu od:"
+#: selection:account.voucher,type:0
+msgid "Receipt"
+msgstr "Racun"
 
 #. module: account_voucher
-#: model:ir.actions.act_window,name:account_voucher.action_payments_bankpay_voucher_list
-#: model:ir.actions.act_window,name:account_voucher.action_payments_cashpay_voucher_list
-#: model:ir.actions.act_window,name:account_voucher.action_payments_voucher_list
-#: model:ir.ui.menu,name:account_voucher.menu_action_payments_voucher_list
-msgid "Payment Vouchers"
-msgstr "Priznanice plaćanja"
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
+msgid "On Account of :"
+msgstr "Na Nalogu od:"
 
 #. module: account_voucher
 #: view:account.voucher:0
-msgid "Create"
-msgstr "Kreiraj"
+msgid "Sales Lines"
+msgstr ""
 
 #. module: account_voucher
-#: selection:account.account,type1:0
-#: selection:account.account.template,type1:0
-msgid "None"
-msgstr ""
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
+msgid "Date:"
+msgstr "Datum:"
 
 #. module: account_voucher
-#: field:account.voucher,number:0
-msgid "Number"
-msgstr ""
+#: view:account.voucher:0
+#: field:account.voucher,period_id:0
+msgid "Period"
+msgstr "Razdoblje"
 
 #. module: account_voucher
-#: view:account.move:0
+#: view:account.voucher:0
 #: field:account.voucher,state:0
-#: wizard_field:account.voucher.open,init,state:0
 msgid "State"
-msgstr ""
+msgstr "Stanje"
 
 #. module: account_voucher
-#: selection:account.account,type1:0
-#: selection:account.account.template,type1:0
-#: selection:account.voucher.line,type:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Debit"
-msgstr ""
+#: model:ir.module.module,shortdesc:account_voucher.module_meta_information
+msgid "Accounting Voucher Entries"
+msgstr "Knjigovodstveni Sadrzaj Vaucera"
 
 #. module: account_voucher
-#: field:account.voucher,type:0
-#: field:account.voucher.line,type:0
-msgid "Type"
-msgstr ""
+#: view:account.voucher:0
+#: model:ir.actions.act_window,name:account_voucher.act_journal_voucher_open
+msgid "Voucher Entries"
+msgstr "Sadrzaj Vaucera"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_voucher_list
-msgid "Voucher Entries"
-msgstr ""
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "Error !"
+msgstr "Greška !"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: view:account.voucher:0
+msgid "Supplier Voucher"
+msgstr "Vaucer Dobavljaca"
+
+#. module: account_voucher
+#: model:ir.actions.act_window,name:account_voucher.action_review_voucher_list
+msgid "Vouchers Entries"
+msgstr "Sadrzaji Vaucera"
+
+#. module: account_voucher
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Authorised Signatory"
-msgstr ""
+msgstr "Autorizovanj Potpis"
 
 #. module: account_voucher
 #: view:account.voucher:0
-#: model:ir.actions.act_window,name:account_voucher.action_voucher_list
-msgid "Vouchers"
-msgstr ""
+#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt
+#: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt
+msgid "Sales Receipt"
+msgstr "Racun Prodaje"
+
+#. module: account_voucher
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "Invalid action !"
+msgstr "Neispravna akcija!"
 
 #. module: account_voucher
 #: view:account.voucher:0
-#: field:account.voucher.line,voucher_id:0
-#: model:res.request.link,name:account_voucher.req_link_voucher
-msgid "Voucher"
-msgstr ""
+msgid "Other Information"
+msgstr "Ostale informacije"
 
 #. module: account_voucher
-#: wizard_view:account.voucher.open,init:0
-#: model:ir.ui.menu,name:account_voucher.menu_wizard_account_voucher_open
-msgid "Open Vouchers"
-msgstr ""
+#: view:account.voucher.unreconcile:0
+msgid "Unreconciliation"
+msgstr "Poništavanje zatvaranja"
 
 #. module: account_voucher
 #: constraint:ir.ui.view:0
 msgid "Invalid XML for View Architecture!"
-msgstr ""
+msgstr "Nevažeći XML za pregled arhitekture"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Dated :"
-msgstr ""
+#: model:ir.actions.act_window,name:account_voucher.action_vendor_payment
+#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment
+msgid "Vendor Payment"
+msgstr "Placanja Proizvodjaca"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_receipt_cashreceipt_voucher_list
-msgid "Cash Receipts"
-msgstr ""
+#: view:account.invoice:0
+#: code:addons/account_voucher/invoice.py:0
+#, python-format
+msgid "Pay Invoice"
+msgstr "Racun"
 
 #. module: account_voucher
-#: field:account.voucher,partner_id:0
-#: field:account.voucher.line,partner_id:0
-msgid "Partner"
-msgstr ""
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "No Account Base Code and Account Tax Code!"
+msgstr "Nema bazne postavke naloga kao ni poreza za isti."
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_pay_voucher_form
-msgid "New Bank Payment"
-msgstr ""
+#: field:account.voucher,tax_amount:0
+msgid "Tax Amount"
+msgstr "Iznos poreza"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Voucher Entry"
+msgstr "Sadrzaj Vaucera"
 
 #. module: account_voucher
 #: view:account.voucher:0
+msgid "Paid Amount"
+msgstr "Suma Isplate"
+
+#. module: account_voucher
+#: selection:account.voucher,pay_now:0
+msgid "Pay Directly"
+msgstr "Direktna Isplata"
+
+#. module: account_voucher
+#: field:account.statement.from.invoice,line_ids:0
+#: field:account.statement.from.invoice.lines,line_ids:0
+msgid "Invoices"
+msgstr "Računi"
+
+#. module: account_voucher
+#: field:account.voucher.unreconcile,remove:0
+msgid "Want to remove accounting entries too ?"
+msgstr "Zelis da uklonis i sadrzaj racuna ?"
+
+#. module: account_voucher
 #: field:account.voucher,line_ids:0
+#: model:ir.model,name:account_voucher.model_account_voucher_line
 msgid "Voucher Lines"
-msgstr ""
+msgstr "Linije Vaucera"
 
 #. module: account_voucher
 #: field:account.voucher,currency_id:0
 msgid "Currency"
-msgstr ""
+msgstr "Valuta"
 
 #. module: account_voucher
-#: view:account.move:0
-#: field:account.move,narration:0
-#: view:account.voucher:0
-#: field:account.voucher,narration:0
-msgid "Narration"
+#: view:account.statement.from.invoice.lines:0
+msgid "Payable and Receivables"
 msgstr ""
 
 #. module: account_voucher
-#: field:account.voucher,reference:0
-msgid "Voucher Reference"
+#: selection:account.voucher,pay_now:0
+msgid "Pay Later or Group Funds"
 msgstr ""
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_cash_rec_voucher_form
-msgid "New Cash Receipt"
-msgstr ""
+#: view:account.voucher:0
+#: selection:account.voucher,state:0
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
+msgid "Draft"
+msgstr "Priprema"
 
 #. module: account_voucher
-#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher_amt
-msgid "Voucher Report"
-msgstr ""
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Greska! Ne mozete kreirati rekursivni meni."
 
 #. module: account_voucher
-#: field:account.account,open_bal:0
-msgid "Opening Balance"
-msgstr ""
+#: report:voucher.print:0
+msgid "Currency:"
+msgstr "Valuta:"
 
 #. module: account_voucher
-#: selection:account.voucher,state:0
-#: selection:account.voucher.open,init,state:0
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Draft"
-msgstr ""
+#: field:account.move.line,amount_unreconciled:0
+msgid "Unreconciled Amount"
+msgstr "Stornirana Suma"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "PRO-FORMA"
-msgstr ""
+msgstr "Predračun"
 
 #. module: account_voucher
-#: model:ir.actions.act_window,name:account_voucher.action_receipt_cashreceipt_voucher_list
-msgid "Cash Receipt"
-msgstr ""
+#: view:account.voucher:0
+msgid "Total Amount"
+msgstr "Ukupni iznos"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_cash_pay_voucher_form
-msgid "New Cash Payment"
-msgstr ""
+#: field:account.voucher.line,type:0
+msgid "Cr/Dr"
+msgstr "Cr/Dr"
 
 #. module: account_voucher
-#: view:account.move:0
-msgid "Optional Information"
-msgstr ""
+#: field:account.voucher,audit:0
+msgid "Audit Complete ?"
+msgstr "Pregled KOmpletan?"
 
 #. module: account_voucher
 #: view:account.voucher:0
-msgid "General Entries"
-msgstr ""
+msgid "Vendor"
+msgstr "proizvođač"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Payment Terms"
+msgstr "Uslovi plaćanja"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Compute Tax"
+msgstr "Izracunaj Porez"
 
 #. module: account_voucher
 #: field:account.voucher,date:0
+#: field:account.voucher.line,date_original:0
 msgid "Date"
-msgstr ""
+msgstr "Datum"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid ":"
-msgstr ""
+#: view:account.voucher:0
+msgid "Post"
+msgstr "Пошаљи"
 
 #. module: account_voucher
-#: field:account.account,type1:0
-#: field:account.account.template,type1:0
-msgid "Dr/Cr"
-msgstr ""
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
+msgid "Number:"
+msgstr "Broj:"
 
 #. module: account_voucher
-#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher
-msgid "Voucher Report (Cr/Dr)"
-msgstr ""
+#: field:account.bank.statement.line,amount_reconciled:0
+msgid "Amount reconciled"
+msgstr "Zatvoreni iznos"
 
 #. module: account_voucher
-#: field:account.move,voucher_type:0
-#: wizard_field:account.voucher.open,init,type:0
-msgid "Voucher Type"
-msgstr ""
+#: view:account.voucher:0
+msgid "Expense Lines"
+msgstr "Troskovi"
+
+#. module: account_voucher
+#: field:account.voucher,pre_line:0
+msgid "Previous Payments ?"
+msgstr "Predhodne Isplate"
+
+#. module: account_voucher
+#: model:ir.actions.act_window,name:account_voucher.action_voucher_list
+#: model:ir.ui.menu,name:account_voucher.menu_encode_entries_by_voucher
+msgid "Journal Vouchers"
+msgstr "Dnevnik Vaucera"
 
 #. module: account_voucher
-#: selection:account.account,type1:0
-#: selection:account.account.template,type1:0
 #: selection:account.voucher.line,type:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
 msgid "Credit"
-msgstr ""
+msgstr "Kredit"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Extended options..."
+msgstr "Dodatne Opcije"
+
+#. module: account_voucher
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "Please define a sequence on the journal !"
+msgstr "Molim definisite sekvencu Knjige"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Through :"
-msgstr ""
+msgstr "Kroz:"
 
 #. module: account_voucher
-#: field:account.voucher,reference_type:0
-msgid "Reference Type"
+#: help:account.voucher,reference:0
+msgid "Transaction reference number."
+msgstr "referentni broj Transakcije"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Invoices and outstanding transactions"
 msgstr ""
 
 #. module: account_voucher
+#: view:account.voucher:0
+msgid "Bill Date"
+msgstr "Datum Racuna"
+
+#. module: account_voucher
+#: view:account.voucher:0
+#: view:account.voucher.unreconcile:0
+msgid "Unreconcile"
+msgstr "Poništi zatvaranje"
+
+#. module: account_voucher
+#: view:account.voucher:0
 #: model:ir.model,name:account_voucher.model_account_voucher
 msgid "Accounting Voucher"
 msgstr ""
 
 #. module: account_voucher
-#: field:account.voucher,period_id:0
-msgid "Period"
-msgstr ""
+#: field:account.voucher,number:0
+msgid "Number"
+msgstr "Broj"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_payments_bankpay_voucher_list
-msgid "Bank Payments"
-msgstr ""
+#: model:ir.model,name:account_voucher.model_account_bank_statement
+msgid "Bank Statement"
+msgstr "Izvod banke"
 
 #. module: account_voucher
-#: view:account.move:0
-msgid "General Information"
-msgstr ""
+#: view:account.voucher:0
+msgid "To Review"
+msgstr "Pregledati"
 
 #. module: account_voucher
-#: wizard_field:account.voucher.open,init,period_ids:0
-msgid "Periods"
-msgstr ""
+#: view:account.voucher:0
+msgid "Sales Information"
+msgstr "Informacije Prodaje"
 
 #. module: account_voucher
 #: view:account.voucher:0
-#: selection:account.voucher,state:0
-#: wizard_button:account.voucher.open,init,end:0
-#: selection:account.voucher.open,init,state:0
-msgid "Cancel"
-msgstr ""
+msgid "Open Vendor Journal Entries"
+msgstr "Otvori Dnevnik Proizvodjaca"
 
 #. module: account_voucher
+#: field:account.voucher.line,voucher_id:0
+#: model:ir.actions.report.xml,name:account_voucher.report_account_voucher
+#: model:res.request.link,name:account_voucher.req_link_voucher
+msgid "Voucher"
+msgstr "Vaucer"
+
+#. module: account_voucher
+#: model:ir.model,name:account_voucher.model_account_invoice
+msgid "Invoice"
+msgstr "Račun"
+
+#. module: account_voucher
+#: view:account.voucher:0
+msgid "Voucher Items"
+msgstr "Sadrzaj Vaucera"
+
+#. module: account_voucher
+#: view:account.statement.from.invoice:0
+#: view:account.statement.from.invoice.lines:0
 #: view:account.voucher:0
+#: view:account.voucher.unreconcile:0
+msgid "Cancel"
+msgstr "Otkaži"
+
+#. module: account_voucher
 #: selection:account.voucher,state:0
-#: selection:account.voucher.open,init,state:0
 msgid "Pro-forma"
-msgstr ""
+msgstr "Predračun"
+
+#. module: account_voucher
+#: view:account.voucher:0
+#: field:account.voucher,move_ids:0
+#: model:ir.model,name:account_voucher.model_account_move_line
+msgid "Journal Items"
+msgstr "Sadrzaj Dnevnika"
+
+#. module: account_voucher
+#: view:account.voucher:0
+#: model:ir.actions.act_window,name:account_voucher.act_pay_voucher
+#: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt
+#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt
+msgid "Customer Payment"
+msgstr "Placanja Stranki"
 
 #. module: account_voucher
 #: constraint:ir.model:0
 msgid ""
 "The Object name must start with x_ and not contain any special character !"
 msgstr ""
+"Ime objekta mora da počinje sa x_ i ne sme da sadrži specijalne karaktere !"
 
 #. module: account_voucher
-#: view:account.voucher:0
-msgid "Other Info"
-msgstr ""
+#: view:account.statement.from.invoice:0
+#: model:ir.actions.act_window,name:account_voucher.action_view_account_statement_from_invoice
+msgid "Import Invoices in Statement"
+msgstr "Uvezi račune u izvod"
 
 #. module: account_voucher
-#: model:ir.module.module,shortdesc:account_voucher.module_meta_information
-msgid "Accounting Voucher Entries"
-msgstr ""
+#: view:account.voucher:0
+msgid "Pay"
+msgstr "Plati"
 
 #. module: account_voucher
-#: field:res.currency,sub_name:0
-msgid "Sub Currency"
-msgstr ""
+#: selection:account.voucher.line,type:0
+#: report:voucher.cash_receipt.drcr:0
+msgid "Debit"
+msgstr "Duguje"
 
 #. module: account_voucher
-#: model:ir.actions.act_window,name:account_voucher.action_other_voucher_list
-#: model:ir.ui.menu,name:account_voucher.menu_action_other_voucher_list
-msgid "Other Vouchers"
-msgstr ""
+#: view:account.voucher:0
+msgid "Payment Method"
+msgstr "Nacin Placanja"
 
 #. module: account_voucher
 #: field:account.voucher.line,name:0
 msgid "Description"
-msgstr ""
+msgstr "Opis"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Canceled"
-msgstr ""
+msgstr "Otkazano"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_cash_pay_voucher_form
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Cash Payment Voucher"
-msgstr ""
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "Please change partner and try again !"
+msgstr "Molim p;romenite partnera i probajte ponovo !"
 
 #. module: account_voucher
-#: model:ir.actions.act_window,name:account_voucher.action_receipt_bakreceipt_voucher_list
-msgid "Bank Receipt"
-msgstr ""
+#: field:account.statement.from.invoice,journal_ids:0
+#: view:account.voucher:0
+#: field:account.voucher,journal_id:0
+msgid "Journal"
+msgstr "Dnevnik"
 
 #. module: account_voucher
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
 msgid "-"
-msgstr ""
+msgstr "-"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_jour_pur_voucher_form
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_jour_pur_voucher_form
-msgid "Journal Purchase Voucher"
-msgstr ""
+#: view:account.voucher:0
+msgid "Internal Notes"
+msgstr "Interne Napomene"
 
 #. module: account_voucher
-#: view:account.account:0
-msgid "Closing Balance"
-msgstr ""
+#: view:account.voucher:0
+#: field:account.voucher,line_cr_ids:0
+msgid "Credits"
+msgstr "Krediti"
 
 #. module: account_voucher
-#: field:account.voucher.line,ref:0
-msgid "Ref."
-msgstr ""
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
+msgid "State:"
+msgstr "Stanje:"
+
+#. module: account_voucher
+#: field:account.bank.statement.line,voucher_id:0
+#: view:account.invoice:0
+#: view:account.voucher:0
+#: field:account.voucher,pay_now:0
+#: selection:account.voucher,type:0
+msgid "Payment"
+msgstr "Isplata"
 
 #. module: account_voucher
+#: view:account.voucher:0
 #: selection:account.voucher,state:0
-#: selection:account.voucher.open,init,state:0
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
+#: report:voucher.cash_receipt.drcr:0
+#: report:voucher.print:0
 msgid "Posted"
-msgstr ""
+msgstr "Proknjiženo"
 
 #. module: account_voucher
-#: field:account.voucher,name:0
-msgid "Name"
-msgstr ""
+#: view:account.voucher:0
+msgid "Customer"
+msgstr "Kupac"
 
 #. module: account_voucher
-#: field:account.voucher,move_ids:0
-msgid "Real Entry"
-msgstr ""
+#: field:account.voucher,type:0
+msgid "Default Type"
+msgstr "Podrazumevani Tip"
 
 #. module: account_voucher
-#: model:ir.actions.wizard,name:account_voucher.wizard_account_voucher_open
-msgid "Open a Voucher Entry"
-msgstr ""
+#: model:ir.model,name:account_voucher.model_account_statement_from_invoice
+#: model:ir.model,name:account_voucher.model_account_statement_from_invoice_lines
+msgid "Entries by Statement from Invoices"
+msgstr "Sadrzaj po stavkama iz Racuna"
 
 #. module: account_voucher
 #: field:account.voucher,move_id:0
 msgid "Account Entry"
-msgstr ""
+msgstr "Sadrzaj Naloga"
 
 #. module: account_voucher
-#: view:account.voucher:0
-msgid "Entry Lines"
-msgstr ""
+#: constraint:ir.rule:0
+msgid "Rules are not supported for osv_memory objects !"
+msgstr "Pravila nisu podrzana od strane osv_memory objekata !"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_view_bank_rec_voucher_form
-msgid "New Bank Receipt"
-msgstr ""
+#: code:addons/account_voucher/account_voucher.py:0
+#, python-format
+msgid "Invalid Error !"
+msgstr "Nedefinisana Greska !"
 
 #. module: account_voucher
-#: model:ir.ui.menu,name:account_voucher.menu_action_payments_cashpay_voucher_list
-msgid "Cash Payments"
-msgstr ""
+#: help:account.voucher,date:0
+msgid "Effective date for accounting entries"
+msgstr "Efektivni datum za sadrzaj racuna"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_cash_rec_voucher_form
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Cash Receipt Voucher"
+#: view:account.voucher.unreconcile:0
+msgid ""
+"If you unreconciliate transactions, you must also verify all the actions "
+"that are linked to those transactions because they will not be disable"
 msgstr ""
+"Ako želite poništiti zatvaranja transakcija, morate također provjeriti sve "
+"radnje koje su povezane sa tim transakcijama jer neće biti onemogućene"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_bank_pay_voucher_form
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Bank Payment Voucher"
-msgstr ""
+#: view:account.voucher:0
+msgid "Vendor Invoices and Outstanding transactions"
+msgstr "Proizvodjacevi racuni i neobradjene transakcije"
 
 #. module: account_voucher
-#: selection:account.move,voucher_type:0
-#: selection:account.voucher,type:0
-#: selection:account.voucher.open,init,type:0
-#: model:ir.actions.act_window,name:account_voucher.action_view_bank_rec_voucher_form
-#: rml:voucher.cash_amount:0
-#: rml:voucher.cash_receipt.drcr:0
-msgid "Bank Receipt Voucher"
-msgstr ""
+#: field:account.voucher.line,untax_amount:0
+msgid "Untax Amount"
+msgstr "Neporezovan Iznos"
 
 #. module: account_voucher
-#: field:account.account,journal_id:0
-#: field:account.voucher,journal_id:0
-msgid "Journal"
-msgstr ""
+#: view:account.voucher:0
+#: field:account.voucher.line,amount_unreconciled:0
+msgid "Open Balance"
+msgstr "Otvori Stanje"
+
+#. module: account_voucher
+#: view:account.voucher:0
+#: field:account.voucher,amount:0
+msgid "Total"
+msgstr "Ukupno"
+
+#. module: account_voucher
+#: field:account.voucher,name:0
+msgid "Memo"
+msgstr "Memo"
+
+#~ msgid "Journal Voucher"
+#~ msgstr "Nalog za knjiženje"
+
+#~ msgid "Opening Balance Entry"
+#~ msgstr "Otvaranje sadrzaja salda"
+
+#~ msgid "Contra Voucher"
+#~ msgstr "Suprotna priznanica"
+
+#~ msgid ","
+#~ msgstr ","
+
+#~ msgid "State :"
+#~ msgstr "Stanje :"
+
+#~ msgid "Bank Receipts"
+#~ msgstr "Bankovni primitci"
+
+#~ msgid "Total Credit"
+#~ msgstr "Ukupno potrazuje"
+
+#~ msgid "D"
+#~ msgstr "D"
+
+#~ msgid "Open Voucher Entries"
+#~ msgstr "Otvori Stavke Priznanice"
+
+#~ msgid "Total Debit"
+#~ msgstr "Ukupno duguje"
+
+#~ msgid "Level"
+#~ msgstr "Nivo"
+
+#~ msgid "Account Entry Line"
+#~ msgstr "Stavke knjiženja"
+
+#~ msgid "Voucher Line"
+#~ msgstr "Red Priznanice"
+
+#~ msgid "Journal Sale Voucher"
+#~ msgstr "Dnevnik prodaje priznanicama"
+
+#~ msgid "Receipt Vouchers"
+#~ msgstr "Priznanice prijema"
+
+#~ msgid "No."
+#~ msgstr "Br."
+
+#~ msgid "Create"
+#~ msgstr "Kreiraj"
+
+#~ msgid "Payment Vouchers"
+#~ msgstr "Priznanice plaćanja"
index 5560f57..0230cac 100644 (file)
@@ -24,8 +24,8 @@ from tools.translate import _
 
 class invoice(osv.osv):
     _inherit = 'account.invoice'
-    
-    def invoice_pay_customer(self, cr, uid, ids, context={}):
+
+    def invoice_pay_customer(self, cr, uid, ids, context=None):
         if not ids: return []
         inv = self.browse(cr, uid, ids[0], context=context)
         return {
@@ -46,7 +46,7 @@ class invoice(osv.osv):
                 'invoice_type':inv.type,
                 'invoice_id':inv.id,
                 'default_type': inv.type in ('out_invoice','out_refund') and 'receipt' or 'payment'
-            }
+                }
         }
 
 invoice()
index 424ec0e..ce34733 100644 (file)
@@ -1,21 +1,21 @@
-
 -
   In order to check account voucher module in OpenERP I create a customer voucher
 -
   !record {model: account.voucher, id: account_voucher_voucherforaxelor0}:
     account_id: account.cash
+    amount: 1000.0
     company_id: base.main_company
     currency_id: base.EUR
     journal_id: account.bank_journal
     name: Voucher for Axelor
     narration: Basic Pc
-    line_ids:
+    line_cr_ids:
       - account_id: account.a_recv
         amount: 1000.0
         name: Voucher for Axelor
-        partner_id: base.res_partner_desertic_hispafuentes
+    partner_id: base.res_partner_desertic_hispafuentes
     period_id: account.period_6
-    reference_type: none
+    reference: none
 
 -
   I check that Initially customer voucher is in the "Draft" state
   I compute the voucher to calculate the taxes by clicking Compute button
 -
   !workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucherforaxelor0}
--
-  I check that the voucher state is now "proforma"
--
-  !assert {model: account.voucher, id: account_voucher_voucherforaxelor0}:
-    - state == 'proforma'
+
 -
   I create voucher by clicking on Create button
 -
 -
   !record {model: account.voucher, id: account_voucher_voucheraxelor0}:
     account_id: account.cash
+    amount: 1000.0
     company_id: base.main_company
     currency_id: base.EUR
     journal_id: account.bank_journal
     name: Voucher Axelor
     narration: Basic PC
-    line_ids:
+    line_dr_ids:
       - account_id: account.cash
         amount: 1000.0
         name: Voucher Axelor
+    partner_id: base.res_partner_desertic_hispafuentes
     period_id: account.period_6
-    reference_type: none
+    reference: none
 
 -
   I check that Initially vendor voucher is in the "Draft" state
   !assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
     - state == 'draft'
 -
-  I change the state of voucher to "proforma" by clicking PRO-FORMA button
--
-  !workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucheraxelor0}
--
-  I check that the voucher state is now "proforma"
--
-  !assert {model: account.voucher, id: account_voucher_voucheraxelor0}:
-    - state == 'proforma'
--
   I create voucher by clicking on Create button
 -
   !workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_voucheraxelor0}
index ed6e98a..46db574 100644 (file)
                         <button name="cancel_voucher" string="Cancel" states="draft,proforma"  icon="gtk-cancel"/>
                         <button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/>
                         <button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/>
-                        <group  colspan="2" attrs="{'invisible':[('pay_now','!=','pay_now')]}">
-                           <button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay" attrs="{'invisible':[('state','!=','posted')]}"/>
-                       </group>
+                        <group attrs="{'invisible':[('state','!=','posted')]}">
+                           <button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay" attrs="{'invisible':[('pay_now','!=','pay_now')]}"/>
+                        </group>
                         <button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
                     </group>
                 </form>
index f6263bf..1eb904e 100644 (file)
@@ -28,130 +28,65 @@ class account_analytic_account(osv.osv):
     _name = 'account.analytic.account'
     _description = 'Analytic Account'
 
-    def _compute_currency_for_level_tree(self, cr, uid, ids, ids2, res, context=None):
-        # Handle multi-currency on each level of analytic account
-        # This is a refactoring of _balance_calc computation
-        cr.execute("SELECT a.id, r.currency_id FROM account_analytic_account a INNER JOIN res_company r ON (a.company_id = r.id) where a.id IN %s" , (tuple(ids2),))
-        currency = dict(cr.fetchall())
-        res_currency= self.pool.get('res.currency')
+    def _compute_level_tree(self, cr, uid, ids, child_ids, res, field_names, context=None):
+        def recursive_computation(account_id, res):
+            account = self.browse(cr, uid, account_id)
+            for son in account.child_ids:
+                res = recursive_computation(son.id, res)
+                for field in field_names:
+                    res[account.id][field] += res[son.id][field]
+            return res
         for account in self.browse(cr, uid, ids, context=context):
-            if account.id not in ids2:
+            if account.id not in child_ids:
                 continue
-            for child in account.child_ids:
-                if child.id != account.id:
-                    res.setdefault(account.id, 0.0)
-                    if  currency[child.id] != currency[account.id]:
-                        res[account.id] += res_currency.compute(cr, uid, currency[child.id], currency[account.id], res.get(child.id, 0.0), context=context)
-                    else:
-                        res[account.id] += res.get(child.id, 0.0)
-
-        cur_obj = res_currency.browse(cr, uid, currency.values(), context=context)
-        cur_obj = dict([(o.id, o) for o in cur_obj])
-        for id in ids:
-            if id in ids2:
-                res[id] = res_currency.round(cr, uid, cur_obj[currency[id]], res.get(id,0.0))
-
-        return dict([(i, res[i]) for i in ids ])
+            res = recursive_computation(account.id, res)
+        return res
 
-    def _credit_calc(self, cr, uid, ids, name, arg, context=None):
+    def _debit_credit_bal_qtty(self, cr, uid, ids, name, arg, context=None):
         res = {}
         if context is None:
             context = {}
-        parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
-        for i in ids:
-            res.setdefault(i,0.0)
+        child_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
+        for i in child_ids:
+            res[i] =  {}
+            for n in name:
+                res[i][n] = 0.0
 
-        if not parent_ids:
+        if not child_ids:
             return res
 
         where_date = ''
+        where_clause_args = [tuple(child_ids)]  
         if context.get('from_date', False):
-            where_date += " AND l.date >= '" + context['from_date'] + "'"
+            where_date += " AND l.date >= %s"
+            where_clause_args  += [context['from_date']]
         if context.get('to_date', False):
-            where_date += " AND l.date <= '" + context['to_date'] + "'"
-        cr.execute("SELECT a.id, COALESCE(SUM(l.amount),0) FROM account_analytic_account a LEFT JOIN account_analytic_line l ON (a.id=l.account_id "+where_date+") WHERE l.amount<0 and a.id IN %s GROUP BY a.id",(tuple(parent_ids),))
-        r = dict(cr.fetchall())
-        return self._compute_currency_for_level_tree(cr, uid, ids, parent_ids, r, context)
-
-    def _debit_calc(self, cr, uid, ids, name, arg, context=None):
-        res = {}
-        if context is None:
-            context = {}
-        parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
-        for i in ids:
-            res.setdefault(i,0.0)
-
-        if not parent_ids:
-            return res
-
-        where_date = ''
-        if context.get('from_date',False):
-            where_date += " AND l.date >= '" + context['from_date'] + "'"
-        if context.get('to_date',False):
-            where_date += " AND l.date <= '" + context['to_date'] + "'"
-        cr.execute("SELECT a.id, COALESCE(SUM(l.amount),0) FROM account_analytic_account a LEFT JOIN account_analytic_line l ON (a.id=l.account_id "+where_date+") WHERE l.amount>0 and a.id IN %s GROUP BY a.id" ,(tuple(parent_ids),))
-        r = dict(cr.fetchall())
-        return self._compute_currency_for_level_tree(cr, uid, ids, parent_ids, r, context=context)
-
-    def _balance_calc(self, cr, uid, ids, name, arg, context=None):
-        res = {}
-        if context is None:
-            context = {}
-
-        parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
-        for i in ids:
-            res.setdefault(i,0.0)
-
-        if not parent_ids:
-            return res
-
-        where_date = ''
-        if context.get('from_date',False):
-            where_date += " AND l.date >= '" + context['from_date'] + "'"
-        if context.get('to_date',False):
-            where_date += " AND l.date <= '" + context['to_date'] + "'"
-        cr.execute("SELECT a.id, COALESCE(SUM(l.amount),0) FROM account_analytic_account a LEFT JOIN account_analytic_line l ON (a.id=l.account_id "+where_date+") WHERE a.id IN %s GROUP BY a.id",(tuple(parent_ids),))
-
-        for account_id, sum in cr.fetchall():
-            res[account_id] = sum
-        return self._compute_currency_for_level_tree(cr, uid, ids, parent_ids, res, context=context)
-
-    def _quantity_calc(self, cr, uid, ids, name, arg, context=None):
-        #XXX must convert into one uom
-        res = {}
-        if context is None:
-            context = {}
-
-        parent_ids = tuple(self.search(cr, uid, [('parent_id', 'child_of', ids)]))
-
-        for i in ids:
-            res.setdefault(i,0.0)
-
-        if not parent_ids:
-            return res
-
-        where_date = ''
-        if context.get('from_date',False):
-            where_date += " AND l.date >= '" + context['from_date'] + "'"
-        if context.get('to_date',False):
-            where_date += " AND l.date <= '" + context['to_date'] + "'"
-
-        cr.execute('SELECT a.id, COALESCE(SUM(l.unit_amount), 0) \
-                FROM account_analytic_account a \
-                    LEFT JOIN account_analytic_line l ON (a.id = l.account_id ' + where_date + ') \
-                WHERE a.id IN %s GROUP BY a.id',(tuple(parent_ids),))
-
-        for account_id, sum in cr.fetchall():
-            res[account_id] = sum
-
-        for account in self.browse(cr, uid, ids, context=context):
-            if account.id not in parent_ids:
-                continue
-            for child in account.child_ids:
-                if child.id != account.id:
-                    res.setdefault(account.id, 0.0)
-                    res[account.id] += res.get(child.id, 0.0)
-        return dict([(i, res[i]) for i in ids])
+            where_date += " AND l.date <= %s"
+            where_clause_args += [context['to_date']]
+        cr.execute("""
+              SELECT a.id,
+                     sum(
+                         CASE WHEN l.amount > 0
+                         THEN l.amount 
+                         ELSE 0.0
+                         END
+                          ) as debit,
+                     sum(
+                         CASE WHEN l.amount < 0
+                         THEN -l.amount
+                         ELSE 0.0 
+                         END
+                          ) as credit,
+                     COALESCE(SUM(l.amount),0) AS balance,
+                     COALESCE(SUM(l.unit_amount),0) AS quantity
+              FROM account_analytic_account a 
+                  LEFT JOIN account_analytic_line l ON (a.id = l.account_id) 
+              WHERE a.id IN %s
+              """ + where_date + """
+              GROUP BY a.id""", where_clause_args)
+        for ac_id, debit, credit, balance, quantity in cr.fetchall():
+            res[ac_id] = {'debit': debit, 'credit': credit, 'balance': balance, 'quantity': quantity}
+        return self._compute_level_tree(cr, uid, ids, child_ids, res, ['debit', 'credit', 'balance', 'quantity'], context)
 
     def name_get(self, cr, uid, ids, context=None):
         if not ids:
@@ -180,10 +115,10 @@ class account_analytic_account(osv.osv):
         'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2),
         'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'),
         'line_ids': fields.one2many('account.analytic.line', 'account_id', 'Analytic Entries'),
-        'balance': fields.function(_balance_calc, method=True, type='float', string='Balance'),
-        'debit': fields.function(_debit_calc, method=True, type='float', string='Debit'),
-        'credit': fields.function(_credit_calc, method=True, type='float', string='Credit'),
-        'quantity': fields.function(_quantity_calc, method=True, type='float', string='Quantity'),
+        'balance': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
+        'debit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
+        'credit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
+        'quantity': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Quantity', multi='debit_credit_bal_qtty'),
         'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'),
         'partner_id': fields.many2one('res.partner', 'Partner'),
         'contact_id': fields.many2one('res.partner.address', 'Contact'),
index 77fb155..22fbdb5 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2010-06-18 10:59+0000\n"
-"PO-Revision-Date: 2010-10-15 08:47+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 21:45+0000\n"
+"Last-Translator: zmmaj <Unknown>\n"
 "Language-Team: Serbian <sr@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-10-16 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: analytic
@@ -23,14 +23,6 @@ msgid "Child Accounts"
 msgstr "Podređeni Nalozi"
 
 #. module: analytic
-#: help:account.analytic.line,amount_currency:0
-msgid ""
-"The amount expressed in the related account currency if not equal to the "
-"company one."
-msgstr ""
-"Vrednost izrazena u datom iznosu valute ako nije jednaka valuti preduzeca"
-
-#. module: analytic
 #: constraint:ir.model:0
 msgid ""
 "The Object name must start with x_ and not contain any special character !"
@@ -40,7 +32,7 @@ msgstr ""
 #. module: analytic
 #: field:account.analytic.account,name:0
 msgid "Account Name"
-msgstr "Naziv računa"
+msgstr "Naziv Naloga"
 
 #. module: analytic
 #: help:account.analytic.line,unit_amount:0
@@ -48,11 +40,6 @@ msgid "Specifies the amount of quantity to count."
 msgstr "Specificira koju kolicinu iznosa da broji"
 
 #. module: analytic
-#: help:account.analytic.line,currency_id:0
-msgid "The related account currency if not equal to the company one."
-msgstr "Dati iznos valute ako nije jednaka valuti preduzeca"
-
-#. module: analytic
 #: model:ir.module.module,description:analytic.module_meta_information
 msgid ""
 "Module for defining analytic accounting object.\n"
@@ -87,40 +74,6 @@ msgid "Debit"
 msgstr "Duguje"
 
 #. module: analytic
-#: help:account.analytic.account,state:0
-msgid ""
-"* When an account is created its in 'Draft' state.                           "
-"       \n"
-"* If any associated partner is there, it can be in 'Open' state.             "
-"                     \n"
-"* If any pending balance is there it can be in 'Pending'.                    "
-"               \n"
-"* And finally when all the transactions are over, it can be in 'Close' "
-"state.                                   \n"
-"* The project can be in either if the states 'Template' and 'Running'.\n"
-" If it is template then we can make projects based on the template projects. "
-"If its in 'Running' state it is a normal project.                            "
-"     \n"
-" If it is to be reviewed then the state is 'Pending'.\n"
-" When the project is completed the state is set to 'Done'."
-msgstr ""
-"*Kada je neka faktura kreirana a nalazi se u ' U Toku'.                      "
-"                                                    \n"
-"*Ako je bilo koji asocirani partner tamo, on mora biti u stanju ' Otvoren'.  "
-"                                                                     \n"
-"*Ako je bilo koji Saldo u stanju 'U izvrsenju' on mora i biti tamo.          "
-"                                                                             "
-"\n"
-"*I , na kraju kada su sve transakcije gotove, mora se naci u stanju ' "
-"Zatvoreno'.                                                                  "
-"             \n"
-" Ako je ovo shema(obrazac) onda mi mozemo napraviri projekat baziran na "
-"istom. Ako je u stanju ' U izvrsenju' to je normalnan\n"
-"projekat.\n"
-" Ako zelimo da ga pregledamo, stanje mora biti ' U Toku'.\n"
-" Kada je projekat zavrsen stanje je postavljeno na ' Zavrseno'."
-
-#. module: analytic
 #: field:account.analytic.account,type:0
 msgid "Account Type"
 msgstr "Vrsta konta"
@@ -147,12 +100,9 @@ msgid "Description"
 msgstr "Opis"
 
 #. module: analytic
-#: help:account.analytic.line,amount:0
-msgid ""
-"Calculated by multiplying the quantity and the price given in the Product's "
-"cost price."
-msgstr ""
-"Izracunato mnozenjem kolicine i cene dobijene iz Proizvodove cene kostanja"
+#: selection:account.analytic.account,type:0
+msgid "Normal"
+msgstr "Normalan"
 
 #. module: analytic
 #: field:account.analytic.account,company_id:0
@@ -182,14 +132,23 @@ msgstr "Datum"
 
 #. module: analytic
 #: field:account.analytic.account,currency_id:0
-#: field:account.analytic.line,currency_id:0
 msgid "Account currency"
 msgstr "Valuta Naloga"
 
 #. module: analytic
-#: selection:account.analytic.account,type:0
-msgid "View"
-msgstr "Pregled"
+#: field:account.analytic.account,quantity:0
+#: field:account.analytic.line,unit_amount:0
+msgid "Quantity"
+msgstr "Količina"
+
+#. module: analytic
+#: help:account.analytic.line,amount:0
+msgid ""
+"Calculated by multiplying the quantity and the price given in the Product's "
+"cost price. Always expressed in the company main currency."
+msgstr ""
+"Izracunato mnozenjem kolicine i cene date u proizvodovom cenovniku. Uvek "
+"prikazano u osnovnoj valuti preduzeca."
 
 #. module: analytic
 #: help:account.analytic.account,quantity_max:0
@@ -222,15 +181,13 @@ msgid "Balance"
 msgstr "Saldo"
 
 #. module: analytic
-#: field:account.analytic.account,date_start:0
-msgid "Date Start"
-msgstr "Početni datum"
-
-#. module: analytic
-#: field:account.analytic.account,quantity:0
-#: field:account.analytic.line,unit_amount:0
-msgid "Quantity"
-msgstr "Količina"
+#: help:account.analytic.account,type:0
+msgid ""
+"If you select the View Type, it means you won't allow to create journal "
+"entries using that account."
+msgstr ""
+"Ukoliko izaberete PREGLED, to znaci da ne zelite da kreirate sadrzaj "
+"dnevnika, koristeci taj nalog."
 
 #. module: analytic
 #: field:account.analytic.account,date:0
@@ -238,16 +195,16 @@ msgid "Date End"
 msgstr "Završni datum"
 
 #. module: analytic
+#: constraint:ir.rule:0
+msgid "Rules are not supported for osv_memory objects !"
+msgstr "Pravila nisu podrzana od strane osv_memory objekata !"
+
+#. module: analytic
 #: field:account.analytic.account,code:0
 msgid "Account Code"
 msgstr "Sifra Naloga"
 
 #. module: analytic
-#: selection:account.analytic.account,type:0
-msgid "Normal"
-msgstr "Normalan"
-
-#. module: analytic
 #: field:account.analytic.account,complete_name:0
 msgid "Full Account Name"
 msgstr "Puni naziv konta"
@@ -260,19 +217,19 @@ msgid "Analytic Account"
 msgstr "Analitički konto"
 
 #. module: analytic
-#: field:account.analytic.account,company_currency_id:0
-msgid "Currency"
-msgstr "Valuta"
+#: selection:account.analytic.account,type:0
+msgid "View"
+msgstr "Pregled"
 
 #. module: analytic
-#: field:account.analytic.line,amount_currency:0
-msgid "Amount currency"
-msgstr "Iznos valute"
+#: field:account.analytic.account,partner_id:0
+msgid "Partner"
+msgstr "Partner"
 
 #. module: analytic
-#: field:account.analytic.account,partner_id:0
-msgid "Associated Partner"
-msgstr "Povezani partner"
+#: field:account.analytic.account,date_start:0
+msgid "Date Start"
+msgstr "Početni datum"
 
 #. module: analytic
 #: selection:account.analytic.account,state:0
@@ -283,3 +240,59 @@ msgstr "Otvori"
 #: field:account.analytic.account,line_ids:0
 msgid "Analytic Entries"
 msgstr "Analitičke stavke"
+
+#~ msgid ""
+#~ "The amount expressed in the related account currency if not equal to the "
+#~ "company one."
+#~ msgstr ""
+#~ "Vrednost izrazena u datom iznosu valute ako nije jednaka valuti preduzeca"
+
+#~ msgid "The related account currency if not equal to the company one."
+#~ msgstr "Dati iznos valute ako nije jednaka valuti preduzeca"
+
+#~ msgid ""
+#~ "* When an account is created its in 'Draft' state.                           "
+#~ "       \n"
+#~ "* If any associated partner is there, it can be in 'Open' state.             "
+#~ "                     \n"
+#~ "* If any pending balance is there it can be in 'Pending'.                    "
+#~ "               \n"
+#~ "* And finally when all the transactions are over, it can be in 'Close' "
+#~ "state.                                   \n"
+#~ "* The project can be in either if the states 'Template' and 'Running'.\n"
+#~ " If it is template then we can make projects based on the template projects. "
+#~ "If its in 'Running' state it is a normal project.                            "
+#~ "     \n"
+#~ " If it is to be reviewed then the state is 'Pending'.\n"
+#~ " When the project is completed the state is set to 'Done'."
+#~ msgstr ""
+#~ "*Kada je neka faktura kreirana a nalazi se u ' U Toku'.                      "
+#~ "                                                    \n"
+#~ "*Ako je bilo koji asocirani partner tamo, on mora biti u stanju ' Otvoren'.  "
+#~ "                                                                     \n"
+#~ "*Ako je bilo koji Saldo u stanju 'U izvrsenju' on mora i biti tamo.          "
+#~ "                                                                             "
+#~ "\n"
+#~ "*I , na kraju kada su sve transakcije gotove, mora se naci u stanju ' "
+#~ "Zatvoreno'.                                                                  "
+#~ "             \n"
+#~ " Ako je ovo shema(obrazac) onda mi mozemo napraviri projekat baziran na "
+#~ "istom. Ako je u stanju ' U izvrsenju' to je normalnan\n"
+#~ "projekat.\n"
+#~ " Ako zelimo da ga pregledamo, stanje mora biti ' U Toku'.\n"
+#~ " Kada je projekat zavrsen stanje je postavljeno na ' Zavrseno'."
+
+#~ msgid ""
+#~ "Calculated by multiplying the quantity and the price given in the Product's "
+#~ "cost price."
+#~ msgstr ""
+#~ "Izracunato mnozenjem kolicine i cene dobijene iz Proizvodove cene kostanja"
+
+#~ msgid "Currency"
+#~ msgstr "Valuta"
+
+#~ msgid "Associated Partner"
+#~ msgstr "Povezani partner"
+
+#~ msgid "Amount currency"
+#~ msgstr "Iznos valute"
index 326ed33..dfbdc74 100644 (file)
@@ -1292,8 +1292,8 @@ true, it will allow you to hide the event alarm information without removing it.
 
             count = 0
             for data in cr.dictfetchall():
-                start_date = base_start_date and datetime.strptime(base_start_date[:10], "%Y-%m-%d") or False
-                until_date = base_until_date and datetime.strptime(base_until_date[:10], "%Y-%m-%d") or False
+                start_date = base_start_date and datetime.strptime(base_start_date[:10]+ ' 00:00:00' , "%Y-%m-%d %H:%M:%S") or False
+                until_date = base_until_date and datetime.strptime(base_until_date[:10]+ ' 23:59:59', "%Y-%m-%d %H:%M:%S") or False
                 if count > limit:
                     break
                 event_date = datetime.strptime(data['date'], "%Y-%m-%d %H:%M:%S")
@@ -1426,8 +1426,9 @@ true, it will allow you to hide the event alarm information without removing it.
         args_without_date = []
         start_date = False
         until_date = False
+
         for arg in args:
-            if arg[0] not in ('date', unicode('date')):
+            if arg[0] not in ('date', unicode('date'), 'date_deadline', unicode('date_deadline')):
                 args_without_date.append(arg)
             else:
                 if arg[1] in ('>', '>='):
index 7d9c14f..fe31055 100644 (file)
@@ -6,48 +6,190 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-09-29 08:45+0000\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 19:25+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-09-30 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: base_contact
-#: field:res.partner.job,sequence_contact:0
-msgid "Contact Seq."
-msgstr "Последовательность контакта"
+#: field:res.partner.contact,title:0
+msgid "Title"
+msgstr "Название"
 
 #. module: base_contact
-#: model:ir.model,name:base_contact.model_res_partner_contact
-msgid "res.partner.contact"
-msgstr "Контакт партнера"
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Недопустимое имя модели в определении действия."
 
 #. module: base_contact
-#: constraint:ir.model:0
+#: view:res.partner.address:0
+msgid "# of Contacts"
+msgstr "Кол-во контактных лиц"
+
+#. module: base_contact
+#: field:res.partner.job,fax:0
+msgid "Fax"
+msgstr "Факс"
+
+#. module: base_contact
+#: view:base.contact.installer:0
+msgid "title"
+msgstr ""
+
+#. module: base_contact
+#: help:res.partner.job,date_start:0
+msgid "Start date of job(Joining Date)"
+msgstr ""
+
+#. module: base_contact
+#: help:res.partner.job,function:0
+msgid "Function of this contact with this partner"
+msgstr ""
+
+#. module: base_contact
+#: help:res.partner.job,state:0
+msgid "Status of Address"
+msgstr ""
+
+#. module: base_contact
+#: help:res.partner.job,name:0
 msgid ""
-"The Object name must start with x_ and not contain any special character !"
+"You may                     enter Address first,Partner will be linked "
+"automatically if any."
 msgstr ""
-"Название объекта должно начинаться с x_  и не должно содержать специальных "
-"символов !"
 
 #. module: base_contact
-#: field:res.partner.job,function_id:0
+#: help:res.partner.job,fax:0
+msgid "Job FAX no."
+msgstr ""
+
+#. module: base_contact
+#: field:res.partner.contact,mobile:0
+msgid "Mobile"
+msgstr "Моб. тел."
+
+#. module: base_contact
+#: view:res.partner.contact:0
+#: field:res.partner.contact,comment:0
+msgid "Notes"
+msgstr "Примечания"
+
+#. module: base_contact
+#: model:process.node,note:base_contact.process_node_contacts0
+msgid "People you work with."
+msgstr "Люди с которыми вы работает"
+
+#. module: base_contact
+#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
+msgid "Define functions and address."
+msgstr "Определить функции и адреса."
+
+#. module: base_contact
+#: help:res.partner.job,date_stop:0
+msgid "Last date of job"
+msgstr ""
+
+#. module: base_contact
+#: view:base.contact.installer:0
+#: field:base.contact.installer,migrate:0
+msgid "Migrate"
+msgstr ""
+
+#. module: base_contact
+#: view:res.partner.contact:0
+#: field:res.partner.job,name:0
+msgid "Partner"
+msgstr "Партнер"
+
+#. module: base_contact
+#: model:process.node,note:base_contact.process_node_function0
+msgid "Jobs at a same partner address."
+msgstr "Должности с таким же адресом партнера"
+
+#. module: base_contact
+#: model:process.node,name:base_contact.process_node_partners0
+msgid "Partners"
+msgstr "Партнеры"
+
+#. module: base_contact
+#: field:res.partner.job,function:0
 msgid "Partner Function"
 msgstr "Функции партнера"
 
 #. module: base_contact
-#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
-#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form
-#: model:process.node,name:base_contact.process_node_contacts0
+#: field:res.partner.job,state:0
+msgid "State"
+msgstr "Состояние"
+
+#. module: base_contact
+#: model:ir.module.module,shortdesc:base_contact.module_meta_information
+#: model:process.process,name:base_contact.process_process_basecontactprocess0
+msgid "Base Contact"
+msgstr "Основной контакт"
+
+#. module: base_contact
+#: field:res.partner.job,date_stop:0
+msgid "Date Stop"
+msgstr "Дата Остановки"
+
+#. module: base_contact
+#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
+msgid "Contact's Jobs"
+msgstr "Должность контакта"
+
+#. module: base_contact
 #: view:res.partner:0
-#: view:res.partner.address:0
-#: field:res.partner.address,job_ids:0
-msgid "Contacts"
-msgstr "Контакты"
+msgid "Categories"
+msgstr "Категории"
+
+#. module: base_contact
+#: help:res.partner.job,sequence_partner:0
+msgid ""
+"Order of importance                 of this job title in the list of job "
+"title of the linked partner"
+msgstr ""
+
+#. module: base_contact
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Неправильный XML для просмотра архитектуры!"
+
+#. module: base_contact
+#: field:res.partner.job,extension:0
+msgid "Extension"
+msgstr "Расширение"
+
+#. module: base_contact
+#: help:res.partner.job,extension:0
+msgid "Internal/External extension phone number"
+msgstr "Внутренний / внешний расширение телефонного номера"
+
+#. module: base_contact
+#: help:res.partner.job,phone:0
+msgid "Job Phone no."
+msgstr ""
+
+#. module: base_contact
+#: view:res.partner.contact:0
+#: field:res.partner.contact,job_ids:0
+msgid "Functions and Addresses"
+msgstr "Функции и Адреса"
+
+#. module: base_contact
+#: model:ir.model,name:base_contact.model_res_partner_contact
+#: field:res.partner.job,contact_id:0
+msgid "Contact"
+msgstr "Контакт"
+
+#. module: base_contact
+#: help:res.partner.job,email:0
+msgid "Job E-Mail"
+msgstr ""
 
 #. module: base_contact
 #: field:res.partner.job,sequence_partner:0
@@ -55,97 +197,106 @@ msgid "Partner Seq."
 msgstr "Последовательность партнеров"
 
 #. module: base_contact
-#: selection:res.partner.job,state:0
-msgid "Current"
-msgstr "Текущий"
+#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
+msgid "Function to address"
+msgstr "Адрес функции"
 
 #. module: base_contact
-#: field:res.partner.contact,first_name:0
-msgid "First Name"
-msgstr "Имя"
+#: field:res.partner.contact,name:0
+msgid "Last Name"
+msgstr "Фамилия"
 
 #. module: base_contact
-#: model:ir.model,name:base_contact.model_res_partner_job
-msgid "Contact Partner Function"
-msgstr "Функции сотрудника партнера"
+#: view:res.partner:0
+#: view:res.partner.contact:0
+msgid "Communication"
+msgstr ""
 
 #. module: base_contact
-#: field:res.partner.job,other:0
-msgid "Other"
-msgstr "Другое"
+#: field:base.contact.installer,config_logo:0
+#: field:res.partner.contact,photo:0
+msgid "Image"
+msgstr ""
 
 #. module: base_contact
-#: model:process.transition,name:base_contact.process_transition_contacttofunction0
-msgid "Contact to function"
-msgstr "Функции контакта"
+#: selection:res.partner.job,state:0
+msgid "Past"
+msgstr "Прошлые"
 
 #. module: base_contact
-#: constraint:ir.actions.act_window:0
-msgid "Invalid model name in the action definition."
-msgstr "Недопустимое имя модели в определении действия."
+#: model:ir.model,name:base_contact.model_res_partner_address
+msgid "Partner Addresses"
+msgstr ""
 
 #. module: base_contact
-#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
-msgid "Partner to address"
-msgstr "Адрес партнера"
+#: field:res.partner.job,sequence_contact:0
+msgid "Contact Seq."
+msgstr "Последовательность контакта"
 
 #. module: base_contact
 #: view:res.partner.address:0
-msgid "# of Contacts"
-msgstr "Кол-во контактных лиц"
+msgid "Search Contact"
+msgstr ""
 
 #. module: base_contact
-#: help:res.partner.job,other:0
-msgid "Additional phone field"
-msgstr "Дополнительное поле телефона"
+#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
+#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form
+#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form
+#: model:process.node,name:base_contact.process_node_contacts0
+#: view:res.partner:0
+#: field:res.partner.address,job_ids:0
+msgid "Contacts"
+msgstr "Контакты"
 
 #. module: base_contact
-#: model:process.node,name:base_contact.process_node_function0
-msgid "Function"
-msgstr "Функция"
+#: view:base.contact.installer:0
+msgid ""
+"Due to changes in Address and Partner's relation, some of the details from "
+"address are needed to be migrated into contact information."
+msgstr ""
 
 #. module: base_contact
-#: field:res.partner.job,fax:0
-msgid "Fax"
-msgstr "Факс"
+#: model:process.node,note:base_contact.process_node_addresses0
+msgid "Working and private addresses."
+msgstr "Рабочие и дополнительные адреса."
 
 #. module: base_contact
-#: field:res.partner.contact,lang_id:0
-msgid "Language"
-msgstr "Язык"
+#: help:res.partner.job,address_id:0
+msgid "Address which is linked to the Partner"
+msgstr ""
 
 #. module: base_contact
-#: field:res.partner.job,phone:0
-msgid "Phone"
-msgstr "Телефон"
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr ""
 
 #. module: base_contact
-#: model:process.transition,note:base_contact.process_transition_contacttofunction0
-msgid "Defines contacts and functions."
-msgstr "Определить контакты и функции"
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_  и не должно содержать специальных "
+"символов !"
 
 #. module: base_contact
-#: field:res.partner.contact,title:0
-msgid "Title"
-msgstr "Название"
+#: help:res.partner.job,other:0
+msgid "Additional phone field"
+msgstr "Дополнительное поле телефона"
 
 #. module: base_contact
-#: view:res.partner.job:0
-msgid "Contact Functions"
-msgstr "Функции контакта"
+#: field:res.partner.contact,website:0
+msgid "Website"
+msgstr "Сайт"
 
 #. module: base_contact
-#: model:ir.module.module,shortdesc:base_contact.module_meta_information
-msgid "Base Contact"
-msgstr "Основной контакт"
+#: view:base.contact.installer:0
+msgid "Otherwise these details will not be visible from address/contact."
+msgstr ""
 
 #. module: base_contact
-#: help:res.partner.job,sequence_partner:0
-msgid ""
-"Order of importance of this job title in the list of job title of the linked "
-"partner"
+#: field:base.contact.installer,progress:0
+msgid "Configuration Progress"
 msgstr ""
-"С учетом важности этой работы названия в списке Должность связанного партнера"
 
 #. module: base_contact
 #: field:res.partner.contact,email:0
@@ -154,47 +305,39 @@ msgid "E-Mail"
 msgstr "Эл. почта"
 
 #. module: base_contact
-#: field:res.partner.job,date_stop:0
-msgid "Date Stop"
-msgstr "Дата Остановки"
-
-#. module: base_contact
-#: view:res.partner:0
-#: field:res.partner.job,address_id:0
-msgid "Address"
-msgstr "Адрес"
+#: model:ir.model,name:base_contact.model_base_contact_installer
+msgid "base.contact.installer"
+msgstr ""
 
 #. module: base_contact
-#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
-#: model:ir.ui.menu,name:base_contact.menu_action_res_partner_job
-msgid "Contact's Jobs"
-msgstr "Должность контакта"
+#: help:res.partner.contact,active:0
+msgid ""
+"If the active field is set to true,                 it will allow you to "
+"hide the partner contact without removing it."
+msgstr ""
 
 #. module: base_contact
-#: field:res.partner.contact,country_id:0
-msgid "Nationality"
-msgstr "Национальность"
+#: view:res.partner.job:0
+msgid "Contact Functions"
+msgstr "Функции контакта"
 
 #. module: base_contact
-#: help:res.partner.job,sequence_contact:0
-msgid ""
-"Order of importance of this address in the list of addresses of the linked "
-"contact"
-msgstr "Уровень важности этого адреса в списке адресов связанного контакта"
+#: field:res.partner.job,phone:0
+msgid "Phone"
+msgstr "Телефон"
 
 #. module: base_contact
-#: field:res.partner.address,job_id:0
-#: field:res.partner.contact,job_id:0
-msgid "Main Job"
-msgstr "Основная должность"
+#: view:base.contact.installer:0
+msgid "Do you want to migrate your Address data in Contact Data?"
+msgstr ""
 
 #. module: base_contact
-#: view:res.partner:0
-msgid "Categories"
-msgstr "Категории"
+#: field:res.partner.contact,active:0
+msgid "Active"
+msgstr "Активен"
 
 #. module: base_contact
-#: field:res.partner.contact,function_id:0
+#: field:res.partner.contact,function:0
 msgid "Main Function"
 msgstr "Личная функция"
 
@@ -204,137 +347,137 @@ msgid "Define partners and their addresses."
 msgstr "Определить партнеров и их адреса."
 
 #. module: base_contact
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Неправильный XML для просмотра архитектуры!"
-
-#. module: base_contact
-#: model:process.process,name:base_contact.process_process_basecontactprocess0
-msgid "Base Contact Process"
-msgstr "Основной контакт"
-
-#. module: base_contact
 #: view:res.partner.contact:0
 msgid "Seq."
 msgstr "Посл-ть"
 
 #. module: base_contact
-#: field:res.partner.job,extension:0
-msgid "Extension"
-msgstr "Расширение"
+#: field:res.partner.contact,lang_id:0
+msgid "Language"
+msgstr "Язык"
 
 #. module: base_contact
-#: field:res.partner.contact,mobile:0
-msgid "Mobile"
-msgstr "Моб. тел."
+#: view:res.partner.contact:0
+msgid "Extra Information"
+msgstr "Доп. информация"
 
 #. module: base_contact
-#: help:res.partner.job,extension:0
-msgid "Internal/External extension phone number"
-msgstr "Внутренний / внешний расширение телефонного номера"
+#: model:process.node,note:base_contact.process_node_partners0
+msgid "Companies you work with."
+msgstr "Организации с которыми вы работаете"
 
 #. module: base_contact
-#: model:process.node,note:base_contact.process_node_contacts0
-msgid "People you work with."
-msgstr "Люди с которыми вы работает"
+#: view:res.partner.contact:0
+msgid "Partner Contact"
+msgstr "Контакт партнера"
 
 #. module: base_contact
 #: view:res.partner.contact:0
-msgid "Extra Information"
-msgstr "Доп. информация"
+msgid "General"
+msgstr "Основной"
 
 #. module: base_contact
 #: view:res.partner.contact:0
-#: field:res.partner.contact,job_ids:0
-msgid "Functions and Addresses"
-msgstr "Функции и Адреса"
+msgid "Photo"
+msgstr ""
 
 #. module: base_contact
-#: field:res.partner.contact,active:0
-msgid "Active"
-msgstr "Активен"
+#: field:res.partner.contact,birthdate:0
+msgid "Birth Date"
+msgstr "Дата рождения"
 
 #. module: base_contact
-#: field:res.partner.job,contact_id:0
-msgid "Contact"
-msgstr "Контакт"
+#: help:base.contact.installer,migrate:0
+msgid "If you select this, all addresses will be migrated."
+msgstr ""
 
 #. module: base_contact
-#: model:process.node,note:base_contact.process_node_partners0
-msgid "Companies you work with."
-msgstr "Организации с которыми вы работаете"
+#: selection:res.partner.job,state:0
+msgid "Current"
+msgstr "Текущий"
 
 #. module: base_contact
-#: field:res.partner.contact,partner_id:0
-msgid "Main Employer"
-msgstr "Основной работодатель"
+#: field:res.partner.contact,first_name:0
+msgid "First Name"
+msgstr "Имя"
 
 #. module: base_contact
-#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
-msgid "Function to address"
-msgstr "Адрес функции"
+#: model:ir.model,name:base_contact.model_res_partner_job
+msgid "Contact Partner Function"
+msgstr "Функции сотрудника партнера"
 
 #. module: base_contact
-#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
-msgid "Partner Contacts"
-msgstr "Контакты партнера"
+#: field:res.partner.job,other:0
+msgid "Other"
+msgstr "Другое"
 
 #. module: base_contact
-#: view:res.partner.contact:0
-msgid "Partner Contact"
-msgstr "Контакт партнера"
+#: model:process.node,name:base_contact.process_node_function0
+msgid "Function"
+msgstr "Функция"
 
 #. module: base_contact
-#: model:process.node,name:base_contact.process_node_partners0
-msgid "Partners"
-msgstr "Партнеры"
+#: field:res.partner.address,job_id:0
+#: field:res.partner.contact,job_id:0
+msgid "Main Job"
+msgstr "Основная должность"
+
+#. module: base_contact
+#: model:process.transition,note:base_contact.process_transition_contacttofunction0
+msgid "Defines contacts and functions."
+msgstr "Определить контакты и функции"
+
+#. module: base_contact
+#: model:process.transition,name:base_contact.process_transition_contacttofunction0
+msgid "Contact to function"
+msgstr "Функции контакта"
 
 #. module: base_contact
-#: model:process.node,name:base_contact.process_node_addresses0
 #: view:res.partner:0
-msgid "Addresses"
-msgstr "Адреса"
+#: field:res.partner.job,address_id:0
+msgid "Address"
+msgstr "Адрес"
 
 #. module: base_contact
-#: model:process.node,note:base_contact.process_node_addresses0
-msgid "Working and private addresses."
-msgstr "Рабочие и дополнительные адреса."
+#: field:res.partner.contact,country_id:0
+msgid "Nationality"
+msgstr "Национальность"
 
 #. module: base_contact
-#: field:res.partner.contact,name:0
-msgid "Last Name"
-msgstr "Фамилия"
+#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
+msgid "Open Jobs"
+msgstr ""
 
 #. module: base_contact
-#: field:res.partner.job,state:0
-msgid "State"
-msgstr "Состояние"
+#: field:base.contact.installer,name:0
+msgid "Name"
+msgstr ""
 
 #. module: base_contact
-#: view:res.partner.contact:0
-#: view:res.partner.job:0
-msgid "General"
-msgstr "Основной"
+#: field:res.partner.contact,partner_id:0
+msgid "Main Employer"
+msgstr "Основной работодатель"
 
 #. module: base_contact
-#: selection:res.partner.job,state:0
-msgid "Past"
-msgstr "Прошлые"
+#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer
+msgid "Address Migration"
+msgstr ""
 
 #. module: base_contact
-#: view:res.partner.contact:0
-msgid "General Information"
-msgstr "Общая информация"
+#: view:res.partner:0
+msgid "Postal Address"
+msgstr ""
 
 #. module: base_contact
-#: model:process.node,note:base_contact.process_node_function0
-msgid "Jobs at a same partner address."
-msgstr "Должности с таким же адресом партнера"
+#: model:process.node,name:base_contact.process_node_addresses0
+#: view:res.partner:0
+msgid "Addresses"
+msgstr "Адреса"
 
 #. module: base_contact
-#: field:res.partner.job,name:0
-msgid "Partner"
-msgstr "Партнер"
+#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
+msgid "Partner to address"
+msgstr "Адрес партнера"
 
 #. module: base_contact
 #: field:res.partner.job,date_start:0
@@ -342,16 +485,31 @@ msgid "Date Start"
 msgstr "Дата начала"
 
 #. module: base_contact
-#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
-msgid "Define functions and address."
-msgstr "Определить функции и адреса."
+#: help:res.partner.job,sequence_contact:0
+msgid ""
+"Order of                     importance of this address in the list of "
+"addresses of the linked contact"
+msgstr ""
 
-#. module: base_contact
-#: field:res.partner.contact,website:0
-msgid "Website"
-msgstr "Сайт"
+#~ msgid "General Information"
+#~ msgstr "Общая информация"
 
-#. module: base_contact
-#: field:res.partner.contact,birthdate:0
-msgid "Birth Date"
-msgstr "Дата рождения"
+#~ msgid "res.partner.contact"
+#~ msgstr "Контакт партнера"
+
+#~ msgid ""
+#~ "Order of importance of this job title in the list of job title of the linked "
+#~ "partner"
+#~ msgstr ""
+#~ "С учетом важности этой работы названия в списке Должность связанного партнера"
+
+#~ msgid "Base Contact Process"
+#~ msgstr "Основной контакт"
+
+#~ msgid "Partner Contacts"
+#~ msgstr "Контакты партнера"
+
+#~ msgid ""
+#~ "Order of importance of this address in the list of addresses of the linked "
+#~ "contact"
+#~ msgstr "Уровень важности этого адреса в списке адресов связанного контакта"
index 685138c..f2bf161 100644 (file)
@@ -6,23 +6,23 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-08-03 03:17+0000\n"
-"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 19:14+0000\n"
+"Last-Translator: Chertykov Denis <chertykov@gmail.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-09-29 04:59+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: base_vat
-#: model:ir.module.module,description:base_vat.module_meta_information
+#: code:addons/base_vat/base_vat.py:0
+#, python-format
 msgid ""
-"Enable the VAT Number for the partner. Check the validity of that VAT Number."
-msgstr ""
-"Разрешить использование кода налога для партнера. Проверьте правильность "
-"кода налога."
+"The Vat does not seems to be correct. You should have entered something like "
+"this %s"
+msgstr "НДС не кажется верным. Вы должны ввести что-то вроде этого: %s"
 
 #. module: base_vat
 #: constraint:ir.ui.view:0
@@ -30,11 +30,46 @@ msgid "Invalid XML for View Architecture!"
 msgstr "Некорректный формат XML структуры для просмотра."
 
 #. module: base_vat
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_  и не должно содержать специальных "
+"символов !"
+
+#. module: base_vat
+#: model:ir.module.module,shortdesc:base_vat.module_meta_information
+msgid "Base VAT - To check VAT number validity"
+msgstr "База НДС - для проверки правильности НДС"
+
+#. module: base_vat
+#: code:addons/base_vat/base_vat.py:0
+#, python-format
+msgid "The VAT is invalid, It should begin with the country code"
+msgstr "НДС неправильный, он должен начинаться с кода страны"
+
+#. module: base_vat
+#: help:res.partner,vat_subjected:0
+msgid ""
+"Check this box if the partner is subjected to the VAT. It will be used for "
+"the VAT legal statement."
+msgstr ""
+
+#. module: base_vat
+#: model:ir.model,name:base_vat.model_res_partner
+msgid "Partner"
+msgstr "Партнёр"
+
+#. module: base_vat
 #: field:res.partner,vat_subjected:0
 msgid "VAT Legal Statement"
 msgstr "Действующий код налога"
 
-#. module: base_vat
-#: model:ir.module.module,shortdesc:base_vat.module_meta_information
-msgid "VAT"
-msgstr "Код налога"
+#~ msgid "VAT"
+#~ msgstr "Код налога"
+
+#~ msgid ""
+#~ "Enable the VAT Number for the partner. Check the validity of that VAT Number."
+#~ msgstr ""
+#~ "Разрешить использование кода налога для партнера. Проверьте правильность "
+#~ "кода налога."
index e9e7faa..9b4a2b3 100644 (file)
@@ -8,13 +8,13 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 21:49+0000\n"
-"Last-Translator: Carlos @ smile.fr <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:14+0000\n"
+"Last-Translator: Carlos-smile <Unknown>\n"
 "Language-Team: Spanish <es@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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: claim_from_delivery
index e76dc7a..991a614 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 09:03+0000\n"
+"PO-Revision-Date: 2010-10-25 13:14+0000\n"
 "Last-Translator: Douwe Wullink (Dypalio) <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: crm
@@ -412,12 +412,12 @@ msgstr "Fondsenwerving"
 #: view:res.partner:0
 #: field:res.partner,opportunity_ids:0
 msgid "Leads and Opportunities"
-msgstr ""
+msgstr "Leads en verkoopkansen"
 
 #. module: crm
 #: view:crm.send.mail:0
 msgid "_Send"
-msgstr ""
+msgstr "Ver_stuur"
 
 #. module: crm
 #: view:crm.lead:0
@@ -427,33 +427,33 @@ msgstr "Communicatie"
 #. module: crm
 #: field:crm.case.section,change_responsible:0
 msgid "Change Responsible"
-msgstr ""
+msgstr "Wijzig verantwoordelijke"
 
 #. module: crm
 #: field:crm.merge.opportunity,state:0
 msgid "Set State To"
-msgstr ""
+msgstr "Zet status op"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_lead2opportunity_action
 msgid "Convert/Merge Opportunity"
-msgstr ""
+msgstr "Verkoopkans omzetten/samenvoegen"
 
 #. module: crm
 #: field:crm.lead,write_date:0
 msgid "Update Date"
-msgstr ""
+msgstr "Wijzigingsdatum"
 
 #. module: crm
 #: help:crm.meeting,count:0
 msgid "Repeat max that times"
-msgstr ""
+msgstr "Herhaal max aantal keren"
 
 #. module: crm
 #: view:crm.lead2opportunity.action:0
 #: field:crm.lead2opportunity.action,name:0
 msgid "Select Action"
-msgstr ""
+msgstr "Selecteer actie"
 
 #. module: crm
 #: field:base.action.rule,trg_categ_id:0
@@ -471,17 +471,17 @@ msgstr "Categorie"
 #. module: crm
 #: view:crm.lead.report:0
 msgid "#Opportunities"
-msgstr ""
+msgstr "#Verkoopkansen"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_oppor2
 msgid "Campaign 1"
-msgstr ""
+msgstr "Campagne 1"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_oppor1
 msgid "Campaign 2"
-msgstr ""
+msgstr "Campagne 2"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -491,12 +491,12 @@ msgstr "Privacy"
 #. module: crm
 #: view:crm.lead.report:0
 msgid "Opportunity Analysis"
-msgstr ""
+msgstr "Verkoopkans analyse"
 
 #. module: crm
 #: help:crm.meeting,location:0
 msgid "Location of Event"
-msgstr ""
+msgstr "Locatie gebeurtenis"
 
 #. module: crm
 #: field:crm.meeting,rrule:0
@@ -506,7 +506,7 @@ msgstr "Herhaling regel"
 #. module: crm
 #: help:crm.installer,fetchmail:0
 msgid "Allows you to receive E-Mails from POP/IMAP server."
-msgstr ""
+msgstr "Laat u e-mails ontvangen van POP/IMAP server."
 
 #. module: crm
 #: model:process.transition,note:crm.process_transition_opportunitymeeting0
@@ -566,27 +566,27 @@ msgstr "Niet lopend"
 #: view:crm.send.mail:0
 #: model:ir.actions.act_window,name:crm.action_crm_reply_mail
 msgid "Reply to last Mail"
-msgstr ""
+msgstr "Beantwoordt laatste mail"
 
 #. module: crm
 #: field:crm.lead,email:0
 msgid "E-Mail"
-msgstr ""
+msgstr "E-Mail"
 
 #. module: crm
 #: field:crm.installer,wiki_sale_faq:0
 msgid "Sale FAQ"
-msgstr ""
+msgstr "Verkoop FAQ"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_send_mail_attachment
 msgid "crm.send.mail.attachment"
-msgstr ""
+msgstr "crm.send.mail.attachment"
 
 #. module: crm
 #: field:crm.meeting,count:0
 msgid "Count"
-msgstr ""
+msgstr "Aantal"
 
 #. module: crm
 #: selection:crm.lead.report,month:0
@@ -610,7 +610,7 @@ msgstr "Deze personen ontvangen email."
 #: view:crm.meeting:0
 #: field:crm.meeting,name:0
 msgid "Summary"
-msgstr ""
+msgstr "Samenvatting"
 
 #. module: crm
 #: view:crm.segmentation:0
@@ -623,6 +623,9 @@ msgid ""
 "Thick this box if you want that on escalation, the responsible of this sale "
 "team automatically becomes responsible of the lead/opportunity escaladed"
 msgstr ""
+"Vink aan als u wilt dat bij escalatie de verantwoordelijke van het "
+"verkoopteam automatisch de verantwoordelijke van de geëscaleerde "
+"lead/verkoopkans wordt."
 
 #. module: crm
 #: help:crm.installer,outlook:0
@@ -631,6 +634,8 @@ msgid ""
 "Allows you to link your e-mail to OpenERP's documents. You can attach it to "
 "any existing one in OpenERP or create a new one."
 msgstr ""
+"Laat uw e-mail koppelen met OpenERP's documenten. U kunt het bijvoegen bij "
+"alle bestaande in OpenERP of een nieuwe maken."
 
 #. module: crm
 #: view:crm.case.categ:0
@@ -655,7 +660,7 @@ msgstr "Profielschetsopties"
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "#Phone calls"
-msgstr ""
+msgstr "#Telefoontjes"
 
 #. module: crm
 #: view:crm.lead:0
@@ -669,12 +674,15 @@ msgid ""
 "modes available with the customer. With each commercial opportunity, you can "
 "indicate                         the canall which is this opportunity source."
 msgstr ""
+"De kanalen vertegenwoordigen de verschillende beschikbare "
+"communicatiemiddelen met de klant. Met elke verkoopkans kunt u het kanaal "
+"aangeven dat de bron van de verkoopkans is."
 
 #. module: crm
 #: code:addons/crm/crm_meeting.py:0
 #, python-format
 msgid "The meeting '%s' has been confirmed."
-msgstr ""
+msgstr "De afspraak '%s' is bevestigd."
 
 #. module: crm
 #: field:crm.case.section,user_id:0
@@ -693,6 +701,8 @@ msgid ""
 "The email address put in the 'Reply-To' of all emails sent by OpenERP about "
 "cases in this sales team"
 msgstr ""
+"Het e-mail adres bij 'Beantwoordt aan' van alle door OpenERP verstuurde e-"
+"mails omtrent dossiers in dit verkoopteam"
 
 #. module: crm
 #: view:res.users:0
@@ -705,6 +715,8 @@ msgid ""
 "Defines a rule or repeating pattern of time to exclude from the recurring "
 "rule."
 msgstr ""
+"Definieer een regel of herhaalpatroon of tijd om uit te sluiten van de "
+"herhaalregel."
 
 #. module: crm
 #: view:crm.segmentation.line:0
@@ -717,12 +729,14 @@ msgid ""
 "If the active field is set to true, it will allow you to hide the event "
 "alarm information without removing it."
 msgstr ""
+"Als het actief veld wordt uitgezet, kunt u het verbergen zonder te moeten "
+"verwijderen"
 
 #. module: crm
 #: view:crm.lead:0
 #: view:crm.meeting:0
 msgid "Details"
-msgstr ""
+msgstr "Details"
 
 #. module: crm
 #: help:crm.installer,crm_caldav:0
@@ -730,11 +744,13 @@ msgid ""
 "Helps you to synchronize the meetings with other calendar clients and "
 "mobiles."
 msgstr ""
+"Helpt u bij het synchroniseren van de afspraken met andere agenda software "
+"en mobiele telefoons."
 
 #. module: crm
 #: selection:crm.meeting,freq:0
 msgid "Years"
-msgstr ""
+msgstr "Jaren"
 
 #. module: crm
 #: help:crm.installer,crm_claim:0
@@ -742,6 +758,8 @@ msgid ""
 "Manages the suppliers and customers claims, including your corrective or "
 "preventive actions."
 msgstr ""
+"Beheert de leveranciers- en klantklachten, inclusief uw correctieve en "
+"voorkomende activiteiten."
 
 #. module: crm
 #: view:crm.lead:0
@@ -757,7 +775,7 @@ msgstr "Segmentatie relaties"
 #. module: crm
 #: field:crm.lead.report,probable_revenue:0
 msgid "Probable Revenue"
-msgstr ""
+msgstr "Verwachte omzet"
 
 #. module: crm
 #: help:crm.segmentation,name:0
@@ -773,13 +791,13 @@ msgstr "Waarschijnlijkheid (%)"
 #. module: crm
 #: view:crm.lead:0
 msgid "Leads Generation"
-msgstr ""
+msgstr "Leads generatie"
 
 #. module: crm
 #: view:board.board:0
 #: model:ir.ui.menu,name:crm.menu_board_statistics_dash
 msgid "Statistics Dashboard"
-msgstr ""
+msgstr "Statistisch dashboard"
 
 #. module: crm
 #: code:addons/crm/wizard/crm_lead_to_opportunity.py:0
@@ -804,7 +822,7 @@ msgstr "Televisie"
 #. module: crm
 #: field:crm.installer,crm_caldav:0
 msgid "Calendar Synchronizing"
-msgstr ""
+msgstr "Agenda synchronisatie"
 
 #. module: crm
 #: view:crm.segmentation:0
@@ -831,23 +849,23 @@ msgstr "Naam verkoopkans"
 #. module: crm
 #: field:crm.meeting,byday:0
 msgid "By day"
-msgstr ""
+msgstr "Op dag"
 
 #. module: crm
 #: field:base.action.rule,act_section_id:0
 msgid "Set Team to"
-msgstr ""
+msgstr "Zet team op"
 
 #. module: crm
 #: view:calendar.attendee:0
 #: field:calendar.attendee,categ_id:0
 msgid "Event Type"
-msgstr ""
+msgstr "Soort gebeurtenis"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_installer
 msgid "crm.installer"
-msgstr ""
+msgstr "crm.installer"
 
 #. module: crm
 #: field:crm.segmentation,exclusif:0
@@ -858,7 +876,7 @@ msgstr "Exclusief"
 #: code:addons/crm/crm_opportunity.py:0
 #, python-format
 msgid "The opportunity '%s' has been won."
-msgstr ""
+msgstr "Verkoopkans '%s' is gewonnen."
 
 #. module: crm
 #: help:crm.case.section,active:0
@@ -866,11 +884,13 @@ msgid ""
 "If the active field is set to true, it will allow you to hide the sales team "
 "without removing it."
 msgstr ""
+"Als het actief veld is aangevinkt, kunt u het verkoopteam verbergen zonder "
+"het te verwijderen."
 
 #. module: crm
 #: help:crm.meeting,alarm_id:0
 msgid "Set an alarm at this time, before the event occurs"
-msgstr ""
+msgstr "Stel het alarm in op een tijd voorafgaand aan de gebeurtenis"
 
 #. module: crm
 #: model:ir.module.module,description:crm.module_meta_information
@@ -906,12 +926,39 @@ msgid ""
 "    * My Cases (list)\n"
 "    * Jobs Tracking (graph)\n"
 msgstr ""
+"Het generieke OpenERP Customer Relationship Management\n"
+"systeem laat een groep mensen intelligent en efficiënt werken met\n"
+"leads, verkoopkansen, afspraken, telefoongesprekken etc.\n"
+"Het beheer tkerntaken zoals communicatie, identificatie, priorisatie,\n"
+"toewijzing, oplossing en notificatie.\n"
+"\n"
+"OpenERP zorgt dat gebruikers, klanten en leveranciers erin slagen alle "
+"dossiers te volgen. \n"
+"Het verzorgt automatische herinneringen, escaleert aanvragen, activeert "
+"specifieke methoden\n"
+"en tal van andere acties gebaseerd op het bedrijfsbeleid.\n"
+"\n"
+"Het mooiste van dit systeem dat gebruikers niets sopeciaals hoeven te doen.\n"
+"Ze kunnen gewoon een email naar de aanvraag volger sturen. OpenERP zorgt "
+"voor het bedanken voor de email, het automatisch doorsturen naar de "
+"betreffende medewerkers, en zorgt dat alle toekomstige correspondentie naar "
+"de juiste plaats gaat.\n"
+"\n"
+"De CRM module heeft een email gateway voor de synchronisatie tussen email en "
+"OpenERP. \n"
+"Maak dashboard voor CRM dat bevat:\n"
+"    * Mijn leads (list)\n"
+"    * Leads per stadium (graph)\n"
+"    * Mijn afspraken (list)\n"
+"    * Verkoop pijplijn per stadium (graph)\n"
+"    * Mijn dossiers (list)\n"
+"    * Banen volgen (graph)\n"
 
 #. module: crm
 #: field:crm.lead.report,create_date:0
 #: field:crm.phonecall.report,create_date:0
 msgid "Create Date"
-msgstr ""
+msgstr "Aanmaakdatum"
 
 #. module: crm
 #: field:crm.lead,ref2:0
@@ -927,7 +974,7 @@ msgstr "Verkoop Inkoop"
 #: view:crm.case.stage:0
 #: field:crm.case.stage,requirements:0
 msgid "Requirements"
-msgstr ""
+msgstr "Vereisten"
 
 #. module: crm
 #: help:crm.meeting,exdate:0
@@ -935,11 +982,13 @@ msgid ""
 "This property defines the list of date/time exceptions for a recurring "
 "calendar component."
 msgstr ""
+"Deze eigenschap definieert de lijst van datum/tijd uitzonderingen voor een "
+"terugkerend agenda-item."
 
 #. module: crm
 #: view:crm.phonecall2opportunity:0
 msgid "Convert To Opportunity "
-msgstr ""
+msgstr "Converteer naar verkoopkans "
 
 #. module: crm
 #: help:crm.case.stage,sequence:0
@@ -965,22 +1014,22 @@ msgstr "Categorie relatie"
 #: view:crm.add.note:0
 #: model:ir.actions.act_window,name:crm.action_crm_add_note
 msgid "Add Note"
-msgstr ""
+msgstr "Voeg notitie toe"
 
 #. module: crm
 #: field:crm.lead,is_supplier_add:0
 msgid "Supplier"
-msgstr ""
+msgstr "Leverancier"
 
 #. module: crm
 #: help:crm.send.mail,reply_to:0
 msgid "Reply-to of the Sales team defined on this case"
-msgstr ""
+msgstr "Beantwoordt-aan van het voor dit dosseir gedefinieerde verkoopteam"
 
 #. module: crm
 #: view:crm.lead:0
 msgid "Mark Won"
-msgstr ""
+msgstr "Markeren als gewonnen"
 
 #. module: crm
 #: selection:crm.segmentation.line,expr_name:0
@@ -990,7 +1039,7 @@ msgstr "Inkoophoeveelheid"
 #. module: crm
 #: view:crm.lead:0
 msgid "Mark Lost"
-msgstr ""
+msgstr "Markeren als verloren"
 
 #. module: crm
 #: selection:crm.lead.report,month:0
@@ -1003,17 +1052,17 @@ msgstr "Maart"
 #: code:addons/crm/crm_lead.py:0
 #, python-format
 msgid "The opportunity '%s' has been closed."
-msgstr ""
+msgstr "Verkoopkans '%s' is gesloten."
 
 #. module: crm
 #: field:crm.lead,day_open:0
 msgid "Days to Open"
-msgstr ""
+msgstr "Dagen voor openen"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Show time as"
-msgstr ""
+msgstr "Tijd weergeven als"
 
 #. module: crm
 #: code:addons/crm/crm_lead.py:0
@@ -1036,7 +1085,7 @@ msgstr "Mobiel"
 #. module: crm
 #: view:crm.lead:0
 msgid "Next Stage"
-msgstr ""
+msgstr "Volgende stadium"
 
 #. module: crm
 #: view:board.board:0
@@ -1051,7 +1100,7 @@ msgstr "Referentie"
 #. module: crm
 #: field:crm.lead,optin:0
 msgid "Opt-In"
-msgstr ""
+msgstr "Opt-In"
 
 #. module: crm
 #: code:addons/crm/crm_opportunity.py:0
@@ -1079,12 +1128,12 @@ msgstr "Volgende actie"
 #. module: crm
 #: field:crm.meeting,end_date:0
 msgid "Repeat Until"
-msgstr ""
+msgstr "Herhaal tot"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Extended Options..."
-msgstr ""
+msgstr "Uitgebreide opties..."
 
 #. module: crm
 #: field:crm.meeting,date_deadline:0
@@ -1110,12 +1159,12 @@ msgstr "Relatiesegmenten"
 #. module: crm
 #: view:res.partner:0
 msgid "Previous"
-msgstr ""
+msgstr "Vorige"
 
 #. module: crm
 #: view:crm.lead:0
 msgid "Statistics"
-msgstr ""
+msgstr "Statistieken"
 
 #. module: crm
 #: field:crm.meeting,attendee_ids:0
@@ -1126,33 +1175,33 @@ msgstr "Deelnemers"
 #: view:crm.lead2opportunity.action:0
 #: view:res.partner:0
 msgid "Next"
-msgstr ""
+msgstr "Volgende"
 
 #. module: crm
 #: view:crm.lead:0
 msgid "Stage:"
-msgstr ""
+msgstr "Stadium:"
 
 #. module: crm
 #: model:crm.case.stage,name:crm.stage_lead5
 #: view:crm.lead:0
 msgid "Won"
-msgstr ""
+msgstr "Gewonnen"
 
 #. module: crm
 #: field:crm.lead.report,delay_expected:0
 msgid "Overpassed Deadline"
-msgstr ""
+msgstr "Overschreden einddatum"
 
 #. module: crm
 #: model:crm.case.section,name:crm.section_sales_department
 msgid "Sales Department"
-msgstr ""
+msgstr "Verkoopafdeling"
 
 #. module: crm
 #: field:crm.send.mail,html:0
 msgid "HTML formatting?"
-msgstr ""
+msgstr "HTML formaat?"
 
 #. module: crm
 #: field:crm.lead,type:0
@@ -1181,7 +1230,7 @@ msgstr "Laagste"
 #: view:crm.send.mail:0
 #: field:crm.send.mail.attachment,binary:0
 msgid "Attachment"
-msgstr ""
+msgstr "Bijlage"
 
 #. module: crm
 #: view:crm.lead:0
@@ -1196,12 +1245,12 @@ msgstr "Aanmaakdatum"
 #. module: crm
 #: help:crm.meeting,interval:0
 msgid "Repeat every x"
-msgstr ""
+msgstr "Herhaal elke x"
 
 #. module: crm
 #: model:crm.case.categ,name:crm.categ_oppor5
 msgid "Need a Website Design"
-msgstr ""
+msgstr "Heeft website ontwerp nodig"
 
 #. module: crm
 #: field:crm.meeting,recurrent_uid:0
@@ -1219,7 +1268,7 @@ msgstr "Onderwerp"
 #. module: crm
 #: field:crm.meeting,tu:0
 msgid "Tue"
-msgstr ""
+msgstr "Din"
 
 #. module: crm
 #: view:crm.case.stage:0
@@ -1233,7 +1282,7 @@ msgstr "Fase"
 #. module: crm
 #: view:crm.lead:0
 msgid "History Information"
-msgstr ""
+msgstr "Historie informatie"
 
 #. module: crm
 #: constraint:ir.ui.view:0
@@ -1243,27 +1292,27 @@ msgstr "Ongeldige XML voor weergave!"
 #. module: crm
 #: field:base.action.rule,act_mail_to_partner:0
 msgid "Mail to Partner"
-msgstr ""
+msgstr "Mail naar relatie"
 
 #. module: crm
 #: view:crm.lead:0
 msgid "Mailings"
-msgstr ""
+msgstr "Mailings"
 
 #. module: crm
 #: field:crm.meeting,class:0
 msgid "Mark as"
-msgstr ""
+msgstr "Markeren als"
 
 #. module: crm
 #: help:crm.meeting,rrule_type:0
 msgid "Let the event automatically repeat at that interval"
-msgstr ""
+msgstr "Laat de gebeurtenis automatisch herhalen met dit interval"
 
 #. module: crm
 #: view:base.action.rule:0
 msgid "Condition Case Fields"
-msgstr ""
+msgstr "Conditie dossier velden"
 
 #. module: crm
 #: view:crm.case.section:0
@@ -1299,23 +1348,23 @@ msgstr "Max relatie-ID bereikt"
 #: model:ir.actions.act_window,name:crm.action_report_crm_phonecall
 #: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree
 msgid "Phone Calls Analysis"
-msgstr ""
+msgstr "Telefoongesprek Analyse"
 
 #. module: crm
 #: field:crm.lead.report,opening_date:0
 #: field:crm.phonecall.report,opening_date:0
 msgid "Opening Date"
-msgstr ""
+msgstr "Openingsdatum"
 
 #. module: crm
 #: help:crm.phonecall,duration:0
 msgid "Duration in Minutes"
-msgstr ""
+msgstr "Duur in minuten"
 
 #. module: crm
 #: help:crm.installer,crm_helpdesk:0
 msgid "Manages a Helpdesk service."
-msgstr ""
+msgstr "Beheert een helpdesk dienst."
 
 #. module: crm
 #: field:crm.segmentation,som_interval:0
@@ -1326,28 +1375,28 @@ msgstr "Dagen per periode"
 #: code:addons/crm/wizard/crm_lead_to_opportunity.py:0
 #, python-format
 msgid "Closed/Cancelled \\nLeads Could not convert into Opportunity"
-msgstr ""
+msgstr "Gesloten/Geannuleerd \\nLeads konden niet omgezet in verkoopkans"
 
 #. module: crm
 #: view:crm.lead.report:0
 #: view:crm.phonecall.report:0
 msgid "  Year  "
-msgstr ""
+msgstr "  Jaar  "
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Edit All"
-msgstr ""
+msgstr "Bewerk alles"
 
 #. module: crm
 #: field:crm.meeting,fr:0
 msgid "Fri"
-msgstr ""
+msgstr "Vrij"
 
 #. module: crm
 #: field:crm.meeting,write_date:0
 msgid "Write Date"
-msgstr ""
+msgstr "Schrijfdatum"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -1372,7 +1421,7 @@ msgstr ""
 #: model:ir.actions.act_window,name:crm.action_crm_lead2partner
 #: model:ir.actions.act_window,name:crm.action_crm_phonecall2partner
 msgid "Create a Partner"
-msgstr ""
+msgstr "Relatie aanmaken"
 
 #. module: crm
 #: field:crm.segmentation,state:0
@@ -1382,19 +1431,19 @@ msgstr "Uitvoeringsstatus"
 #. module: crm
 #: selection:crm.meeting,week_list:0
 msgid "Monday"
-msgstr ""
+msgstr "Maandag"
 
 #. module: crm
 #: field:crm.lead,day_close:0
 msgid "Days to Close"
-msgstr ""
+msgstr "Dagen tot sluiting"
 
 #. module: crm
 #: field:crm.add.note,attachment_ids:0
 #: field:crm.case.section,complete_name:0
 #: field:crm.send.mail,attachment_ids:0
 msgid "unknown"
-msgstr ""
+msgstr "onbekend"
 
 #. module: crm
 #: field:crm.lead,id:0
@@ -1406,7 +1455,7 @@ msgstr "ID"
 #. module: crm
 #: model:ir.model,name:crm.model_crm_partner2opportunity
 msgid "Partner To Opportunity"
-msgstr ""
+msgstr "Relatie naar verkoopkans"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -1424,22 +1473,22 @@ msgstr "Datum"
 #: view:crm.lead.report:0
 #: view:crm.phonecall.report:0
 msgid "Extended Filters..."
-msgstr ""
+msgstr "Uitgebreide filters..."
 
 #. module: crm
 #: model:ir.model,name:crm.model_calendar_attendee
 msgid "Attendee information"
-msgstr ""
+msgstr "Informatie deelnemer"
 
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "Search"
-msgstr ""
+msgstr "Zoeken"
 
 #. module: crm
 #: field:crm.meeting,interval:0
 msgid "Interval"
-msgstr ""
+msgstr "Interval"
 
 #. module: crm
 #: view:crm.segmentation:0
@@ -1455,7 +1504,7 @@ msgstr "Historie"
 #. module: crm
 #: field:crm.case.section,code:0
 msgid "Code"
-msgstr ""
+msgstr "Code"
 
 #. module: crm
 #: field:crm.case.section,child_ids:0
@@ -1483,7 +1532,7 @@ msgstr "Telefonische verkoop"
 #. module: crm
 #: field:crm.meeting,freq:0
 msgid "Frequency"
-msgstr ""
+msgstr "Frequentie"
 
 #. module: crm
 #: view:crm.lead:0
@@ -1508,17 +1557,17 @@ msgstr "Annuleren"
 #. module: crm
 #: model:ir.model,name:crm.model_res_users
 msgid "res.users"
-msgstr ""
+msgstr "res.users"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_merge_opportunity
 msgid "Merge two Opportunities"
-msgstr ""
+msgstr "Twee verkoopkansen samenvoegen"
 
 #. module: crm
 #: selection:crm.meeting,rrule_type:0
 msgid "Custom"
-msgstr ""
+msgstr "Aangepast"
 
 #. module: crm
 #: view:crm.lead:0
@@ -1541,22 +1590,22 @@ msgstr ""
 #. module: crm
 #: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action
 msgid "Phonecall Categories"
-msgstr ""
+msgstr "Telefoongesprek categoriën"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Invite People"
-msgstr ""
+msgstr "Personen uitnodigen"
 
 #. module: crm
 #: view:board.board:0
 msgid "Opportunities By Categories"
-msgstr ""
+msgstr "Verkoopkansen op categorie"
 
 #. module: crm
 #: constraint:crm.case.section:0
 msgid "Error ! You cannot create recursive Sales team."
-msgstr ""
+msgstr "Fout ! U kunt geen recursief verkoopteam maken."
 
 #. module: crm
 #: view:crm.meeting:0
@@ -1573,6 +1622,7 @@ msgstr "Verkoopbedrag"
 #, python-format
 msgid "Unable to send mail. Please check SMTP is configured properly."
 msgstr ""
+"Kan geen mail versturen. Controleer aub of SMTP juist is geconfigureerd."
 
 #. module: crm
 #: selection:crm.segmentation.line,expr_operator:0
@@ -1582,7 +1632,7 @@ msgstr "="
 #. module: crm
 #: selection:crm.meeting,state:0
 msgid "Unconfirmed"
-msgstr ""
+msgstr "Onbevestigd"
 
 #. module: crm
 #: field:crm.case.categ,name:0
@@ -1608,27 +1658,27 @@ msgstr "Plan een gewone of telefonische afspraak"
 #: view:crm.lead.report:0
 #: view:crm.phonecall.report:0
 msgid "My Case(s)"
-msgstr ""
+msgstr "Mijn dossier(s)"
 
 #. module: crm
 #: field:crm.lead,birthdate:0
 msgid "Birthdate"
-msgstr ""
+msgstr "Geboortedatum"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "The"
-msgstr ""
+msgstr "De"
 
 #. module: crm
 #: field:crm.send.mail.attachment,wizard_id:0
 msgid "Wizard"
-msgstr ""
+msgstr "Assistent"
 
 #. module: crm
 #: constraint:ir.rule:0
 msgid "Rules are not supported for osv_memory objects !"
-msgstr ""
+msgstr "Regels worden niet ondersteund voor osv_memory objecten !"
 
 #. module: crm
 #: help:crm.lead,section_id:0
@@ -1636,12 +1686,14 @@ msgid ""
 "Sales team to which this case belongs to. Defines responsible user and e-"
 "mail address for the mail gateway."
 msgstr ""
+"Verkoopteam waar dit dossier bij hoort. Definieert verantwoordelijke en e-"
+"mail adres voor de mail gateway."
 
 #. module: crm
 #: view:crm.lead:0
 #: view:crm.phonecall:0
 msgid "Creation"
-msgstr ""
+msgstr "Aanmaak"
 
 #. module: crm
 #: selection:crm.lead,priority:0
@@ -1659,37 +1711,37 @@ msgstr "Converteer naar prospect naar zakenrelatie"
 #. module: crm
 #: view:crm.phonecall2opportunity:0
 msgid "_Convert"
-msgstr ""
+msgstr "_Omzetten"
 
 #. module: crm
 #: selection:crm.meeting,week_list:0
 msgid "Saturday"
-msgstr ""
+msgstr "Zaterdag"
 
 #. module: crm
 #: selection:crm.meeting,byday:0
 msgid "Fifth"
-msgstr ""
+msgstr "Vijfde"
 
 #. module: crm
 #: view:crm.phonecall2phonecall:0
 msgid "_Schedule"
-msgstr ""
+msgstr "_Planning"
 
 #. module: crm
 #: field:crm.lead.report,delay_close:0
 msgid "Delay to Close"
-msgstr ""
+msgstr "Wachttijd tot sluiting"
 
 #. module: crm
 #: field:crm.meeting,we:0
 msgid "Wed"
-msgstr ""
+msgstr "Woe"
 
 #. module: crm
 #: model:crm.case.categ,name:crm.categ_oppor6
 msgid "Potential Reseller"
-msgstr ""
+msgstr "Potentiele wederverkoper"
 
 #. module: crm
 #: field:crm.lead.report,planned_revenue:0
@@ -1703,27 +1755,27 @@ msgstr "Geraamde omzet"
 #: view:crm.phonecall:0
 #: view:crm.phonecall.report:0
 msgid "Group By..."
-msgstr ""
+msgstr "Groepeer op.."
 
 #. module: crm
 #: help:crm.lead,partner_id:0
 msgid "Optional linked partner, usually after conversion of the lead"
-msgstr ""
+msgstr "Optioneel gekoppelde relatie, meestal na omzetten van de lead"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Invitation details"
-msgstr ""
+msgstr "Details uitnodiging"
 
 #. module: crm
 #: field:crm.case.section,parent_id:0
 msgid "Parent Team"
-msgstr ""
+msgstr "Bovenliggende team"
 
 #. module: crm
 #: field:crm.lead,date_action:0
 msgid "Next Action Date"
-msgstr ""
+msgstr "Volgende actiedatum"
 
 #. module: crm
 #: selection:crm.segmentation,state:0
@@ -1738,18 +1790,18 @@ msgstr "Uren"
 #. module: crm
 #: field:crm.lead,zip:0
 msgid "Zip"
-msgstr ""
+msgstr "Postcode"
 
 #. module: crm
 #: code:addons/crm/crm_lead.py:0
 #, python-format
 msgid "The case '%s' has been opened."
-msgstr ""
+msgstr "Dossier '%s' is geopend."
 
 #. module: crm
 #: view:crm.installer:0
 msgid "title"
-msgstr ""
+msgstr "titel"
 
 #. module: crm
 #: model:crm.case.categ,name:crm.categ_phone1
@@ -1764,22 +1816,24 @@ msgid ""
 "This percentage depicts the default/average probability of the Case for this "
 "stage to be a success"
 msgstr ""
+"Dit percentage geeft de standaard/gemiddelde waarschijnlijkheid aan voor dit "
+"stadium om te slagen bij het dossier"
 
 #. module: crm
 #: view:crm.phonecall.report:0
 #: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new
 msgid "Phone calls"
-msgstr ""
+msgstr "Telefoongesprek"
 
 #. module: crm
 #: selection:crm.meeting,show_as:0
 msgid "Free"
-msgstr ""
+msgstr "Vrij"
 
 #. module: crm
 #: view:crm.installer:0
 msgid "Synchronization"
-msgstr ""
+msgstr "Synchronisatie"
 
 #. module: crm
 #: field:crm.case.section,allow_unlink:0
@@ -1789,7 +1843,7 @@ msgstr "Sta verwijderen toe"
 #. module: crm
 #: field:crm.meeting,mo:0
 msgid "Mon"
-msgstr ""
+msgstr "Maa"
 
 #. module: crm
 #: selection:crm.lead,priority:0
@@ -1804,7 +1858,7 @@ msgstr "Hoogste"
 #: view:crm.lead:0
 #: field:crm.lead,description:0
 msgid "Notes"
-msgstr ""
+msgstr "Notities"
 
 #. module: crm
 #: selection:crm.meeting,freq:0
@@ -1820,18 +1874,18 @@ msgstr "Waarde"
 #: view:crm.lead:0
 #: view:crm.lead.report:0
 msgid "Opportunity by Categories"
-msgstr ""
+msgstr "Verkoopkansen op categorie"
 
 #. module: crm
 #: view:crm.lead:0
 #: field:crm.lead,partner_name:0
 msgid "Customer Name"
-msgstr ""
+msgstr "Klantnaam"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_phonecall2opportunity
 msgid "Phonecall To Opportunity"
-msgstr ""
+msgstr "Telefoongesprek naar verkoopkans"
 
 #. module: crm
 #: field:crm.case.section,reply_to:0
@@ -1846,7 +1900,7 @@ msgstr "Minuten"
 #. module: crm
 #: view:crm.case.section:0
 msgid "Select stages for this Sales Team"
-msgstr ""
+msgstr "Selecteer stadia voor dit verkoopteam"
 
 #. module: crm
 #: code:addons/crm/wizard/crm_merge_opportunities.py:0
@@ -1854,6 +1908,7 @@ msgstr ""
 msgid ""
 "There are no other 'Open' or 'Pending' Opportunities for the partner '%s'."
 msgstr ""
+"Er zijn geen andere 'Open' of 'Wachtend' verkoopkansen voor de relatie '%s'."
 
 #. module: crm
 #: model:process.transition,note:crm.process_transition_leadpartner0
@@ -1890,32 +1945,32 @@ msgstr "Extra info"
 #: model:ir.actions.act_window,name:crm.action_merge_opportunities
 #: model:ir.actions.act_window,name:crm.merge_opportunity_act
 msgid "Merge Opportunities"
-msgstr ""
+msgstr "Verkoopkansen samenvoegen"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_lead5
 msgid "Google Adwords"
-msgstr ""
+msgstr "Google Adwords"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_phonecall
 msgid "crm.phonecall"
-msgstr ""
+msgstr "crm.phonecall"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_lead3
 msgid "Mail Campaign 2"
-msgstr ""
+msgstr "Mail Campagne 2"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_lead2
 msgid "Mail Campaign 1"
-msgstr ""
+msgstr "Mail Campagne 1"
 
 #. module: crm
 #: view:crm.lead:0
 msgid "Create"
-msgstr ""
+msgstr "Aanmaken"
 
 #. module: crm
 #: code:addons/crm/crm.py:0
@@ -1942,7 +1997,7 @@ msgstr "Gebruik Verkoop-/Inkoop-regels"
 #. module: crm
 #: model:ir.model,name:crm.model_crm_lead2opportunity_partner
 msgid "Lead To Opportunity Partner"
-msgstr ""
+msgstr "Lead naar verkoopkans relatie"
 
 #. module: crm
 #: field:crm.meeting,location:0
@@ -1952,18 +2007,18 @@ msgstr "Locatie"
 #. module: crm
 #: view:crm.lead:0
 msgid "Reply"
-msgstr ""
+msgstr "Antwoord"
 
 #. module: crm
 #: selection:crm.meeting,freq:0
 msgid "Weeks"
-msgstr ""
+msgstr "Weken"
 
 #. module: crm
 #: code:addons/crm/wizard/crm_lead_to_opportunity.py:0
 #, python-format
 msgid "Lead "
-msgstr ""
+msgstr "Lead "
 
 #. module: crm
 #: code:addons/crm/crm.py:0
@@ -1974,7 +2029,7 @@ msgstr "Fout!"
 #. module: crm
 #: selection:crm.meeting,freq:0
 msgid "Seconds"
-msgstr ""
+msgstr "Seconden"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_segmentation_line
@@ -1995,23 +2050,25 @@ msgstr "Caldav URL"
 #. module: crm
 #: view:crm.lead:0
 msgid "Expected Revenues"
-msgstr ""
+msgstr "Verwachte omzet"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_lead6
 msgid "Google Adwords 2"
-msgstr ""
+msgstr "Google Adwords 2"
 
 #. module: crm
 #: help:crm.lead,type:0
 #: help:crm.lead.report,type:0
 msgid "Type is used to separate Leads and Opportunities"
-msgstr ""
+msgstr "Soort wordt gebruikt om leads en verkoopkansen te scheiden"
 
 #. module: crm
 #: view:crm.phonecall2partner:0
 msgid "Are you sure you want to create a partner based on this Phonecall ?"
 msgstr ""
+"Weet u zeker dat u een relatie wilt aanmaken op basis van dit "
+"telefoongesprek?"
 
 #. module: crm
 #: selection:crm.lead.report,month:0
@@ -2025,12 +2082,12 @@ msgstr "Juli"
 #: model:ir.model,name:crm.model_crm_case_section
 #: model:ir.ui.menu,name:crm.menu_crm_case_section_act
 msgid "Sales Teams"
-msgstr ""
+msgstr "Verkoopteams"
 
 #. module: crm
 #: model:ir.model,name:crm.model_crm_lead2partner
 msgid "Lead to Partner"
-msgstr ""
+msgstr "Lead naar relatie"
 
 #. module: crm
 #: view:crm.segmentation:0
@@ -2042,12 +2099,12 @@ msgstr "Segmentatie"
 #. module: crm
 #: view:crm.lead:0
 msgid "Team"
-msgstr ""
+msgstr "Team"
 
 #. module: crm
 #: field:crm.installer,outlook:0
 msgid "MS-Outlook"
-msgstr ""
+msgstr "MS-Outlook"
 
 #. module: crm
 #: view:crm.phonecall:0
@@ -2059,7 +2116,7 @@ msgstr "Niet vastgehouden"
 #. module: crm
 #: field:crm.lead.report,probability:0
 msgid "Probability"
-msgstr ""
+msgstr "Waarschijnlijkheid"
 
 #. module: crm
 #: view:crm.lead.report:0
@@ -2089,28 +2146,30 @@ msgstr "Maak een nieuwe relatie"
 #: view:crm.meeting:0
 #: view:res.partner:0
 msgid "Start Date"
-msgstr ""
+msgstr "Startdatum"
 
 #. module: crm
 #: selection:crm.phonecall,state:0
 #: view:crm.phonecall.report:0
 msgid "Todo"
-msgstr ""
+msgstr "Te doen"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Delegate"
-msgstr ""
+msgstr "Delegeren"
 
 #. module: crm
 #: view:crm.meeting:0
 msgid "Decline"
-msgstr ""
+msgstr "Weigeren"
 
 #. module: crm
 #: help:crm.lead,optin:0
 msgid "If opt-in is checked, this contact has accepted to receive emails."
 msgstr ""
+"Als opt-in is aangevinkt, heeft deze contactpersoon geaccepteerd om emails "
+"te ontvangen."
 
 #. module: crm
 #: view:crm.meeting:0
@@ -2149,7 +2208,7 @@ msgstr "Gesloten"
 #. module: crm
 #: view:crm.installer:0
 msgid "Plug-In"
-msgstr ""
+msgstr "Plug-In"
 
 #. module: crm
 #: model:crm.case.categ,name:crm.categ_meet2
@@ -2180,7 +2239,7 @@ msgstr "Klant afspraak"
 #: view:crm.lead:0
 #: field:crm.lead,email_cc:0
 msgid "Global CC"
-msgstr ""
+msgstr "Globale CC"
 
 #. module: crm
 #: view:crm.phonecall:0
@@ -2194,7 +2253,7 @@ msgstr "Telefoongesprekken"
 #: help:crm.lead.report,delay_open:0
 #: help:crm.phonecall.report,delay_open:0
 msgid "Number of Days to open the case"
-msgstr ""
+msgstr "Aantal dagen tot openen dossier"
 
 #. module: crm
 #: field:crm.lead,phone:0
@@ -2224,7 +2283,7 @@ msgstr ">"
 #. module: crm
 #: view:crm.meeting:0
 msgid "Uncertain"
-msgstr ""
+msgstr "Onzeker"
 
 #. module: crm
 #: field:crm.send.mail,email_cc:0
index 185113b..967d735 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 13:14+0000\n"
+"PO-Revision-Date: 2010-10-25 18:27+0000\n"
 "Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: crm
@@ -445,13 +445,13 @@ msgstr "Zaktualizuj datę"
 #. module: crm
 #: help:crm.meeting,count:0
 msgid "Repeat max that times"
-msgstr ""
+msgstr "Powtórz maksymalnie razy"
 
 #. module: crm
 #: view:crm.lead2opportunity.action:0
 #: field:crm.lead2opportunity.action,name:0
 msgid "Select Action"
-msgstr ""
+msgstr "Wybierz akcję"
 
 #. module: crm
 #: field:base.action.rule,trg_categ_id:0
@@ -469,17 +469,17 @@ msgstr "Kategoria"
 #. module: crm
 #: view:crm.lead.report:0
 msgid "#Opportunities"
-msgstr ""
+msgstr "#Szans"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_oppor2
 msgid "Campaign 1"
-msgstr ""
+msgstr "Kampania 1"
 
 #. module: crm
 #: model:crm.case.resource.type,name:crm.type_oppor1
 msgid "Campaign 2"
-msgstr ""
+msgstr "Kampania 2"
 
 #. module: crm
 #: view:crm.meeting:0
@@ -489,12 +489,12 @@ msgstr "Prywatność"
 #. module: crm
 #: view:crm.lead.report:0
 msgid "Opportunity Analysis"
-msgstr ""
+msgstr "Analiza szans"
 
 #. module: crm
 #: help:crm.meeting,location:0
 msgid "Location of Event"
-msgstr ""
+msgstr "Miejsce zdarzenia"
 
 #. module: crm
 #: field:crm.meeting,rrule:0
@@ -504,7 +504,7 @@ msgstr "Reguła rekurencyjna"
 #. module: crm
 #: help:crm.installer,fetchmail:0
 msgid "Allows you to receive E-Mails from POP/IMAP server."
-msgstr ""
+msgstr "Pozwala otrzymywać maile z serwera PO/IMAP."
 
 #. module: crm
 #: model:process.transition,note:crm.process_transition_opportunitymeeting0
@@ -514,7 +514,7 @@ msgstr "Spotkanie albo rozmowa telefoniczna w sprawie szansy"
 #. module: crm
 #: model:process.node,note:crm.process_node_leads0
 msgid "Very first contact with new prospect"
-msgstr "Pierwszy kontakt z tą okazją"
+msgstr "Pierwszy kontakt z nowym potencjalnym klientem"
 
 #. module: crm
 #: code:addons/crm/crm_lead.py:0
@@ -564,7 +564,7 @@ msgstr "Nie uruchomiony"
 #: view:crm.send.mail:0
 #: model:ir.actions.act_window,name:crm.action_crm_reply_mail
 msgid "Reply to last Mail"
-msgstr ""
+msgstr "Odpowiedz na ostatni mail"
 
 #. module: crm
 #: field:crm.lead,email:0
@@ -584,7 +584,7 @@ msgstr ""
 #. module: crm
 #: field:crm.meeting,count:0
 msgid "Count"
-msgstr ""
+msgstr "Liczba"
 
 #. module: crm
 #: selection:crm.lead.report,month:0
@@ -608,7 +608,7 @@ msgstr "Ci ludzie otrzymają wiadomość"
 #: view:crm.meeting:0
 #: field:crm.meeting,name:0
 msgid "Summary"
-msgstr ""
+msgstr "Podsumowanie"
 
 #. module: crm
 #: view:crm.segmentation:0
@@ -629,6 +629,8 @@ msgid ""
 "Allows you to link your e-mail to OpenERP's documents. You can attach it to "
 "any existing one in OpenERP or create a new one."
 msgstr ""
+"Pozwala połączyć twoje wiadomości z dokumentami OpenERP. Możesz połączyć je "
+"z dowolnym istniejącym dokumentem lub utworzyć nowy dokument."
 
 #. module: crm
 #: view:crm.case.categ:0
@@ -648,12 +650,12 @@ msgstr ""
 #. module: crm
 #: view:crm.segmentation:0
 msgid "Profiling Options"
-msgstr ""
+msgstr "Opcje profilowania"
 
 #. module: crm
 #: view:crm.phonecall.report:0
 msgid "#Phone calls"
-msgstr ""
+msgstr "# telefonów"
 
 #. module: crm
 #: view:crm.lead:0
@@ -666,13 +668,13 @@ msgid ""
 "The channels represent the different communication                         "
 "modes available with the customer. With each commercial opportunity, you can "
 "indicate                         the canall which is this opportunity source."
-msgstr ""
+msgstr "Kanały są różnymi sposobami komunikowania się z klientem."
 
 #. module: crm
 #: code:addons/crm/crm_meeting.py:0
 #, python-format
 msgid "The meeting '%s' has been confirmed."
-msgstr ""
+msgstr "Spotkanie '%s' zostało potwierdzone."
 
 #. module: crm
 #: field:crm.case.section,user_id:0
index 815e7f5..5b4e100 100644 (file)
@@ -6,17 +6,22 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-09-29 10:27+0000\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 19:14+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-09-30 04:43+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: crm_profiling
+#: view:crm_profiling.questionnaire:0
+msgid "Questions List"
+msgstr "Опросный лист"
+
+#. module: crm_profiling
 #: constraint:ir.model:0
 msgid ""
 "The Object name must start with x_ and not contain any special character !"
@@ -25,6 +30,11 @@ msgstr ""
 "символов !"
 
 #. module: crm_profiling
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Недопустимое имя модели в определении действия."
+
+#. module: crm_profiling
 #: field:crm_profiling.answer,question_id:0
 #: field:crm_profiling.question,name:0
 #: model:ir.model,name:crm_profiling.model_crm_profiling_question
@@ -42,14 +52,14 @@ msgid "Child Profiles"
 msgstr "Подчиненные профили"
 
 #. module: crm_profiling
-#: model:ir.module.module,shortdesc:crm_profiling.module_meta_information
-msgid "crm_profiling management"
-msgstr "Управление профилями CRM"
+#: view:crm.segmentation:0
+msgid "Partner Segmentations"
+msgstr "Сегментация партнеров"
 
 #. module: crm_profiling
-#: constraint:ir.actions.act_window:0
-msgid "Invalid model name in the action definition."
-msgstr "Недопустимое имя модели в определении действия."
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Ошибка ! Нельзя создать зацикленные меню."
 
 #. module: crm_profiling
 #: field:crm_profiling.answer,name:0
@@ -58,11 +68,22 @@ msgid "Answer"
 msgstr "Ответ"
 
 #. module: crm_profiling
+#: model:ir.model,name:crm_profiling.model_crm_segmentation
+msgid "Partner Segmentation"
+msgstr ""
+
+#. module: crm_profiling
 #: view:res.partner:0
 msgid "Profiling"
 msgstr "Профилирование"
 
 #. module: crm_profiling
+#: model:ir.module.module,shortdesc:crm_profiling.module_meta_information
+msgid "Crm Profiling management - To Perform Segmentation within Partners"
+msgstr ""
+
+#. module: crm_profiling
+#: view:crm_profiling.questionnaire:0
 #: field:crm_profiling.questionnaire,description:0
 msgid "Description"
 msgstr "Описание"
@@ -102,11 +123,12 @@ msgid "Questionnaires"
 msgstr "Опросники"
 
 #. module: crm_profiling
-#: field:crm_profiling.questionnaire,name:0
-#: model:ir.model,name:crm_profiling.model_crm_profiling_questionnaire
-#: wizard_view:open_questionnaire,init:0
-msgid "Questionnaire"
-msgstr "Опросник"
+#: help:crm.segmentation,profiling_active:0
+msgid ""
+"Check                             this box if you want to use this tab as "
+"part of the                              segmentation rule. If not checked, "
+"the criteria beneath will be ignored"
+msgstr ""
 
 #. module: crm_profiling
 #: constraint:crm.segmentation:0
@@ -130,13 +152,6 @@ msgid "Included Answers"
 msgstr "Включенные Ответы"
 
 #. module: crm_profiling
-#: help:crm.segmentation,profiling_active:0
-msgid ""
-"Check this box if you want to use this tab as part of the segmentation rule. "
-"If not checked, the criteria beneath will be ignored"
-msgstr ""
-
-#. module: crm_profiling
 #: view:crm_profiling.question:0
 #: field:crm_profiling.questionnaire,questions_ids:0
 #: model:ir.actions.act_window,name:crm_profiling.open_questions
@@ -156,9 +171,18 @@ msgid "Cancel"
 msgstr "Отмена"
 
 #. module: crm_profiling
-#: view:crm.segmentation:0
-msgid "Partner Segmentations"
-msgstr "Сегментация партнеров"
+#: model:ir.model,name:crm_profiling.model_res_partner
+msgid "Partner"
+msgstr "Партнёр"
+
+#. module: crm_profiling
+#: code:addons/crm_profiling/crm_profiling.py:0
+#: field:crm_profiling.questionnaire,name:0
+#: model:ir.model,name:crm_profiling.model_crm_profiling_questionnaire
+#: wizard_view:open_questionnaire,init:0
+#, python-format
+msgid "Questionnaire"
+msgstr "Опросник"
 
 #. module: crm_profiling
 #: model:ir.actions.wizard,name:crm_profiling.wizard_open_questionnaire
@@ -169,3 +193,6 @@ msgstr "Используя опросник"
 #: wizard_button:open_questionnaire,open,compute:0
 msgid "Save Data"
 msgstr "Сохранить данные"
+
+#~ msgid "crm_profiling management"
+#~ msgstr "Управление профилями CRM"
index 1049fb7..141027c 100644 (file)
@@ -6,33 +6,25 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-10-16 09:49+0000\n"
-"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 19:23+0000\n"
+"Last-Translator: Chertykov Denis <chertykov@gmail.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-10-17 04:53+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: delivery
-#: constraint:ir.model:0
-msgid ""
-"The Object name must start with x_ and not contain any special character !"
-msgstr ""
-"Название объекта должно начинаться с x_  и не должно содержать специальных "
-"символов !"
+#: report:sale.shipping:0
+msgid "Order Ref."
+msgstr "Ссылка заказа"
 
 #. module: delivery
-#: selection:delivery.grid.line,operator:0
-msgid ">="
-msgstr ">="
-
-#. module: delivery
-#: view:res.partner:0
-msgid "Sales & Purchases"
-msgstr "Продажи и закупки"
+#: model:product.template,name:delivery.delivery_product_product_template
+msgid "Delivery by Poste"
+msgstr "Доставка почтой"
 
 #. module: delivery
 #: view:delivery.grid:0
@@ -40,24 +32,20 @@ msgid "Destination"
 msgstr "Место назначения"
 
 #. module: delivery
-#: model:product.template,name:delivery.delivery_product_product_template
-msgid "Delivery by Poste"
-msgstr "Доставка почтой"
-
-#. module: delivery
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Неправильный XML для просмотра архитектуры!"
+#: field:stock.move,weight_net:0
+msgid "Net weight"
+msgstr "Вес нетто"
 
 #. module: delivery
-#: constraint:res.partner:0
-msgid "Error ! You can not create recursive associated members."
-msgstr "Ошибка! Вы не можете создать рекурсивных связанных участников."
+#: code:addons/delivery/delivery.py:0
+#, python-format
+msgid "No price available !"
+msgstr "Нет каталога !"
 
 #. module: delivery
-#: field:delivery.grid,state_ids:0
-msgid "States"
-msgstr "Cостояния"
+#: model:ir.model,name:delivery.model_delivery_grid_line
+msgid "Delivery Grid Line"
+msgstr ""
 
 #. module: delivery
 #: constraint:ir.actions.act_window:0
@@ -65,21 +53,62 @@ msgid "Invalid model name in the action definition."
 msgstr "Недопустимое имя модели в определении действия."
 
 #. module: delivery
-#: help:res.partner,property_delivery_carrier:0
-msgid "This delivery method will be used when invoicing from packing."
+#: view:delivery.grid:0
+msgid "Delivery grids"
+msgstr "Расценки на доставку"
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: field:stock.picking,volume:0
+msgid "Volume"
+msgstr "Объем"
+
+#. module: delivery
+#: field:delivery.grid,line_ids:0
+msgid "Grid Line"
+msgstr "Разделяемая строка"
+
+#. module: delivery
+#: model:ir.actions.report.xml,name:delivery.report_shipping
+msgid "Delivery order"
+msgstr "Заказ на доставку"
+
+#. module: delivery
+#: view:res.partner:0
+msgid "Deliveries Properties"
+msgstr "Свойства доставки"
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_picking_tree4
+msgid "Picking to be invoiced"
 msgstr ""
-"Этот метод доставки должен использоваться при фактурировании на основании "
-"данных упаковки."
 
 #. module: delivery
-#: model:ir.model,name:delivery.model_delivery_grid
-msgid "Delivery Grid"
-msgstr "Расценки на доставку"
+#: help:delivery.grid,sequence:0
+msgid "Gives the sequence order when displaying a list of delivery grid."
+msgstr ""
 
 #. module: delivery
-#: field:delivery.grid,zip_from:0
-msgid "Start Zip"
-msgstr "Почтовый индекс отправителя"
+#: view:delivery.grid:0
+#: field:delivery.grid,country_ids:0
+msgid "Countries"
+msgstr "Страны"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Delivery Order :"
+msgstr "Заказ на доставку:"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_sale_order
+msgid "Sale Order"
+msgstr "Заказ на продажу"
+
+#. module: delivery
+#: field:delivery.grid.line,variable_factor:0
+msgid "Variable Factor"
+msgstr "Переменный фактор"
 
 #. module: delivery
 #: selection:delivery.grid.line,price_type:0
@@ -87,31 +116,41 @@ msgid "Fixed"
 msgstr "Фиксированный"
 
 #. module: delivery
-#: field:delivery.grid,line_ids:0
-msgid "Grid Line"
-msgstr "Разделяемая строка"
+#: view:delivery.sale.order:0
+#: field:delivery.sale.order,carrier_id:0
+#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
+#: field:res.partner,property_delivery_carrier:0
+msgid "Delivery Method"
+msgstr "Метод доставки"
 
 #. module: delivery
-#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
-#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
-msgid "Delivery Pricelist"
-msgstr "Каталог доставки"
+#: help:delivery.grid,active:0
+msgid ""
+"If the active field is set to true, it will allow you to hide the delivery "
+"grid without removing it."
+msgstr ""
 
 #. module: delivery
-#: model:ir.actions.act_window,name:delivery.action_picking_tree5
-#: model:ir.ui.menu,name:delivery.menu_action_picking_tree5
-msgid "Generate Draft Invoices On Receptions"
-msgstr "Генерировать черновики счетов при получении"
+#: model:ir.model,name:delivery.model_stock_move
+msgid "Stock Move"
+msgstr "Движение ТМЦ"
 
 #. module: delivery
-#: model:ir.model,name:delivery.model_delivery_grid_line
-msgid "Delivery line of grid"
-msgstr "Разделяемая строка поставки"
+#: code:addons/delivery/delivery.py:0
+#, python-format
+msgid "No line matched this order in the choosed delivery grids !"
+msgstr ""
 
 #. module: delivery
-#: model:ir.ui.menu,name:delivery.menu_delivery
-msgid "Delivery"
-msgstr "Доставка"
+#: field:stock.picking,carrier_tracking_ref:0
+msgid "Carrier Tracking Ref"
+msgstr ""
+
+#. module: delivery
+#: field:stock.picking,weight_net:0
+msgid "Net Weight"
+msgstr "Вес нетто"
 
 #. module: delivery
 #: view:delivery.grid.line:0
@@ -119,61 +158,76 @@ msgid "Grid Lines"
 msgstr "Разделяемые строки"
 
 #. module: delivery
-#: field:delivery.grid.line,grid_id:0
-msgid "Grid"
-msgstr "Разделение"
+#: view:delivery.grid:0
+msgid "Grid definition"
+msgstr "Определение разделения"
 
 #. module: delivery
-#: view:res.partner:0
-msgid "Deliveries Properties"
-msgstr "Свойства доставки"
+#: view:delivery.sale.order:0
+msgid "_Cancel"
+msgstr "_Отмена"
 
 #. module: delivery
-#: field:delivery.carrier,active:0
-#: field:delivery.grid,active:0
-msgid "Active"
-msgstr "Активен"
+#: field:delivery.grid.line,operator:0
+msgid "Operator"
+msgstr "Оператор"
 
 #. module: delivery
-#: view:delivery.grid:0
-msgid "Grid definition"
-msgstr "Определение разделения"
+#: model:ir.model,name:delivery.model_res_partner
+msgid "Partner"
+msgstr "Партнёр"
 
 #. module: delivery
-#: selection:delivery.grid.line,type:0
-#: selection:delivery.grid.line,variable_factor:0
-msgid "Weight * Volume"
-msgstr "Вес * объем"
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Ошибка ! Нельзя создать зацикленные меню."
 
 #. module: delivery
-#: selection:delivery.grid.line,operator:0
-msgid "="
-msgstr "="
+#: report:sale.shipping:0
+msgid "Invoiced to"
+msgstr "счет-фактура"
 
 #. module: delivery
-#: field:delivery.carrier,product_id:0
-msgid "Delivery Product"
-msgstr "Услуга или изделие, соответствующее доставке"
+#: model:ir.model,name:delivery.model_stock_picking
+msgid "Picking List"
+msgstr "Комплектовочный лист"
 
 #. module: delivery
-#: view:delivery.grid.line:0
-msgid "Condition"
-msgstr "Условие"
+#: model:ir.model,name:delivery.model_delivery_sale_order
+msgid "Make Delievery"
+msgstr "Сделать доставку"
 
 #. module: delivery
-#: model:ir.model,name:delivery.model_delivery_carrier
-msgid "Carrier and delivery grids"
-msgstr "Разделение поставки и перевозчика"
+#: model:ir.module.module,description:delivery.module_meta_information
+msgid ""
+"Allows you to add delivery methods in sale orders and picking.\n"
+"     You can define your own carrier and delivery grids for prices.\n"
+"     When creating invoices from picking, OpenERP is able to add and compute "
+"the shipping line.\n"
+"\n"
+"     "
+msgstr ""
 
 #. module: delivery
-#: field:delivery.grid.line,standard_price:0
-msgid "Cost Price"
-msgstr "Себестоимость"
+#: code:addons/delivery/stock.py:0
+#, python-format
+msgid "Warning"
+msgstr "Внимание"
 
 #. module: delivery
-#: field:delivery.grid.line,name:0
-msgid "Name"
-msgstr "Название"
+#: field:delivery.grid.line,grid_id:0
+msgid "Grid"
+msgstr "Разделение"
+
+#. module: delivery
+#: field:delivery.grid,zip_to:0
+msgid "To Zip"
+msgstr "Почтовый индекс получателя"
+
+#. module: delivery
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Неправильный XML для просмотра архитектуры!"
 
 #. module: delivery
 #: constraint:product.template:0
@@ -183,9 +237,49 @@ msgstr ""
 "категориям."
 
 #. module: delivery
-#: field:delivery.grid,country_ids:0
-msgid "Countries"
-msgstr "Страны"
+#: report:sale.shipping:0
+msgid "Order Date"
+msgstr "Дата заказа"
+
+#. module: delivery
+#: field:delivery.grid,name:0
+msgid "Grid Name"
+msgstr "Имя разделения"
+
+#. module: delivery
+#: view:stock.move:0
+msgid "Weights"
+msgstr "Вес"
+
+#. module: delivery
+#: field:stock.picking,number_of_packages:0
+msgid "Number of Packages"
+msgstr "Количество упаковок"
+
+#. module: delivery
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+#: report:sale.shipping:0
+#: field:stock.move,weight:0
+#: field:stock.picking,weight:0
+msgid "Weight"
+msgstr "Вес"
+
+#. module: delivery
+#: field:sale.order,carrier_id:0
+msgid "Delivery method"
+msgstr "Метод доставки"
+
+#. module: delivery
+#: code:addons/delivery/wizard/delivery_sale_order.py:0
+#, python-format
+msgid "No grid available !"
+msgstr ""
+
+#. module: delivery
+#: selection:delivery.grid.line,operator:0
+msgid ">="
+msgstr ">="
 
 #. module: delivery
 #: constraint:product.template:0
@@ -195,14 +289,51 @@ msgstr ""
 "Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
 
 #. module: delivery
-#: view:sale.order:0
-msgid "Notes"
-msgstr "Примечания"
+#: code:addons/delivery/wizard/delivery_sale_order.py:0
+#, python-format
+msgid "Order not in draft state !"
+msgstr "Заказ не в состоянии \"Черновик\" !"
 
 #. module: delivery
-#: field:delivery.grid.line,variable_factor:0
-msgid "Variable Factor"
-msgstr "Переменный фактор"
+#: constraint:res.partner:0
+msgid "Error ! You can not create recursive associated members."
+msgstr "Ошибка! Вы не можете создать рекурсивных связанных участников."
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Lot"
+msgstr "Партия"
+
+#. module: delivery
+#: model:ir.model,name:delivery.model_delivery_grid
+msgid "Delivery Grid"
+msgstr "Расценки на доставку"
+
+#. module: delivery
+#: field:delivery.carrier,active:0
+#: field:delivery.grid,active:0
+msgid "Active"
+msgstr "Активен"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Shipping Date"
+msgstr "Дата отгрузки"
+
+#. module: delivery
+#: field:delivery.carrier,product_id:0
+msgid "Delivery Product"
+msgstr "Услуга или изделие, соответствующее доставке"
+
+#. module: delivery
+#: view:delivery.grid.line:0
+msgid "Condition"
+msgstr "Условие"
+
+#. module: delivery
+#: field:delivery.grid.line,standard_price:0
+msgid "Cost Price"
+msgstr "Себестоимость"
 
 #. module: delivery
 #: selection:delivery.grid.line,price_type:0
@@ -211,153 +342,221 @@ msgid "Variable"
 msgstr "Переменная"
 
 #. module: delivery
-#: field:delivery.grid,name:0
-msgid "Grid Name"
-msgstr "Имя разделения"
+#: help:res.partner,property_delivery_carrier:0
+msgid "This delivery method will be used when invoicing from picking."
+msgstr ""
 
 #. module: delivery
-#: view:delivery.carrier:0
-#: field:delivery.carrier,name:0
-#: field:delivery.grid,carrier_id:0
-#: field:stock.picking,carrier_id:0
-msgid "Carrier"
-msgstr "Доставка"
+#: field:delivery.grid.line,max_value:0
+msgid "Maximum Value"
+msgstr "Максимальное значение"
 
 #. module: delivery
-#: selection:delivery.grid.line,type:0
-#: selection:delivery.grid.line,variable_factor:0
-#: field:stock.picking,volume:0
-msgid "Volume"
-msgstr "Объем"
+#: report:sale.shipping:0
+msgid "Quantity"
+msgstr "Количество"
 
 #. module: delivery
-#: field:delivery.grid.line,max_value:0
-msgid "Maximum Value"
-msgstr "Максимальное значение"
+#: field:delivery.grid,zip_from:0
+msgid "Start Zip"
+msgstr "Почтовый индекс отправителя"
 
 #. module: delivery
-#: wizard_button:delivery.sale.order,init,delivery:0
-msgid "Add Delivery Costs"
-msgstr "Добавить стоимость доставки"
+#: help:sale.order,carrier_id:0
+msgid ""
+"Complete this field if you plan to invoice the shipping based on picking."
+msgstr ""
 
 #. module: delivery
-#: wizard_field:delivery.sale.order,init,carrier_id:0
-#: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form
-#: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form
-#: field:res.partner,property_delivery_carrier:0
-msgid "Delivery Method"
-msgstr "Метод доставки"
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_  и не должно содержать специальных "
+"символов !"
 
 #. module: delivery
-#: field:sale.order,id:0
-msgid "ID"
-msgstr "Идентификатор"
+#: field:delivery.carrier,partner_id:0
+msgid "Carrier Partner"
+msgstr "Партнер по доставке"
 
 #. module: delivery
-#: field:delivery.grid.line,operator:0
-msgid "Operator"
-msgstr "Оператор"
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr "Продажи и закупки"
 
 #. module: delivery
-#: model:ir.module.module,shortdesc:delivery.module_meta_information
-msgid "Carriers and deliveries"
-msgstr "Перевозчики и поставки"
+#: view:delivery.sale.order:0
+msgid "Create Deliveries"
+msgstr "Создать доставки"
 
 #. module: delivery
-#: field:delivery.carrier,grids_id:0
-msgid "Delivery Grids"
-msgstr "Разделение поставки"
+#: model:ir.actions.act_window,name:delivery.action_delivery_cost
+#: view:sale.order:0
+msgid "Delivery Costs"
+msgstr "Стоимость поставки"
+
+#. module: delivery
+#: report:sale.shipping:0
+msgid "Description"
+msgstr "Описание"
+
+#. module: delivery
+#: model:ir.actions.act_window,name:delivery.action_delivery_grid_form
+#: model:ir.ui.menu,name:delivery.menu_action_delivery_grid_form
+msgid "Delivery Pricelist"
+msgstr "Каталог доставки"
 
 #. module: delivery
+#: field:delivery.carrier,price:0
 #: selection:delivery.grid.line,type:0
 #: selection:delivery.grid.line,variable_factor:0
-#: field:stock.picking,weight:0
-msgid "Weight"
-msgstr "Вес"
+msgid "Price"
+msgstr "Цена"
 
 #. module: delivery
-#: field:delivery.grid,sequence:0
-msgid "Sequence"
-msgstr "Последовательность"
+#: code:addons/delivery/wizard/delivery_sale_order.py:0
+#, python-format
+msgid "No grid matching for this carrier !"
+msgstr ""
 
 #. module: delivery
-#: field:delivery.carrier,partner_id:0
-msgid "Carrier Partner"
-msgstr "Партнер по доставке"
+#: model:ir.ui.menu,name:delivery.menu_delivery
+msgid "Delivery"
+msgstr "Доставка"
 
 #. module: delivery
-#: model:ir.module.module,description:delivery.module_meta_information
-msgid ""
-"Allows you to add delivery methods in sales orders and packing. You can "
-"define your own carrier and delivery grids for prices. When creating "
-"invoices from picking, Open ERP is able to add and compute the shipping line."
-msgstr ""
-"Позволяет добавить методы доставки в заказы на продажу и упаковку. Вы можете "
-"определить своего собственного перевозчика и выполнить разделение поставка "
-"для определения стоимости. При создании счета-фактуры на основании упаковки, "
-"Open ERP имеет возможность добавлять и вычислить строки доставки."
+#: selection:delivery.grid.line,type:0
+#: selection:delivery.grid.line,variable_factor:0
+msgid "Weight * Volume"
+msgstr "Вес * объем"
 
 #. module: delivery
-#: field:delivery.grid,zip_to:0
-msgid "To Zip"
-msgstr "Почтовый индекс получателя"
+#: selection:delivery.grid.line,operator:0
+msgid "="
+msgstr "="
 
 #. module: delivery
-#: model:ir.actions.act_window,name:delivery.action_picking_tree4
-#: model:ir.ui.menu,name:delivery.menu_action_picking_tree3
-msgid "Packing to be invoiced"
-msgstr "Фактурирование по упаковке"
+#: code:addons/delivery/stock.py:0
+#, python-format
+msgid "The carrier %s (id: %d) has no delivery grid!"
+msgstr ""
 
 #. module: delivery
-#: help:sale.order,carrier_id:0
+#: field:delivery.grid.line,name:0
+msgid "Name"
+msgstr "Название"
+
+#. module: delivery
+#: help:delivery.carrier,active:0
 msgid ""
-"Complete this field if you plan to invoice the shipping based on packing."
+"If the active field is set to true, it will allow you to hide the delivery "
+"carrier without removing it."
 msgstr ""
-"Заполните это поле, если вы планируете счет доставки основанный на упаковке."
 
 #. module: delivery
-#: model:ir.actions.wizard,name:delivery.wizard_deliver_line_add
-msgid "Delivery Costs"
-msgstr "Стоимость поставки"
+#: view:delivery.carrier:0
+#: field:delivery.carrier,name:0
+#: field:delivery.grid,carrier_id:0
+#: model:ir.model,name:delivery.model_delivery_carrier
+#: report:sale.shipping:0
+#: field:stock.picking,carrier_id:0
+msgid "Carrier"
+msgstr "Доставка"
 
 #. module: delivery
-#: field:delivery.grid.line,list_price:0
-msgid "Sale Price"
-msgstr "Цена продажи"
+#: view:delivery.sale.order:0
+msgid "_Apply"
+msgstr "_Применить"
 
 #. module: delivery
-#: constraint:product.product:0
-msgid "Error: Invalid ean code"
-msgstr "Ошибка: Неправильный штрих-код"
+#: field:sale.order,id:0
+msgid "ID"
+msgstr "Идентификатор"
 
 #. module: delivery
-#: view:delivery.grid:0
-msgid "Delivery grids"
-msgstr "Расценки на доставку"
+#: code:addons/delivery/wizard/delivery_sale_order.py:0
+#, python-format
+msgid "The order state have to be draft to add delivery lines."
+msgstr ""
+"Состояние заказа должно быть \"Черновик\" для добавления позиций доставки."
 
 #. module: delivery
-#: wizard_button:delivery.sale.order,init,end:0
-msgid "Cancel"
-msgstr "Отмена"
+#: model:ir.module.module,shortdesc:delivery.module_meta_information
+msgid "Carriers and deliveries"
+msgstr "Перевозчики и поставки"
 
 #. module: delivery
-#: field:sale.order,carrier_id:0
-msgid "Delivery method"
-msgstr "Метод доставки"
+#: field:delivery.carrier,grids_id:0
+msgid "Delivery Grids"
+msgstr "Разделение поставки"
 
 #. module: delivery
-#: field:delivery.carrier,price:0
-#: selection:delivery.grid.line,type:0
-#: selection:delivery.grid.line,variable_factor:0
-msgid "Price"
-msgstr "Цена"
+#: field:delivery.grid,sequence:0
+msgid "Sequence"
+msgstr "Последовательность"
 
 #. module: delivery
-#: constraint:res.partner:0
-msgid "The VAT doesn't seem to be correct."
-msgstr "НДС выглядит неправильно"
+#: field:delivery.grid.line,list_price:0
+msgid "Sale Price"
+msgstr "Цена продажи"
+
+#. module: delivery
+#: view:delivery.grid:0
+#: field:delivery.grid,state_ids:0
+msgid "States"
+msgstr "Cостояния"
+
+#. module: delivery
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "Ошибка: Неправильный штрих-код"
 
 #. module: delivery
 #: field:delivery.grid.line,price_type:0
 msgid "Price Type"
 msgstr "Тип цены"
+
+#~ msgid "Generate Draft Invoices On Receptions"
+#~ msgstr "Генерировать черновики счетов при получении"
+
+#~ msgid "Notes"
+#~ msgstr "Примечания"
+
+#~ msgid "Cancel"
+#~ msgstr "Отмена"
+
+#~ msgid "The VAT doesn't seem to be correct."
+#~ msgstr "НДС выглядит неправильно"
+
+#~ msgid "Delivery line of grid"
+#~ msgstr "Разделяемая строка поставки"
+
+#~ msgid "Carrier and delivery grids"
+#~ msgstr "Разделение поставки и перевозчика"
+
+#~ msgid "Add Delivery Costs"
+#~ msgstr "Добавить стоимость доставки"
+
+#~ msgid "Packing to be invoiced"
+#~ msgstr "Фактурирование по упаковке"
+
+#~ msgid ""
+#~ "Complete this field if you plan to invoice the shipping based on packing."
+#~ msgstr ""
+#~ "Заполните это поле, если вы планируете счет доставки основанный на упаковке."
+
+#~ msgid ""
+#~ "Allows you to add delivery methods in sales orders and packing. You can "
+#~ "define your own carrier and delivery grids for prices. When creating "
+#~ "invoices from picking, Open ERP is able to add and compute the shipping line."
+#~ msgstr ""
+#~ "Позволяет добавить методы доставки в заказы на продажу и упаковку. Вы можете "
+#~ "определить своего собственного перевозчика и выполнить разделение поставка "
+#~ "для определения стоимости. При создании счета-фактуры на основании упаковки, "
+#~ "Open ERP имеет возможность добавлять и вычислить строки доставки."
+
+#~ msgid "This delivery method will be used when invoicing from packing."
+#~ msgstr ""
+#~ "Этот метод доставки должен использоваться при фактурировании на основании "
+#~ "данных упаковки."
index 6fc620a..04ea019 100644 (file)
                     <field name="register_min"/>
                     <field name="register_current"/>
                     <field name="section_id" invisible="context.get('invisible_section', True)"/>
-                    <field name="state"/>
                     <field name="user_id"/>
+                    <field name="state"/>
                     <button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
                     <button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
                     <button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
             res_model="event.registration"
             src_model="event.event"
             view_mode="tree,form,calendar,graph"
-            context="{'search_default_event_id': active_id}"
+            domain="[('event_id','=',active_id)]"
             view_type="form"/>
 
       <act_window
index a32dfaf..e836bbf 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 12:13+0000\n"
+"PO-Revision-Date: 2010-10-25 18:28+0000\n"
 "Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: hr
@@ -357,7 +357,7 @@ msgstr "Kategoria nadrzędna"
 #. module: hr
 #: constraint:hr.employee.category:0
 msgid "Error ! You cannot create recursive Categories."
-msgstr ""
+msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych kategorii."
 
 #. module: hr
 #: view:hr.department:0
@@ -376,7 +376,7 @@ msgstr "Kontakt do pracownika"
 #. module: hr
 #: view:board.board:0
 msgid "My Board"
-msgstr ""
+msgstr "Moja konsola"
 
 #. module: hr
 #: selection:hr.employee,gender:0
@@ -398,19 +398,19 @@ msgstr "Kategoria pracownika"
 #. module: hr
 #: field:hr.installer,config_logo:0
 msgid "Image"
-msgstr ""
+msgstr "Obraz"
 
 #. module: hr
 #: model:process.process,name:hr.process_process_employeecontractprocess0
 msgid "Employee Contract"
-msgstr ""
+msgstr "Umowa pracownika"
 
 #. module: hr
 #: help:hr.installer,hr_evaluation:0
 msgid ""
 "Lets you create and manage the periodic evaluation and performance review of "
 "employees."
-msgstr ""
+msgstr "Pozwala ci zarządzać okresowymi ocenami i osiągnięciami pracowników."
 
 #. module: hr
 #: model:ir.model,name:hr.model_hr_department
@@ -420,12 +420,12 @@ msgstr ""
 #. module: hr
 #: help:hr.employee,parent_id:0
 msgid "It is linked with manager of Department"
-msgstr ""
+msgstr "Jest związane z szefem departamentu"
 
 #. module: hr
 #: field:hr.installer,hr_recruitment:0
 msgid "Recruitment Process"
-msgstr ""
+msgstr "Proces rekrutacji"
 
 #. module: hr
 #: field:hr.employee,category_ids:0
@@ -436,7 +436,7 @@ msgstr "Kategoria"
 #. module: hr
 #: help:hr.employee,bank_account_id:0
 msgid "Employee bank salary account"
-msgstr ""
+msgstr "Konto bankowe pracownika dla płacy"
 
 #. module: hr
 #: field:hr.department,note:0
@@ -451,12 +451,12 @@ msgstr "Informacje kontaktowe"
 #. module: hr
 #: constraint:ir.ui.menu:0
 msgid "Error ! You can not create recursive Menu."
-msgstr ""
+msgstr "Błąd ! Nie możesz tworzyć rekurencyjnych menu."
 
 #. module: hr
 #: model:ir.actions.act_window,name:hr.open_board_hr_manager
 msgid "HR Manager Dashboard"
-msgstr ""
+msgstr "Konsola Dyrektora kadr"
 
 #. module: hr
 #: view:hr.employee:0
index 4d8ef9d..9de7379 100644 (file)
@@ -200,14 +200,12 @@ class hr_evaluation(osv.osv):
             for employee in employee_obj.browse(cr, uid, [employee_id], context=context):
                 if employee and employee.evaluation_plan_id and employee.evaluation_plan_id.id:
                     evaluation_plan_id=employee.evaluation_plan_id.id
-                employee_ids=employee_obj.search(cr, uid, [('parent_id','=',employee.id)], context=context)
         return {'value': {'plan_id':evaluation_plan_id}}
 
     def button_plan_in_progress(self, cr, uid, ids, context=None):
         hr_eval_inter_obj = self.pool.get('hr.evaluation.interview')
         if context is None:
             context = {}
-        apprai_id = []
         for evaluation in self.browse(cr, uid, ids, context=context):
             wait = False
             for phase in evaluation.plan_id.phase_ids:
index f8e099d..8cae001 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 13:12+0000\n"
+"PO-Revision-Date: 2010-10-25 18:31+0000\n"
 "Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: hr_holidays
@@ -355,12 +355,12 @@ msgstr "Pozostało dni urlopu"
 #: view:hr.holidays:0
 #: field:hr.holidays,state:0
 msgid "State"
-msgstr ""
+msgstr "Stan"
 
 #. module: hr_holidays
 #: model:ir.model,name:hr_holidays.model_hr_holidays_remaining_leaves_user
 msgid "Total holidays by type"
-msgstr ""
+msgstr "Syma urlopów wg typów"
 
 #. module: hr_holidays
 #: view:available.holidays.report:0
@@ -384,7 +384,7 @@ msgstr "Ogólne"
 #: view:available.holidays.report:0
 #: view:hr.holidays:0
 msgid "Type"
-msgstr ""
+msgstr "Typ"
 
 #. module: hr_holidays
 #: selection:hr.holidays.status,color_name:0
@@ -394,7 +394,7 @@ msgstr "Czerwony"
 #. module: hr_holidays
 #: view:hr.holidays.remaining.leaves.user:0
 msgid "Leaves by Type"
-msgstr ""
+msgstr "Nieobecności wg typów"
 
 #. module: hr_holidays
 #: selection:hr.holidays.status,color_name:0
@@ -416,17 +416,17 @@ msgstr "Liczba dni"
 #. module: hr_holidays
 #: help:hr.holidays,category_id:0
 msgid "Category Of employee"
-msgstr ""
+msgstr "Kategoria pracownika"
 
 #. module: hr_holidays
 #: view:board.board:0
 msgid "Remaining Leave by Type and User"
-msgstr ""
+msgstr "Urlop do wykorzystania wg Typu i Użytkowników"
 
 #. module: hr_holidays
 #: selection:available.holidays.report,month:0
 msgid "July"
-msgstr ""
+msgstr "Lipiec"
 
 #. module: hr_holidays
 #: constraint:ir.ui.view:0
@@ -439,11 +439,13 @@ msgid ""
 "If its True then its Allocation/Request have to be validated by second "
 "validator"
 msgstr ""
+"Jeśli to jest prawda, to Wniosek musi być zatwierdzony przez jeszcze jednego "
+"zatiwerdzającego"
 
 #. module: hr_holidays
 #: selection:hr.holidays,state:0
 msgid "Waiting Approval"
-msgstr ""
+msgstr "Oczekuje na aprobatę"
 
 #. module: hr_holidays
 #: field:hr.holidays.summary.employee,emp:0
@@ -453,7 +455,7 @@ msgstr "Pracowników"
 #. module: hr_holidays
 #: view:available.holidays.report:0
 msgid " Month "
-msgstr ""
+msgstr " Miesiąc "
 
 #. module: hr_holidays
 #: help:hr.holidays.status,categ_id:0
@@ -462,11 +464,14 @@ msgid ""
 "synchronize each leave asked with a case in this category, to display it in "
 "the company shared calendar for example."
 msgstr ""
+"Jeśli połączysz ten typ nieobecności z kategorią w CRM, to uzyskasz "
+"synchronizację wniosków ze sprawami w danej kategorii, aby na przykład "
+"wyświetlać je we współdzielonym kalendarzu."
 
 #. module: hr_holidays
 #: field:hr.holidays,parent_id:0
 msgid "Parent"
-msgstr ""
+msgstr "Nadrzędny"
 
 #. module: hr_holidays
 #: help:hr.holidays,manager_id2:0
@@ -474,21 +479,24 @@ msgid ""
 "This area is automaticly filled by the user who validate the leave with "
 "second level (If Leave type need second validation)"
 msgstr ""
+"Ta część jest automatycznie wypełniana przez użytkownika, który zatwierdza "
+"nieobecność na drugim poziomie (jeśli typ nieobecności wymaga drugiego "
+"zatwierdzania)"
 
 #. module: hr_holidays
 #: selection:available.holidays.report,month:0
 msgid "September"
-msgstr ""
+msgstr "Wrzesień"
 
 #. module: hr_holidays
 #: selection:available.holidays.report,month:0
 msgid "December"
-msgstr ""
+msgstr "Grudzień"
 
 #. module: hr_holidays
 #: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_remaining_leaves_empoloyee_all
 msgid "Remaining Leaves by User"
-msgstr ""
+msgstr "Pozostałe urlopy wg użytkowników"
 
 #. module: hr_holidays
 #: selection:hr.holidays.status,color_name:0
@@ -499,24 +507,24 @@ msgstr "Lawendowy"
 #: view:available.holidays.report:0
 #: field:available.holidays.report,month:0
 msgid "Month"
-msgstr ""
+msgstr "Miesiąc"
 
 #. module: hr_holidays
 #: model:ir.actions.act_window,name:hr_holidays.open_ask_holidays
 #: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays_new
 msgid "Leave Requests"
-msgstr ""
+msgstr "Wniosek urlopowy"
 
 #. module: hr_holidays
 #: field:hr.holidays.status,limit:0
 msgid "Allow to Override Limit"
-msgstr ""
+msgstr "Pozwala przekroczyć limit"
 
 #. module: hr_holidays
 #: view:hr.holidays.summary.employee:0
 #: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_summary_employee
 msgid "Employee's Holidays"
-msgstr ""
+msgstr "Urlopy pracowników"
 
 #. module: hr_holidays
 #: view:available.holidays.report:0
index 3c2e881..ad8d60e 100644 (file)
@@ -8,13 +8,13 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 21:35+0000\n"
-"Last-Translator: Magnus Brandt, Aspirix AB <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:13+0000\n"
+"Last-Translator: OpenERP Administrators <Unknown>\n"
 "Language-Team: Swedish <sv@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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: hr_payroll
index 20ceccd..a71fda1 100644 (file)
@@ -30,7 +30,7 @@ import time
 import pooler
 import rml_parse
 
-class employees_salary_report(report_sxw.rml_parse):
+class employees_salary_report(rml_parse.rml_parse):
 
     def __init__(self, cr, uid, name, context):
         super(employees_salary_report, self).__init__(cr, uid, name, context)
index 56f905f..f084eb2 100755 (executable)
@@ -28,7 +28,7 @@ import time
 import pooler
 import rml_parse
 
-class year_salary_report(report_sxw.rml_parse):
+class year_salary_report(rml_parse.rml_parse):
 
     def __init__(self, cr, uid, name, context):
         super(year_salary_report, self).__init__(cr, uid, name, context)
index 0b2fe5c..d9360d4 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 23:10+0000\n"
-"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:15+0000\n"
+"Last-Translator: OpenERP Administrators <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: hr_timesheet
index 6411bae..c780951 100644 (file)
@@ -261,7 +261,7 @@ class hr_timesheet_sheet(osv.osv):
             raise osv.except_osv(_('Error !'), _('You can not sign in from an other date than today'))
         emp_ids = emp_obj.search(cr, uid, [('user_id', '=', uid)], context=context)
         context['sheet_id']=ids[0]
-        success = emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_in', context=context,)
+        emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_in', context=context,)
         return True
 
     def sign_out(self, cr, uid, ids, context=None):
@@ -272,7 +272,7 @@ class hr_timesheet_sheet(osv.osv):
             raise osv.except_osv(_('Error !'), _('You can not sign out from an other date than today'))
         emp_ids = emp_obj.search(cr, uid, [('user_id', '=', uid)])
         context['sheet_id']=ids[0]
-        success = emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_out', context=context,)
+        emp_obj.attendance_action_change(cr, uid, emp_ids, type='sign_out', context=context,)
         return True
 
     _columns = {
index a8a976b..24f7a91 100644 (file)
@@ -1,11 +1,24 @@
 -
+  In order to test the PDF reports defined on a l10n_ch, we will create a invoice record
+-
+  !record {model: account.invoice, id: test_invoice_1}:
+       currency_id: base.EUR
+       company_id: base.main_company
+       address_invoice_id: base.res_partner_address_tang
+       partner_id: base.res_partner_asus
+       state: draft
+       type: out_invoice
+       account_id: account.a_recv
+       name: Test invoice 1
+       address_contact_id: base.res_partner_address_tang
+-
   In order to test the PDF reports defined on a l10n_ch, we will print BVR Report
 -
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    run_str = 'cp ' + tools.config['addons_path'] + '/l10n_ch/report/ocrbb.ttf' + ' ' + '/tmp/ocrbb.ttf' 
+    run_str = 'cp ' + tools.config['addons_path'] + '/l10n_ch/report/ocrbb.ttf' + ' ' + '/tmp/ocrbb.ttf'
     os.system(run_str)
-    (data, format) = netsvc.LocalService('report.l10n_ch.bvr').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.l10n_ch.bvr').create(cr, uid, [ref('test_invoice_1')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'l10ch-bvr_report.'+format), 'wb+').write(data)
 
@@ -14,6 +27,6 @@
 -
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.l10n_ch.invoice.bvr').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.l10n_ch.invoice.bvr').create(cr, uid, [ref('test_invoice_1')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'l10ch-bvr_invoice_report.'+format), 'wb+').write(data)
index 43b1ce3..f3a3525 100644 (file)
@@ -12,3 +12,5 @@
     (data, format) = netsvc.LocalService('report.l10n_lu.tax.report.print').create(cr, uid, [], {'model':'ir.ui.menu', 'form':{'tax_code_id': ref('account_tax_code_id_r1'), 'period_id': ref('account.period_1')}}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'l10n_lu-vat_report.'+format), 'wb+').write(data)
+   
+    
index 4cd16b7..12a36fb 100644 (file)
@@ -49,13 +49,21 @@ STATE_PRIOR = {
 class membership_line(osv.osv):
     '''Member line'''
 
+    def _get_partners(self, cr, uid, ids, context=None):
+        list_membership_line = []
+        member_line_obj = self.pool.get('membership.membership_line')
+        for partner in self.pool.get('res.partner').browse(cr, uid, ids, context=context):
+            if partner.member_lines:
+                list_membership_line += member_line_obj.search(cr, uid, [('id', 'in', [ l.id for l in partner.member_lines])], context=context)
+        return list_membership_line
+
     def _get_membership_lines(self, cr, uid, ids, context=None):
-            list_membership_line = []
-            member_line_obj = self.pool.get('membership.membership_line')
-            for invoice in self.pool.get('account.invoice').browse(cr, uid, ids, context=context):
-                if invoice.invoice_line:
-                    list_membership_line += member_line_obj.search(cr, uid, [('account_invoice_line', 'in', [ l.id for l in invoice.invoice_line])], context=context)
-            return list_membership_line
+        list_membership_line = []
+        member_line_obj = self.pool.get('membership.membership_line')
+        for invoice in self.pool.get('account.invoice').browse(cr, uid, ids, context=context):
+            if invoice.invoice_line:
+                list_membership_line += member_line_obj.search(cr, uid, [('account_invoice_line', 'in', [ l.id for l in invoice.invoice_line])], context=context)
+        return list_membership_line
 
     def _check_membership_date(self, cr, uid, ids, context=None):
         """Check if membership product is not in the past
@@ -74,7 +82,7 @@ class membership_line(osv.osv):
                 )
             JOIN account_invoice ai ON (
             ai.id = ail.invoice_id)
-            WHERE ml.id IN %s''',(tuple(ids),))
+            WHERE ml.id IN %s''', (tuple(ids),))
         res = cr.fetchall()
         for r in res:
             if r[0] and r[0] < 0:
@@ -138,16 +146,22 @@ class membership_line(osv.osv):
         'date_from': fields.date('From', readonly=True),
         'date_to': fields.date('To', readonly=True),
         'date_cancel': fields.date('Cancel date'),
-        'date': fields.date('Join Date'),
-        'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True),
+        'date': fields.date('Join Date', help="Date on which member has joined the membership"),
+        'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True,  help='Amount for the membership'),
         'account_invoice_line': fields.many2one('account.invoice.line', 'Account Invoice line', readonly=True),
         'account_invoice_id': fields.related('account_invoice_line', 'invoice_id', type='many2one', relation='account.invoice', string='Invoice', readonly=True),
-        'state': fields.function(
-                        _state, method=True,
+        'state': fields.function(_state, method=True,
                         string='Membership State', type='selection',
                         selection=STATE, store = {
-                        'account.invoice':(_get_membership_lines, ['state'], 10),
-                        }),
+                        'account.invoice': (_get_membership_lines, ['state'], 10),
+                        'res.partner': (_get_partners, ['membership_state'], 12),
+                        }, help="""It indicates the membership state.
+                        -Non Member: A member who has not applied for any membership.
+                        -Cancelled Member: A member who has cancelled his membership.
+                        -Old Member: A member whose membership date has expired.
+                        -Waiting Member: A member who has applied for the membership and whose invoice is going to be created.
+                        -Invoiced Member: A member whose invoice has been created.
+                        -Paid Member: A member who has paid the membership amount."""),
         'company_id': fields.related('account_invoice_line', 'invoice_id', 'company_id', type="many2one", relation="res.company", string="Company", readonly=True, store=True)
     }
     _rec_name = 'partner'
@@ -172,7 +186,7 @@ class Partner(osv.osv):
             list_partner.append(data.partner.id)
         ids2 = list_partner
         while ids2:
-            ids2 = res_obj.search(cr, uid, [('associate_member','in',ids2)], context=context)
+            ids2 = res_obj.search(cr, uid, [('associate_member', 'in', ids2)], context=context)
             list_partner += ids2
         return list_partner
 
@@ -185,7 +199,7 @@ class Partner(osv.osv):
             list_partner.append(data.partner_id.id)
         ids2 = list_partner
         while ids2:
-            ids2 = res_obj.search(cr, uid, [('associate_member','in',ids2)], context=context)
+            ids2 = res_obj.search(cr, uid, [('associate_member', 'in', ids2)], context=context)
             list_partner += ids2
         return list_partner
 
@@ -232,7 +246,7 @@ class Partner(osv.osv):
                                 s = 3
                 if s==4:
                     for mline in partner_data.member_lines:
-                        if mline.date_from < today and mline.date_to < today and mline.date_from<=mline.date_to and (mline.account_invoice_line and mline.account_invoice_line.invoice_id.state) == 'paid':
+                        if mline.date_from < today and mline.date_to < today and mline.date_from <= mline.date_to and (mline.account_invoice_line and mline.account_invoice_line.invoice_id.state) == 'paid':
                             s = 5
                         else:
                             s = 6
@@ -294,7 +308,7 @@ class Partner(osv.osv):
     def _get_partners(self, cr, uid, ids, context=None):
         ids2 = ids
         while ids2:
-            ids2 = self.search(cr, uid, [('associate_member','in',ids2)], context=context)
+            ids2 = self.search(cr, uid, [('associate_member', 'in', ids2)], context=context)
             ids += ids2
         return ids
 
@@ -302,45 +316,51 @@ class Partner(osv.osv):
         return self._membership_state(*args, **kwargs)
 
     _columns = {
-        'associate_member': fields.many2one('res.partner', 'Associate member'),
+        'associate_member': fields.many2one('res.partner', 'Associate member',help="A member with whom you want to associate your membership.It will consider the membership state of the associated member."),
         'member_lines': fields.one2many('membership.membership_line', 'partner', 'Membership'),
-        'free_member': fields.boolean('Free member'),
+        'free_member': fields.boolean('Free member', help = "Select if you want to give membership free of cost."),
         'membership_amount': fields.float(
                     'Membership amount', digits=(16, 2),
-                    help = 'The price negociated by the partner'),
+                    help = 'The price negotiated by the partner'),
         'membership_state': fields.function(
-                    __get_membership_state, method = True,
+                    __get_membership_state, method=True,
                     string = 'Current Membership State', type = 'selection',
                     selection = STATE,
                     store = {
                         'account.invoice': (_get_invoice_partner, ['state'], 10),
                         'membership.membership_line': (_get_partner_id, ['state'], 10),
                         'res.partner': (_get_partners, ['free_member', 'membership_state', 'associate_member'], 10)
-                    }),
+                    }, help="""It indicates the membership state.
+                    -Non Member: A member who has not applied for any membership.
+                    -Cancelled Member: A member who has cancelled his membership.
+                    -Old Member: A member whose membership date has expired.
+                    -Waiting Member: A member who has applied for the membership and whose invoice is going to be created.
+                    -Invoiced Member: A member whose invoice has been created.
+                    -Paid Member: A member who has paid the membership amount."""),
         'membership_start': fields.function(
-                    _membership_date, method = True, multi = 'membeship_start',
+                    _membership_date, method=True, multi = 'membeship_start',
                     string = 'Start membership date', type = 'date',
                     store = {
                         'account.invoice': (_get_invoice_partner, ['state'], 10),
                         'membership.membership_line': (_get_partner_id, ['state'], 10, ),
                         'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10)
-                    }),
+                    }, help="Date from which membership becomes active."),
         'membership_stop': fields.function(
-                    _membership_date, method = True,
-                    string = 'Stop membership date', type = 'date', multi='membership_stop',
+                    _membership_date, method=True,
+                    string = 'Stop membership date', type='date', multi='membership_stop',
                     store = {
                         'account.invoice': (_get_invoice_partner, ['state'], 10),
                         'membership.membership_line': (_get_partner_id, ['state'], 10),
-                        'res.partner': (lambda self,cr,uid,ids,c={}:ids, ['free_member'], 10)
-                    }),
+                        'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10)
+                    }, help="Date until which membership remains active."),
         'membership_cancel': fields.function(
-                    _membership_date, method = True,
+                    _membership_date, method=True,
                     string = 'Cancel membership date', type='date', multi='membership_cancel',
                     store = {
                         'account.invoice': (_get_invoice_partner, ['state'], 11),
                         'membership.membership_line': (_get_partner_id, ['state'], 10),
-                        'res.partner': (lambda self,cr,uid,ids,c={}:ids, ['free_member'], 10)
-                    }),
+                        'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10)
+                    }, help="Date on which membership has been cancelled"),
     }
     _defaults = {
         'free_member': False,
@@ -375,17 +395,17 @@ class Partner(osv.osv):
     def create_membership_invoice(self, cr, uid, ids, product_id=None, datas=None, context=None):
         """ Create Customer Invoice of Membership for partners.
         @param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership.
-                      datas = {'membership_product_id': None, 'amount':None}
+                      datas = {'membership_product_id': None, 'amount': None}
         """
         invoice_obj = self.pool.get('account.invoice')
         invoice_line_obj = self.pool.get('account.invoice.line')
         invoice_tax_obj = self.pool.get('account.invoice.tax')
-        product_id = product_id or datas.get('membership_product_id',False)
+        product_id = product_id or datas.get('membership_product_id', False)
         amount = datas.get('amount', 0.0)
         if not context:
             context={}
         invoice_list = []
-        if type(ids) in (int,long,):
+        if type(ids) in (int, long,):
             ids = [ids]
         for partner in self.browse(cr, uid, ids, context=context):
             account_id = partner.property_account_receivable and partner.property_account_receivable.id or False
@@ -432,7 +452,7 @@ Partner()
 class product_template(osv.osv):
     _inherit = 'product.template'
     _columns = {
-        'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price')),
+        'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price')),
     }
 product_template()
 
@@ -442,7 +462,7 @@ class Product(osv.osv):
         model_obj = self.pool.get('ir.model.data')
 
         if ('product' in context) and (context['product']=='membership_product'):
-            model_data_ids_form = model_obj.search(cr, user, [('model','=','ir.ui.view'), ('name','in',['membership_products_form', 'membership_products_tree'])], context=context)
+            model_data_ids_form = model_obj.search(cr, user, [('model','=','ir.ui.view'), ('name', 'in', ['membership_products_form', 'membership_products_tree'])], context=context)
             resource_id_form = model_obj.read(cr, user, model_data_ids_form, fields=['res_id', 'name'], context=context)
             dict_model = {}
             for i in resource_id_form:
@@ -456,13 +476,13 @@ class Product(osv.osv):
     '''Product'''
     _inherit = 'product.product'
     _columns = {
-        'membership': fields.boolean('Membership', help='Specify if this product is a membership product'),
-        'membership_date_from': fields.date('Date from', help='Active Membership since this date'),
-        'membership_date_to': fields.date('Date to', help='Expired date of Membership'),
+        'membership': fields.boolean('Membership', help='Select if a product is a membership product.'),
+        'membership_date_from': fields.date('Date from', help='Date from which membership becomes active.'),
+        'membership_date_to': fields.date('Date to', help='Date until which membership remains active.'),
     }
 
     _defaults = {
-        'membership': False
+        'membership': False,
     }
 Product()
 
@@ -477,8 +497,8 @@ class Invoice(osv.osv):
         today = time.strftime('%Y-%m-%d')
         for invoice in self.browse(cr, uid, ids):
             mlines = member_line_obj.search(cr, uid,
-                    [('account_invoice_line','in',
-                        [ l.id for l in invoice.invoice_line])])
+                    [('account_invoice_line', 'in',
+                        [l.id for l in invoice.invoice_line])])
             member_line_obj.write(cr, uid, mlines, {'date_cancel': today})
         return super(Invoice, self).action_cancel(cr, uid, ids)
 Invoice()
@@ -495,7 +515,7 @@ class account_invoice_line(osv.osv):
         member_line_obj = self.pool.get('membership.membership_line')
         for line in self.browse(cr, uid, ids, context=context):
             if line.invoice_id.type == 'out_invoice':
-                ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line','=',line.id)], context=context)
+                ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', line.id)], context=context)
                 if line.product_id and line.product_id.membership and not ml_ids:
                     # Product line has changed to a membership product
                     date_from = line.product_id.membership_date_from
@@ -523,7 +543,7 @@ class account_invoice_line(osv.osv):
             context={}
         member_line_obj = self.pool.get('membership.membership_line')
         for id in ids:
-            ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line','=',id)], context=context)
+            ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', id)], context=context)
             member_line_obj.unlink(cr, uid, ml_ids, context=context)
         return super(account_invoice_line, self).unlink(cr, uid, ids, context=context)
 
@@ -534,7 +554,7 @@ class account_invoice_line(osv.osv):
         line = self.browse(cr, uid, result, context=context)
         member_line_obj = self.pool.get('membership.membership_line')
         if line.invoice_id.type == 'out_invoice':
-            ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line','=',line.id)], context=context)
+            ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', line.id)], context=context)
             if line.product_id and line.product_id.membership and not ml_ids:
                 # Product line is a membership product
                 date_from = line.product_id.membership_date_from
index b9d99e6..e3c0bb9 100644 (file)
@@ -71,7 +71,7 @@
                         <separator string="Categorization" colspan="2"/>
                         <field name="list_price" string="Membership Fee"/>
                         <field name="type" />
-                        <field name="property_account_income"/>
+                        <field name="property_account_income" domain="[('type', '!=', 'view')]"/>
                         <field name="categ_id"/>
                         <separator string="Sale Taxes" colspan="2"/>
                         <newline/>
index dd247c5..05c893a 100644 (file)
@@ -20,3 +20,4 @@
 ##############################################################################
 
 import report_membership
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index 4718866..34ca21e 100644 (file)
@@ -44,7 +44,7 @@ class report_membership(osv.osv):
     _rec_name = 'year'
     _columns = {
         'year': fields.char('Year', size=4, readonly=True, select=1),
-        'month':fields.selection([('01', 'January'), ('02', 'February'), \
+        'month': fields.selection([('01', 'January'), ('02', 'February'), \
                                   ('03', 'March'), ('04', 'April'),\
                                   ('05', 'May'), ('06', 'June'), \
                                   ('07', 'July'), ('08', 'August'),\
index 6e217dd..61e0d9d 100644 (file)
@@ -9,7 +9,7 @@
             <field name="model">report.membership</field>
             <field name="type">tree</field>
             <field name="arch" type="xml">
-                <tree colors="blue:state in ('draft');black:state in ('open','free');gray:state in ('done','cancel') " string="Membership">
+                <tree colors="blue:membership_state in ('draft');black:membership_state in ('open','free');gray:membership_state in ('done','cancel') " string="Membership">
                     <field name="partner_id"/>
                     <field name="membership_state"/>
                     <field name="associate_member_id" invisible="1"/>
             <field name="type">graph</field>
             <field name="arch" type="xml">
                 <graph string="Membership" type="bar">
-                    <field name="year"/>
-                    <field name="canceled_number"/>
-                    <field name="waiting_number"/>
-                    <field name="invoiced_number"/>
-                    <field name="paid_number"/>
+                    <field name="year" />
+                    <field name="num_waiting" operator="+"/>
+                    <field name="num_invoiced" operator="+"/>
+                    <field name="num_paid" operator="+"/>
                 </graph>
             </field>
         </record>
index ebea0fb..f168537 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 13:13+0000\n"
+"PO-Revision-Date: 2010-10-25 18:33+0000\n"
 "Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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-10-25 04:38+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: mrp
@@ -340,37 +340,37 @@ msgstr "Odnośnik do pozycji w planie zewnętrznym"
 #. module: mrp
 #: selection:mrp.production.order,month:0
 msgid "August"
-msgstr ""
+msgstr "Sierpień"
 
 #. module: mrp
 #: model:ir.model,name:mrp.model_mrp_production_order
 msgid "Production Order Report"
-msgstr ""
+msgstr "Raport zamówień produkcji"
 
 #. module: mrp
 #: selection:mrp.production.order,month:0
 msgid "June"
-msgstr ""
+msgstr "Czerwiec"
 
 #. module: mrp
 #: model:ir.model,name:mrp.model_mrp_product_produce
 msgid "Product Produce"
-msgstr ""
+msgstr "Produkcja produktu"
 
 #. module: mrp
 #: selection:mrp.production.order,month:0
 msgid "October"
-msgstr ""
+msgstr "Październik"
 
 #. module: mrp
 #: model:process.transition,name:mrp.process_transition_procurestockableproduct0
 msgid "Procurement of stockable Product"
-msgstr ""
+msgstr "Zapotrzebowanie na produkt rejestrowany"
 
 #. module: mrp
 #: view:mrp.bom:0
 msgid "Default UOM"
-msgstr ""
+msgstr "Domyślna JM"
 
 #. module: mrp
 #: code:addons/mrp/report/price.py:0
@@ -385,7 +385,7 @@ msgstr "Ilość"
 #. module: mrp
 #: field:mrp.production.workcenter.line,hour:0
 msgid "Nbr of hours"
-msgstr ""
+msgstr "Liczba godzin"
 
 #. module: mrp
 #: view:mrp.production:0
@@ -398,6 +398,8 @@ msgid ""
 "The system creates an order (production or purchased) depending on the sold "
 "quantity and the products parameters."
 msgstr ""
+"System utworzy zamówienie (produkcji lub zakupu) zależnie od sprzedanej "
+"ilości i parametrów produktu."
 
 #. module: mrp
 #: model:process.transition,note:mrp.process_transition_servicemts0
@@ -409,12 +411,12 @@ msgstr ""
 #. module: mrp
 #: field:mrp.installer,mrp_repair:0
 msgid "Repairs"
-msgstr ""
+msgstr "Naprawy"
 
 #. module: mrp
 #: field:mrp.installer,stock_location:0
 msgid "Advanced Routes"
-msgstr ""
+msgstr "Zaawansowane marszruty"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
@@ -427,6 +429,8 @@ msgid ""
 "Enables warranty and repair management (and their impact on stocks and "
 "invoicing)."
 msgstr ""
+"Włącza zarządzanie gwarancjami i naprawą (i jego wpływ na zapasy i "
+"fakturowanie)."
 
 #. module: mrp
 #: field:mrp.production,date_planned_date:0
@@ -454,7 +458,7 @@ msgstr ""
 #. module: mrp
 #: view:board.board:0
 msgid "Stock Value Variation"
-msgstr ""
+msgstr "Odchylenia wartości zapasów"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.action2
@@ -464,23 +468,23 @@ msgstr "Struktura zestawień materiałowych"
 #. module: mrp
 #: model:process.node,note:mrp.process_node_serviceproduct0
 msgid "Product type is service"
-msgstr ""
+msgstr "Typ produktu jest serwis"
 
 #. module: mrp
 #: code:addons/mrp/report/price.py:0
 #, python-format
 msgid "of "
-msgstr ""
+msgstr "z "
 
 #. module: mrp
 #: model:process.transition,name:mrp.process_transition_bom0
 msgid "Manufacturing decomposition"
-msgstr ""
+msgstr "Dekompozycja produkcji"
 
 #. module: mrp
 #: model:process.node,note:mrp.process_node_serviceproduct1
 msgid "For Services."
-msgstr ""
+msgstr "Do usług."
 
 #. module: mrp
 #: field:mrp.bom.revision,date:0
index acfed97..42219ba 100644 (file)
@@ -7,96 +7,85 @@ msgid ""
 msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2009-12-08 11:46+0000\n"
-"PO-Revision-Date: 2010-08-03 08:13+0000\n"
-"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 16:09+0000\n"
+"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
 "Language-Team: Russian <ru@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-09-29 05:16+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: multi_company
-#: help:multi_company.default,object_id:0
-msgid "Object affect by this rules"
-msgstr "Объект затрагивает эти правила"
-
-#. module: multi_company
-#: constraint:ir.model:0
-msgid ""
-"The Object name must start with x_ and not contain any special character !"
-msgstr ""
-"Название объекта должно начинаться с x_  и не должно содержать специальных "
-"символов !"
-
-#. module: multi_company
-#: constraint:product.template:0
-msgid ""
-"Error: The default UOM and the purchase UOM must be in the same category."
-msgstr ""
-"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
-
-#. module: multi_company
-#: constraint:res.partner:0
-msgid "The VAT doesn't seem to be correct."
-msgstr "НДС выглядит неправильно"
-
-#. module: multi_company
-#: constraint:ir.actions.act_window:0
-msgid "Invalid model name in the action definition."
-msgstr "Недопустимое имя модели в определении действия"
-
-#. module: multi_company
 #: model:res.company,overdue_msg:multi_company.res_company_odoo
 #: model:res.company,overdue_msg:multi_company.res_company_oerp_be
 #: model:res.company,overdue_msg:multi_company.res_company_oerp_editor
 #: model:res.company,overdue_msg:multi_company.res_company_oerp_in
 #: model:res.company,overdue_msg:multi_company.res_company_oerp_us
 msgid ""
-"Would your payment have been carried out after this mail was sent, please "
-"consider the present one as void. Do not hesitate to contact our accounting "
-"department"
+"\n"
+"Date: %(date)s\n"
+"\n"
+"Dear %(partner_name)s,\n"
+"\n"
+"Please find in attachment a reminder of all your unpaid invoices, for a "
+"total amount due of:\n"
+"\n"
+"%(followup_amount).2f %(company_currency)s\n"
+"\n"
+"Thanks,\n"
+"--\n"
+"%(user_signature)s\n"
+"%(company_name)s\n"
+"        "
 msgstr ""
+"\n"
+"Дата: %(date)s\n"
+"\n"
+"Уважаемый / уважаемая %(partner_name)s,\n"
+"\n"
+"Пожалуйста, просмотрите в приложении напоминание о всех не оплаченных вами "
+"счетах.\n"
+"Всего на сумму: %(followup_amount).2f %(company_currency)s\n"
+"\n"
+"Спасибо,\n"
+"--\n"
+"%(user_signature)s\n"
+"%(company_name)s\n"
+"        "
 
 #. module: multi_company
-#: field:multi_company.default,company_dest_id:0
-msgid "Default Company"
-msgstr "Компания по умолчанию"
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Недопустимое имя модели в определении действия"
 
 #. module: multi_company
-#: field:multi_company.default,object_id:0
-msgid "Object"
-msgstr "Объект"
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
+msgstr "Ошибка. UOS и UOM должны принадлежать к разным категориям."
 
 #. module: multi_company
-#: model:ir.module.module,shortdesc:multi_company.module_meta_information
-#: view:multi_company.default:0
-msgid "Multi Company"
-msgstr "Концерн"
+#: model:product.category,name:multi_company.Odoo1
+msgid "Odoo Offers"
+msgstr "Предложения Odoo"
 
 #. module: multi_company
-#: model:ir.module.module,description:multi_company.module_meta_information
+#: constraint:product.template:0
 msgid ""
-"This module add the possibility to easily manage \n"
-"    the default value for each object\n"
-"    "
+"Error: The default UOM and the purchase UOM must be in the same category."
 msgstr ""
+"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
 
 #. module: multi_company
-#: field:multi_company.default,company_id:0
-msgid "Main Company"
-msgstr "Головная компания"
-
-#. module: multi_company
-#: view:multi_company.default:0
-msgid "Condition"
-msgstr "Условие"
+#: constraint:product.category:0
+msgid "Error ! You can not create recursive categories."
+msgstr "Ошибка ! Невозможно создать рекурсивную категорию."
 
 #. module: multi_company
-#: help:multi_company.default,company_dest_id:0
-msgid "Company to store the current record"
-msgstr ""
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Ошибка! Невозможно создать рекурсивную компанию."
 
 #. module: multi_company
 #: constraint:ir.ui.view:0
@@ -104,92 +93,102 @@ msgid "Invalid XML for View Architecture!"
 msgstr "Некорректный формат XML структуры для просмотра."
 
 #. module: multi_company
-#: field:multi_company.default,name:0
-msgid "Name"
-msgstr "Имя"
+#: model:ir.ui.menu,name:multi_company.menu_custom_multicompany
+msgid "Multi-Companies"
+msgstr ""
 
 #. module: multi_company
-#: constraint:product.template:0
-msgid "Error: UOS must be in a different category than the UOM"
-msgstr "Ошибка. UOS и UOM должны принадлежать к разным категориям."
+#: model:ir.module.module,shortdesc:multi_company.module_meta_information
+#: view:multi_company.default:0
+msgid "Multi Company"
+msgstr "Концерн"
 
 #. module: multi_company
-#: model:product.category,name:multi_company.Odoo1
-msgid "Odoo Offers"
-msgstr "Предложения Odoo"
+#: constraint:res.partner:0
+msgid "Error ! You can not create recursive associated members."
+msgstr "Ошибка! Вы не можете создать рекурсивных связанных участников."
 
 #. module: multi_company
-#: constraint:res.company:0
-msgid "Error! You can not create recursive companies."
-msgstr "Ошибка! Невозможно создать рекурсивную компанию."
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "Ошибка: Неправильный штрих-код"
 
 #. module: multi_company
-#: help:multi_company.default,name:0
-msgid "Name it to easily find a record"
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
 msgstr ""
+"Выбранной компании нет в разрешенных компаниях для этого пользователя"
 
 #. module: multi_company
-#: model:ir.ui.menu,name:multi_company.menu_custom_multicompany
-msgid "Multi company"
-msgstr "Концерн"
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Ошибка ! Нельзя создать зацикленные меню."
 
 #. module: multi_company
-#: model:ir.model,name:multi_company.model_multi_company_default
-msgid "multi_company.default"
-msgstr ""
-
-#. module: multi_company
-#: help:multi_company.default,company_id:0
-msgid "Company where the user is connected"
-msgstr "Компании, в составе которых находиться пользователь"
+#: view:multi_company.default:0
+msgid "Returning"
+msgstr "Возвращаемое"
 
 #. module: multi_company
 #: model:ir.actions.act_window,name:multi_company.action_inventory_form
+#: model:ir.ui.menu,name:multi_company.menu_action_inventory_form
 msgid "Default Company per Object"
 msgstr "Компании по умолчанию для объекта"
 
 #. module: multi_company
-#: field:multi_company.default,expression:0
-msgid "Expression"
-msgstr "Выражение"
+#: view:multi_company.default:0
+msgid "Matching"
+msgstr "Сопоставление"
+
+#. module: multi_company
+#: view:multi_company.default:0
+msgid "Condition"
+msgstr "Условие"
 
 #. module: multi_company
 #: model:product.template,name:multi_company.product_product_odoo1_product_template
 msgid "Odoo Offer"
 msgstr "Предложение Odoo"
 
-#. module: multi_company
-#: field:multi_company.default,sequence:0
-msgid "Sequence"
-msgstr "Последовательность"
+#~ msgid "Object"
+#~ msgstr "Объект"
 
-#. module: multi_company
-#: constraint:product.category:0
-msgid "Error ! You can not create recursive categories."
-msgstr "Ошибка ! Невозможно создать рекурсивную категорию."
+#~ msgid "The VAT doesn't seem to be correct."
+#~ msgstr "НДС выглядит неправильно"
 
-#. module: multi_company
-#: constraint:product.product:0
-msgid "Error: Invalid ean code"
-msgstr "Ошибка: Неправильный штрих-код"
+#~ msgid ""
+#~ "The Object name must start with x_ and not contain any special character !"
+#~ msgstr ""
+#~ "Название объекта должно начинаться с x_  и не должно содержать специальных "
+#~ "символов !"
 
-#. module: multi_company
-#: help:multi_company.default,expression:0
-msgid "Expression, must be True to match"
-msgstr ""
+#~ msgid "Multi company"
+#~ msgstr "Концерн"
 
-#. module: multi_company
-#: model:ir.ui.menu,name:multi_company.menu_action_inventory_form
-msgid "Default company per Object"
-msgstr "Компания по умолчанию для объекта"
+#~ msgid "Main Company"
+#~ msgstr "Головная компания"
+
+#~ msgid "Name"
+#~ msgstr "Имя"
+
+#~ msgid "Sequence"
+#~ msgstr "Последовательность"
+
+#~ msgid "Expression"
+#~ msgstr "Выражение"
 
-#. module: multi_company
-#: code:addons/multi_company/multi_company.py:0
 #, python-format
-msgid " (copy)"
-msgstr " (копия)"
+#~ msgid " (copy)"
+#~ msgstr " (копия)"
 
-#. module: multi_company
-#: view:multi_company.default:0
-msgid "Matching"
-msgstr "Сопоставление"
+#~ msgid "Object affect by this rules"
+#~ msgstr "Объект затрагивает эти правила"
+
+#~ msgid "Default Company"
+#~ msgstr "Компания по умолчанию"
+
+#~ msgid "Company where the user is connected"
+#~ msgstr "Компании, в составе которых находиться пользователь"
+
+#~ msgid "Default company per Object"
+#~ msgstr "Компания по умолчанию для объекта"
index 1d5c833..28d3bef 100644 (file)
@@ -28,13 +28,13 @@ class account_journal(osv.osv):
     _inherit = 'account.journal'
     _columns = {
         'auto_cash': fields.boolean('Automatic Opening', help="This field authorize the automatic creation of the cashbox"),
-        'special_journal':fields.boolean('Special Journal', help="Will put all the orders in waiting status till being accepted"),
+        'special_journal': fields.boolean('Special Journal', help="Will put all the orders in waiting status till being accepted"),
         'check_dtls': fields.boolean('Check Details', help="This field authorize Validation of Cashbox without checking ending details"),
         'journal_users': fields.many2many('res.users','pos_journal_users','journal_id','user_id','Users'),
     }
     _defaults = {
-        'check_dtls': lambda *a:False,
-        'auto_cash': lambda *a:True,
+        'check_dtls': False,
+        'auto_cash': True,
     }
 account_journal()
 
@@ -42,7 +42,9 @@ class account_cash_statement(osv.osv):
     
     _inherit = 'account.bank.statement'
 
-    def _equal_balance(self, cr, uid, cash_id, context={}):
+    def _equal_balance(self, cr, uid, cash_id, context=None):
+        if context is None:
+            context = {}
         statement = self.browse(cr, uid, cash_id, context=context)
         if not statement.journal_id.check_dtls:
             return True
@@ -52,9 +54,12 @@ class account_cash_statement(osv.osv):
         else:
             return True            
     
-    def _user_allow(self, cr, uid, ids, statement, context={}):
+    def _user_allow(self, cr, uid, statement_id, context=None):
+        if context is None:
+            context = {}
         res = False
         uids = []
+        statement = self.browse(cr, uid, statement_id, context=context)
         for user in statement.journal_id.journal_users:
             uids.append(user.id)
         
@@ -63,25 +68,29 @@ class account_cash_statement(osv.osv):
       
         return res
     
-    def _get_cash_open_box_lines(self, cr, uid, context={}):
+    def _get_cash_open_box_lines(self, cr, uid, context=None):
+        if context is None:
+            context = {}
         res = super(account_cash_statement,self)._get_cash_open_box_lines(cr, uid, context)
         curr = [0.01, 0.02, 0.05, 0.10, 0.20, 0.50]
         for rs in curr:
             dct = {
-                'pieces':rs,
-                'number':0
+                'pieces': rs,
+                'number': 0
             }
             res.append(dct)
         res.sort()
         return res
     
-    def _get_default_cash_close_box_lines(self, cr, uid, context={}):
+    def _get_default_cash_close_box_lines(self, cr, uid, context=None):
+        if context is None:
+            context = {}
         res = super(account_cash_statement,self)._get_default_cash_close_box_lines(cr, uid, context)
         curr = [0.01, 0.02, 0.05, 0.10, 0.20, 0.50]
         for rs in curr:
             dct = {
-                'pieces':rs,
-                'number':0
+                'pieces': rs,
+                'number': 0
             }
             res.append(dct)
         res.sort()
@@ -89,4 +98,4 @@ class account_cash_statement(osv.osv):
     
 account_cash_statement()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
index a116ef9..ff722d6 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 5.0.4\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 21:48+0000\n"
-"Last-Translator: Magnus Brandt, Aspirix AB <Unknown>\n"
+"PO-Revision-Date: 2010-10-25 07:16+0000\n"
+"Last-Translator: OpenERP Administrators <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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: point_of_sale
index c054aba..2f6beee 100644 (file)
@@ -8,24 +8,24 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-22 10:51+0000\n"
+"PO-Revision-Date: 2010-10-25 17:08+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
 "Language-Team: Russian <ru@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-10-23 04:51+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: procurement
 #: model:ir.ui.menu,name:procurement.menu_stock_sched
 msgid "Schedulers"
-msgstr ""
+msgstr "Планировщики"
 
 #. module: procurement
 #: model:ir.model,name:procurement.model_make_procurement
 msgid "Make Procurements"
-msgstr ""
+msgstr "Сделать закупки"
 
 #. module: procurement
 #: help:procurement.order.compute.all,automatic:0
@@ -38,12 +38,12 @@ msgstr ""
 #. module: procurement
 #: view:stock.warehouse.orderpoint:0
 msgid "Group By..."
-msgstr ""
+msgstr "Объединять по..."
 
 #. module: procurement
 #: view:procurement.order:0
 msgid "Planification"
-msgstr ""
+msgstr "Планирование"
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:0
@@ -86,7 +86,7 @@ msgstr "Компания"
 #. module: procurement
 #: field:procurement.order,product_uos_qty:0
 msgid "UoS Quantity"
-msgstr ""
+msgstr "Кол-во во второй ед. изм."
 
 #. module: procurement
 #: view:procurement.order:0
@@ -140,7 +140,7 @@ msgstr ""
 #. module: procurement
 #: view:stock.warehouse.orderpoint:0
 msgid "Minimum Stock Rules Search"
-msgstr ""
+msgstr "Искать правила минимальных запасов"
 
 #. module: procurement
 #: help:stock.warehouse.orderpoint,product_min_qty:0
@@ -148,6 +148,9 @@ msgid ""
 "When the virtual stock goes belong the Min Quantity, OpenERP generates a "
 "procurement to bring the virtual stock to the Max Quantity."
 msgstr ""
+"Когда виртуальные запасы становятся меньше минимального количества, OpenERP "
+"создает запрос на снабжение, чтобы довести виртуальные запасы до "
+"максимального количества."
 
 #. module: procurement
 #: view:procurement.order.compute.all:0
@@ -157,7 +160,7 @@ msgstr "Параметры планировщика"
 #. module: procurement
 #: model:ir.model,name:procurement.model_stock_move
 msgid "Stock Move"
-msgstr ""
+msgstr "Движение ТМЦ"
 
 #. module: procurement
 #: selection:procurement.order,state:0
@@ -167,12 +170,12 @@ msgstr "Готово"
 #. module: procurement
 #: field:procurement.order.compute.all,automatic:0
 msgid "Automatic orderpoint"
-msgstr ""
+msgstr "Автоматическая точка заказа"
 
 #. module: procurement
 #: field:mrp.property,composition:0
 msgid "Properties composition"
-msgstr ""
+msgstr "Составление свойств"
 
 #. module: procurement
 #: selection:procurement.order,state:0
@@ -201,11 +204,13 @@ msgid ""
 "Reference of the document that created this Procurement.\n"
 "This is automatically completed by OpenERP."
 msgstr ""
+"Ссылка на документ, создавший этот запрос на снабжение.\n"
+"Выполнено OpenERP автоматически."
 
 #. module: procurement
 #: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
 msgid "Minimum Inventory Rule"
-msgstr ""
+msgstr "Правило минимума ТМЦ"
 
 #. module: procurement
 #: field:procurement.order,priority:0
@@ -228,7 +233,7 @@ msgstr "Местоположение"
 #. module: procurement
 #: model:ir.model,name:procurement.model_stock_picking
 msgid "Picking List"
-msgstr ""
+msgstr "Комплектовочный лист"
 
 #. module: procurement
 #: field:make.procurement,warehouse_id:0
@@ -250,7 +255,7 @@ msgstr "Продукция и местоположения"
 #. module: procurement
 #: model:ir.model,name:procurement.model_procurement_order_compute
 msgid "Compute Procurement"
-msgstr ""
+msgstr "Вычислить снабжение"
 
 #. module: procurement
 #: model:ir.module.module,shortdesc:procurement.module_meta_information
@@ -289,6 +294,7 @@ msgstr "Количество"
 #, python-format
 msgid "Not enough stock and no minimum orderpoint rule defined."
 msgstr ""
+"Не достаточный запас и не определено правило минимальной точки заказа."
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:0
@@ -322,6 +328,8 @@ msgid ""
 "If you encode manually a Procurement, you probably want to use a make to "
 "order method."
 msgstr ""
+"Если вы составляете запрос на снабжение вручную, вероятно вы хотите "
+"использовать изготовление на заказ."
 
 #. module: procurement
 #: view:res.company:0
@@ -331,7 +339,7 @@ msgstr "ПМР и Логистическое планирование"
 #. module: procurement
 #: model:ir.ui.menu,name:procurement.menu_stock_procurement
 msgid "Automatic Procurements"
-msgstr ""
+msgstr "Автоматическое снабжение"
 
 #. module: procurement
 #: field:stock.warehouse.orderpoint,product_max_qty:0
@@ -363,12 +371,12 @@ msgstr "Исключения"
 #. module: procurement
 #: model:process.node,note:procurement.process_node_serviceonorder0
 msgid "Assignment from Production or Purchase Order."
-msgstr ""
+msgstr "Выделение из заказа на производство или на закупку."
 
 #. module: procurement
 #: model:ir.model,name:procurement.model_mrp_property
 msgid "Property"
-msgstr ""
+msgstr "Параметр"
 
 #. module: procurement
 #: model:ir.actions.act_window,name:procurement.act_make_procurement
@@ -379,7 +387,7 @@ msgstr "Заявка на снабжение"
 #. module: procurement
 #: view:procurement.orderpoint.compute:0
 msgid "Compute Stock"
-msgstr ""
+msgstr "Вычислить запасы"
 
 #. module: procurement
 #: view:procurement.order:0
@@ -422,11 +430,14 @@ msgid ""
 "When the virtual stock goes belong the Max Quantity, OpenERP generates a "
 "procurement to bring the virtual stock to the Max Quantity."
 msgstr ""
+"Когда виртуальные запасы становятся меньше максимального количества, OpenERP "
+"создает запрос на снабжение, чтобы довести виртуальные запасы до "
+"максимального количества."
 
 #. module: procurement
 #: help:procurement.orderpoint.compute,automatic:0
 msgid "If the stock of a product is under 0, it will act like an orderpoint"
-msgstr ""
+msgstr "Если остатки ТМЦ меньше 0, это будет действовать как точка заказа"
 
 #. module: procurement
 #: view:procurement.order:0
@@ -443,6 +454,11 @@ msgid ""
 "background, you may have to wait for a few minutes until it has finished "
 "computing."
 msgstr ""
+"Этот мастер позволяет вам обработать все заказы на снабжение, производство "
+"и/или закупку, которые будут обработана в соответствии с их настройками. По "
+"умолчанию, планировщик запускается каждую ночь. Вы можете использовать это "
+"меню для его принудительного запуска. Помните, что он работает в фоновом "
+"режиме, вы должны подождать несколько минут до окончания обработки."
 
 #. module: procurement
 #: view:procurement.order:0
@@ -458,7 +474,7 @@ msgstr "Черновик"
 #. module: procurement
 #: constraint:ir.ui.menu:0
 msgid "Error ! You can not create recursive Menu."
-msgstr ""
+msgstr "Ошибка ! Нельзя создать зацикленные меню."
 
 #. module: procurement
 #: constraint:ir.model:0
@@ -480,6 +496,9 @@ msgid ""
 "procurements. All procurements that are not between today and today+range "
 "are skipped for futur computation."
 msgstr ""
+"Это временные рамки, обрабатываемые планировщиком при расчете снабжения. Все "
+"снабжение, которое не находится между сегодня и сегодня+срок оставляется для "
+"будущих расчетов."
 
 #. module: procurement
 #: selection:procurement.order,priority:0
@@ -497,6 +516,8 @@ msgid ""
 "If the active field is set to true, it will allow you to hide the orderpoint "
 "without removing it."
 msgstr ""
+"Если значение активного поля \"истина\", то это позволит вам скрыть точку "
+"заказа"
 
 #. module: procurement
 #: field:stock.warehouse.orderpoint,active:0
@@ -506,7 +527,7 @@ msgstr "Активно"
 #. module: procurement
 #: model:process.node,name:procurement.process_node_procureproducts0
 msgid "Procure Products"
-msgstr ""
+msgstr "Снабжение товарами"
 
 #. module: procurement
 #: field:procurement.order,date_planned:0
@@ -522,17 +543,17 @@ msgstr "Исключение"
 #: code:addons/procurement/schedulers.py:0
 #, python-format
 msgid "Automatic OP: %s"
-msgstr ""
+msgstr "Авто точка зак.: %s"
 
 #. module: procurement
 #: model:ir.model,name:procurement.model_procurement_orderpoint_compute
 msgid "Automatic Order Point"
-msgstr ""
+msgstr "Автоматическая точка заказа"
 
 #. module: procurement
 #: field:stock.warehouse.orderpoint,qty_multiple:0
 msgid "Qty Multiple"
-msgstr ""
+msgstr "Кратное кол-во"
 
 #. module: procurement
 #: model:ir.model,name:procurement.model_res_company
@@ -558,12 +579,12 @@ msgstr "Причина снабжения"
 #: code:addons/procurement/procurement.py:0
 #, python-format
 msgid "Qty Multiple must be greater than zero."
-msgstr ""
+msgstr "Кратное кол-во должно быть больше 0."
 
 #. module: procurement
 #: selection:stock.warehouse.orderpoint,logic:0
 msgid "Order to Max"
-msgstr ""
+msgstr "Заказ по максимуму"
 
 #. module: procurement
 #: field:procurement.order,date_close:0
@@ -574,19 +595,19 @@ msgstr "Дата закрытия"
 #: code:addons/procurement/procurement.py:0
 #, python-format
 msgid "Procurement '%s' is in exception: not enough stock."
-msgstr ""
+msgstr "Снабжение '%s' - исключительная ситуация: не достаточный запас."
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:0
 #, python-format
 msgid "Cannot delete Procurement Order(s) which are in %s State!"
-msgstr ""
+msgstr "Нельзя удалить заказ(ы) на снабжение в состоянии %s !"
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:0
 #, python-format
 msgid "Data Insufficient !"
-msgstr ""
+msgstr "Недостаточно данных !"
 
 #. module: procurement
 #: model:ir.model,name:procurement.model_mrp_property_group
@@ -618,7 +639,7 @@ msgstr "Общая информация"
 #. module: procurement
 #: view:procurement.order:0
 msgid "Run Procurement"
-msgstr ""
+msgstr "Запустить снабжение"
 
 #. module: procurement
 #: selection:procurement.order,state:0
@@ -628,7 +649,7 @@ msgstr "Готово"
 #. module: procurement
 #: help:stock.warehouse.orderpoint,qty_multiple:0
 msgid "The procurement quantity will by rounded up to this multiple."
-msgstr ""
+msgstr "Закупаемое количество будет округляться до кратного."
 
 #. module: procurement
 #: view:make.procurement:0
@@ -643,7 +664,7 @@ msgstr "Отмена"
 #. module: procurement
 #: field:stock.warehouse.orderpoint,logic:0
 msgid "Reordering Mode"
-msgstr ""
+msgstr "Режим изменения порядка"
 
 #. module: procurement
 #: field:procurement.order,origin:0
@@ -658,7 +679,7 @@ msgstr "Не срочно"
 #. module: procurement
 #: model:ir.model,name:procurement.model_procurement_order_compute_all
 msgid "Compute all schedulers"
-msgstr ""
+msgstr "Вычисление всех планировщиков"
 
 #. module: procurement
 #: view:procurement.order:0
@@ -677,7 +698,7 @@ msgstr "Детали"
 #: model:ir.actions.act_window,name:procurement.procurement_exceptions
 #: model:ir.ui.menu,name:procurement.menu_stock_procurement_action
 msgid "Procurement Exceptions"
-msgstr ""
+msgstr "Исключитель"
 
 #. module: procurement
 #: model:ir.actions.act_window,name:procurement.act_procurement_2_stock_warehouse_orderpoint
@@ -710,7 +731,7 @@ msgstr "ТМЦ"
 #. module: procurement
 #: view:procurement.order:0
 msgid "Temporary"
-msgstr ""
+msgstr "Временный"
 
 #. module: procurement
 #: field:mrp.property,description:0
@@ -726,7 +747,7 @@ msgstr "мин."
 #. module: procurement
 #: view:stock.warehouse.orderpoint:0
 msgid "Quantity Rules"
-msgstr ""
+msgstr "Правила количеств"
 
 #. module: procurement
 #: selection:procurement.order,state:0
@@ -766,7 +787,7 @@ msgstr "Резервирование"
 #. module: procurement
 #: model:process.node,note:procurement.process_node_procureproducts0
 msgid "The way to procurement depends on the product type."
-msgstr ""
+msgstr "Способ снабжения зависит от вида ТМЦ."
 
 #. module: procurement
 #: view:make.procurement:0
@@ -774,6 +795,8 @@ msgid ""
 "This wizard will plan the procurement for this product. This procurement may "
 "generate task, production orders or purchase orders."
 msgstr ""
+"Этот мастер будет планировать снабжение этой продукцией. Процесс снабжения "
+"может генерировать задачи, заказы на производство, заказы на закупку."
 
 #. module: procurement
 #: field:mrp.property,name:0
@@ -789,7 +812,7 @@ msgstr "макс."
 #. module: procurement
 #: field:procurement.order,product_uos:0
 msgid "Product UoS"
-msgstr ""
+msgstr "Вторая ед. изм."
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:0
@@ -802,13 +825,14 @@ msgstr ""
 #: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers
 #: view:procurement.order.compute.all:0
 msgid "Compute Schedulers"
-msgstr ""
+msgstr "Вычислить планировщики"
 
 #. module: procurement
 #: view:procurement.orderpoint.compute:0
 msgid ""
 "Wizard checks all the stock minimum rules and generate procurement order."
 msgstr ""
+"Мастер проверит все правила минимальных запасов и создаст заказ на снабжение."
 
 #. module: procurement
 #: field:procurement.order,product_uom:0
@@ -828,7 +852,7 @@ msgstr "Весьма срочно"
 #. module: procurement
 #: field:procurement.orderpoint.compute,automatic:0
 msgid "Automatic Orderpoint"
-msgstr ""
+msgstr "Авто точка заказа"
 
 #. module: procurement
 #: view:procurement.order:0
@@ -838,13 +862,13 @@ msgstr "Детали снабжения"
 #. module: procurement
 #: constraint:ir.rule:0
 msgid "Rules are not supported for osv_memory objects !"
-msgstr ""
+msgstr "Для объектов osv_memory правила не поддерживаются !"
 
 #. module: procurement
 #: code:addons/procurement/schedulers.py:0
 #, python-format
 msgid "SCHEDULER"
-msgstr ""
+msgstr "ПЛАНИРОВЩИК"
 
 #~ msgid "Temporary Procurement Exceptions"
 #~ msgstr "Временные исключения снабжения"
index 5e7e427..d1923a9 100644 (file)
@@ -6,257 +6,244 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-09-29 11:26+0000\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 19:07+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-09-30 04:43+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "Max. Margin"
-msgstr "Макс. маржа"
+#: model:product.template,name:product.product_product_ram512_product_template
+msgid "DDR 512MB PC400"
+msgstr "DDR 512MB PC400"
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "Base Price"
-msgstr "Базовая цена"
+#: field:product.packaging,rows:0
+msgid "Number of Layers"
+msgstr "Количество уровней"
 
 #. module: product
-#: help:product.template,standard_price:0
+#: code:addons/product/pricelist.py:0
+#: constraint:product.pricelist.item:0
+#, python-format
 msgid ""
-"The cost of the product for accounting stock valuation. It can serves as a "
-"base price for supplier price."
+"Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList "
+"Item!"
 msgstr ""
+"Ошибка ! Нельзя определить Главный Каталог как Другой Каталог в объекте "
+"Каталог!"
 
 #. module: product
-#: selection:product.template,type:0
-msgid "Service"
-msgstr "Услуга"
-
-#. module: product
-#: help:product.template,purchase_ok:0
+#: help:product.pricelist.item,product_tmpl_id:0
 msgid ""
-"Determine if the product is visible in the list of products within a "
-"selection from a purchase order line."
+"Set a template if this rule only apply to a template of product. Keep empty "
+"for all products"
 msgstr ""
-"Должно ли изделие быть видимым при выборе из списка изделий в форме заказа"
-
-#. module: product
-#: help:product.supplierinfo,name:0
-msgid "Supplier of this product"
-msgstr "Поставщик этой продукции"
-
-#. module: product
-#: model:product.template,name:product.product_product_ram512_product_template
-msgid "DDR 512MB PC400"
-msgstr "DDR 512MB PC400"
+"Установите шаблон, если правило применяется только для шаблона продукции. "
+"Оставьте пустым для всей продукции."
 
 #. module: product
-#: model:product.template,name:product.product_product_0_product_template
-msgid "Onsite Senior Intervention"
-msgstr "Вмешательство руководства на месте"
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Недопустимое имя модели в определении действия."
 
 #. module: product
-#: help:product.supplierinfo,qty:0
-msgid ""
-"The minimal quantity to purchase for this supplier, expressed in the default "
-"unit of measure."
-msgstr ""
-"Минимальный размер закупки от этого поставщика, выраженный в стандартных "
-"единицах измерения."
+#: model:product.category,name:product.cat1
+msgid "Sellable"
+msgstr "Для продажи"
 
 #. module: product
-#: field:product.template,weight_net:0
-msgid "Net weight"
-msgstr "Вес нетто"
+#: model:product.template,name:product.product_product_mb2_product_template
+msgid "Mainboard ASUStek A7V8X-X"
+msgstr "Материнская плата ASUStek A7V8X-X"
 
 #. module: product
-#: help:product.product,incoming_qty:0
-msgid ""
-"Quantities of products that are planned to arrive in selected locations or "
-"all internal if none have been selected."
-msgstr ""
-"Объемы продукции, которые планируется достичь в выбранных местах или все "
-"внутренние, если никакие не были выбраны."
+#: help:product.template,seller_qty:0
+msgid "This is minimum quantity to purchase from Main Supplier."
+msgstr "Это минимальное количество для закупки у основного поставщика."
 
 #. module: product
-#: help:product.product,virtual_available:0
-msgid ""
-"Futur stock for this product according to the selected location or all "
-"internal if none have been selected. Computed as: Real Stock - Outgoing + "
-"Incoming."
-msgstr ""
+#: model:product.uom,name:product.uom_day
+msgid "Day"
+msgstr "День"
 
 #. module: product
-#: field:product.packaging,width:0
-msgid "Width"
-msgstr "Ширина"
+#: view:product.product:0
+msgid "UoM"
+msgstr "Ед. изм."
 
 #. module: product
-#: help:product.pricelist.item,product_tmpl_id:0
-msgid ""
-"Set a template if this rule only apply to a template of product. Keep empty "
-"for all products"
+#: model:product.template,name:product.product_product_pc2_product_template
+msgid "Basic+ PC (assembly on order)"
 msgstr ""
-"Установите шаблон, если правило применяется только для шаблона продукции. "
-"Оставьте пустым для всей продукции."
 
 #. module: product
-#: field:product.template,procure_method:0
-msgid "Procure Method"
-msgstr "Метод закупки"
+#: field:product.product,incoming_qty:0
+msgid "Incoming"
+msgstr "Входящие"
 
 #. module: product
-#: constraint:ir.actions.act_window:0
-msgid "Invalid model name in the action definition."
-msgstr "Недопустимое имя модели в определении действия."
+#: field:product.template,mes_type:0
+msgid "Measure Type"
+msgstr "Тип измерения"
 
 #. module: product
-#: model:process.process,name:product.process_process_productprocess0
-msgid "Product Process"
+#: help:res.partner,property_product_pricelist:0
+msgid ""
+"This pricelist will be used, instead of the default one, for sales to the "
+"current partner"
 msgstr ""
+"Для продаж текущему партнеру, вместо каталога по умолчанию, будет "
+"использоваться этот каталог"
 
 #. module: product
-#: help:product.price.type,field:0
-msgid "Associated field in the product form."
-msgstr "Связанные поля в форме изделия"
-
-#. module: product
-#: selection:product.template,cost_method:0
-msgid "Standard Price"
-msgstr "Стандартная цена"
+#: constraint:product.supplierinfo:0
+msgid ""
+"Error: The default UOM and the Supplier Product UOM must be in the same "
+"category."
+msgstr ""
+"Ошибка: ед. изм. по умолчанию и ед. изм. поставщика продукции должны быть из "
+"одной категории."
 
 #. module: product
-#: help:product.packaging,height:0
-msgid "The height of the package"
-msgstr "Высота упаковки"
+#: field:product.template,seller_qty:0
+msgid "Supplier Quantity"
+msgstr ""
 
 #. module: product
-#: view:product.pricelist:0
-msgid "Products Price List"
-msgstr "Каталог продукции"
+#: selection:product.template,mes_type:0
+msgid "Fixed"
+msgstr "Фиксированный"
 
 #. module: product
-#: model:product.category,name:product.cat1
-msgid "Sellable"
-msgstr "Для продажи"
+#: code:addons/product/pricelist.py:0
+#, python-format
+msgid "Warning !"
+msgstr "Внимание!"
 
 #. module: product
-#: model:product.template,name:product.product_product_26_product_template
-msgid "Kit Keyboard + Mouse"
-msgstr "Комплект мыши и клавиатуры"
+#: model:ir.actions.report.xml,name:product.report_product_pricelist
+#: model:ir.model,name:product.model_product_pricelist
+#: field:product.product,price:0
+#: field:product.product,pricelist_id:0
+#: view:product.supplierinfo:0
+msgid "Pricelist"
+msgstr "Каталог"
 
 #. module: product
-#: field:product.price.type,name:0
-msgid "Price Name"
-msgstr "Название цены"
+#: view:product.product:0
+#: view:product.template:0
+msgid "Base Prices"
+msgstr "Базовае цены"
 
 #. module: product
-#: field:product.product,price:0
-msgid "Customer Price"
-msgstr "Цена клиента"
+#: field:product.pricelist.item,name:0
+msgid "Rule Name"
+msgstr "Название правила"
 
 #. module: product
-#: field:product.template,company_id:0
-msgid "Company"
-msgstr "Компания"
+#: field:product.product,code:0
+#: field:product.product,default_code:0
+msgid "Reference"
+msgstr "Ссылка"
 
 #. module: product
-#: field:product.template,rental:0
-msgid "Rentable Product"
-msgstr "Изделие для аренды"
+#: constraint:product.category:0
+msgid "Error ! You can not create recursive categories."
+msgstr "Ошибка ! Невозможно создать рекурсивную категорию."
 
 #. module: product
-#: field:product.product,lst_price:0
-msgid "List Price"
-msgstr "Цена по каталогу"
+#: model:product.template,name:product.product_product_24_product_template
+msgid "Keyboard"
+msgstr "Клавиатура"
 
 #. module: product
-#: model:ir.actions.act_window,name:product.product_price_type_action
-#: model:ir.ui.menu,name:product.menu_product_price_type_action
-msgid "Prices Types"
-msgstr "Типы цен"
+#: model:ir.model,name:product.model_res_partner
+msgid "Partner"
+msgstr "Партнер"
 
 #. module: product
-#: selection:product.template,type:0
-msgid "Stockable Product"
-msgstr "Складируемая продукция"
+#: help:product.template,supply_method:0
+msgid ""
+"Produce will generate production order or tasks, according to the product "
+"type. Purchase will trigger purchase orders when requested."
+msgstr ""
+"Произвести - будет генерироваться заказ на производство или задача в "
+"зависимости от типа продукции. Закупить - будет инициировать заказ на "
+"закупку,"
 
 #. module: product
-#: model:product.category,name:product.product_category_services
-msgid "Services"
-msgstr "Услуги"
+#: selection:product.template,cost_method:0
+msgid "Average Price"
+msgstr "Средняя цена"
 
 #. module: product
-#: help:product.template,list_price:0
-msgid ""
-"Base price for computing the customer price. Sometimes called the catalog "
-"price."
-msgstr ""
-"Базовая цена для расчёта цены продажи. Иногда называется справочой ценой."
+#: help:product.pricelist.item,name:0
+msgid "Explicit rule name for this pricelist line."
+msgstr "Название явного правила для позиции каталога."
 
 #. module: product
-#: field:pricelist.partnerinfo,min_quantity:0
-msgid "Quantity"
-msgstr "Количество"
+#: model:ir.actions.act_window,name:product.product_uom_categ_form_action
+#: model:ir.ui.menu,name:product.menu_product_uom_categ_form_action
+msgid "Units of Measure Categories"
+msgstr "Категории единиц измерения"
 
 #. module: product
-#: model:product.template,name:product.product_product_cpu3_product_template
-msgid "Processor AMD Athlon XP 2200+"
-msgstr "Процессор AMD Athlon XP 2200+"
+#: model:product.template,name:product.product_product_cpu1_product_template
+msgid "Processor AMD Athlon XP 1800+"
+msgstr "Процессор AMD Athlon XP 1800+"
 
 #. module: product
-#: help:product.price.type,name:0
-msgid "Name of this kind of price."
-msgstr "Наименование типа цены"
+#: model:product.template,name:product.product_product_20_product_template
+msgid "HDD on demand"
+msgstr "HDD по требованию"
 
 #. module: product
-#: help:product.pricelist.version,date_start:0
-msgid "Starting date for this pricelist version to be valid."
-msgstr "Каталог действителен, начиная с даты"
+#: field:product.price_list,price_list:0
+msgid "PriceList"
+msgstr "Прайс-лист"
 
 #. module: product
-#: field:product.product,incoming_qty:0
-msgid "Incoming"
-msgstr "Входящие"
+#: field:product.supplierinfo,product_uom:0
+#: view:product.template:0
+msgid "UOM"
+msgstr "Ед. изм."
 
 #. module: product
-#: selection:product.template,procure_method:0
-msgid "Make to Stock"
-msgstr "Изготовление про запас"
+#: model:product.uom,name:product.product_uom_unit
+msgid "PCE"
+msgstr "шт."
 
 #. module: product
-#: view:product.product:0
 #: view:product.template:0
-msgid "Weigths"
-msgstr "Вес"
+msgid "Miscelleanous"
+msgstr "Разное"
 
 #. module: product
-#: model:product.template,name:product.product_product_fan2_product_template
-msgid "Silent fan"
-msgstr "Тихий вентилятор"
+#: model:product.template,name:product.product_product_worker0_product_template
+msgid "Worker"
+msgstr "Работник"
 
 #. module: product
-#: help:product.template,supply_method:0
+#: help:product.template,sale_ok:0
 msgid ""
-"Produce will generate production order or tasks, according to the product "
-"type. Purchase will trigger purchase orders when requested."
-msgstr ""
+"Determines if the product can be visible in the list of product within a "
+"selection from a sale order line."
+msgstr "Определяет видимость продукции при выборе позиции заказа на продажу."
 
 #. module: product
-#: model:process.transition,note:product.process_transition_supplierofproduct0
-msgid "You can see the list of suppliers for that product."
-msgstr "Вы можете просмотреть список поставщиков этого изделия"
+#: model:product.pricelist.version,name:product.ver0
+msgid "Default Public Pricelist Version"
+msgstr "Версия открытого каталога по умолчанию"
 
 #. module: product
-#: help:product.packaging,rows:0
-msgid "The number of layer on a palet or box"
-msgstr "Число слоёв на палете или в коробке"
+#: selection:product.template,cost_method:0
+msgid "Standard Price"
+msgstr "Стандартная цена"
 
 #. module: product
 #: model:product.pricelist.type,name:product.pricelist_type_sale
@@ -265,620 +252,601 @@ msgid "Sale Pricelist"
 msgstr "Каталог продаж"
 
 #. module: product
-#: field:product.pricelist.item,base_pricelist_id:0
-msgid "If Other Pricelist"
-msgstr "В другом каталоге"
+#: view:product.template:0
+#: field:product.template,type:0
+msgid "Product Type"
+msgstr "Тип ТМЦ"
 
 #. module: product
-#: model:ir.actions.act_window,name:product.product_normal_action
-#: model:ir.actions.act_window,name:product.product_normal_action_tree
-#: model:ir.ui.menu,name:product.menu_main_product
-#: model:ir.ui.menu,name:product.menu_products
-#: view:product.product:0
-msgid "Products"
-msgstr "ТМЦ"
+#: view:product.uom:0
+msgid "  e.g: 1 * (this unit) = ratio * (reference unit)"
+msgstr ""
 
 #. module: product
-#: help:product.pricelist.item,price_round:0
-msgid ""
-"Sets the price so that it is a multiple of this value.\n"
-"Rounding is applied after the discount and before the surcharge.\n"
-"To have prices that end in 9.99, set rounding 10, surcharge -0.01"
+#: code:addons/product/product.py:0
+#, python-format
+msgid "Products: "
+msgstr "ТМЦ: "
+
+#. module: product
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
 msgstr ""
-"Устанавливает цену кратной данному значению.\n"
-"Округление применяется после скидки, но  перед надбавкой.\n"
-"Так, чтобы цена заканчивалась на 9,99, установите округление 10, надбавку -"
-"0,01."
+"Ошибка. Единицы продажи и единицы измерения должны принадлежать к разным "
+"категориям."
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "New Price ="
-msgstr "Новая цена ="
+#: field:product.category,parent_id:0
+msgid "Parent Category"
+msgstr "Категория предка"
 
 #. module: product
-#: field:product.product,virtual_available:0
-msgid "Virtual Stock"
-msgstr "Виртуальные запасы"
+#: help:product.product,outgoing_qty:0
+msgid ""
+"Quantities of products that are planned to leave in selected locations or "
+"all internal if none have been selected."
+msgstr ""
+"Количества продукции, которые планируется отправить в указанные места, или "
+"вся внутренняя, если ничего не выбранно."
 
 #. module: product
-#: selection:product.template,mes_type:0
-msgid "Fixed"
-msgstr "Фиксированный"
+#: help:product.template,procure_method:0
+msgid ""
+"'Make to Stock': When needed, take from the stock or wait until re-"
+"supplying. 'Make to Order': When needed, purchase or produce for the "
+"procurement request."
+msgstr ""
+"'Изготовить на склад': при необходимости, взять со склада или ждать "
+"поставки. 'Изготовить на заказ': при необходимости, закупить или произвести "
+"по запросу на снабжение."
 
 #. module: product
-#: model:ir.actions.act_window,name:product.product_uom_categ_form_action
-#: model:ir.ui.menu,name:product.menu_product_uom_categ_form_action
-msgid "Units of Measure Categories"
-msgstr "Категории единиц измерения"
+#: model:process.node,note:product.process_node_supplier0
+msgid "Supplier name, price, product code, ..."
+msgstr "Название поставщика, каталог, код ТМЦ, ..."
 
 #. module: product
-#: help:product.pricelist.item,product_id:0
-msgid ""
-"Set a product if this rule only apply to one product. Keep empty for all "
-"products"
-msgstr ""
+#: model:product.template,name:product.product_product_hdd3_product_template
+msgid "HDD Seagate 7200.8 160GB"
+msgstr "Жёсткий диск Seagate 7200.8 160GB"
 
 #. module: product
-#: model:ir.model,name:product.model_product_pricelist_type
-#: field:product.pricelist,type:0
-#: view:product.pricelist.type:0
-msgid "Pricelist Type"
-msgstr "Тип каталога"
+#: field:product.product,ean13:0
+msgid "EAN13"
+msgstr "Штрих-код 13"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Base Prices"
-msgstr "Базовае цены"
+#: field:product.template,seller_id:0
+msgid "Main Supplier"
+msgstr "Основной поставщик"
 
 #. module: product
-#: model:ir.ui.menu,name:product.menu_price
-msgid "Prices Computations"
-msgstr "Вычисление цен"
+#: model:ir.actions.act_window,name:product.product_ul_form_action
+#: model:ir.model,name:product.model_product_packaging
+#: model:ir.ui.menu,name:product.menu_product_ul_form_action
+#: view:product.packaging:0
+#: view:product.product:0
+#: view:product.ul:0
+msgid "Packaging"
+msgstr "Упаковка"
 
 #. module: product
-#: field:product.pricelist.item,name:0
-msgid "Rule Name"
-msgstr "Название правила"
+#: view:product.product:0
+#: field:product.template,categ_id:0
+msgid "Category"
+msgstr "Категория"
 
 #. module: product
-#: model:ir.ui.menu,name:product.menu_config_product
-msgid "Configuration"
-msgstr "Настройки"
+#: help:product.pricelist.item,min_quantity:0
+msgid ""
+"The rule only applies if the partner buys/sells more than this quantity."
+msgstr ""
+"Правило применяется только в случае, если партнёр покупает или продает более "
+"этой величины."
 
 #. module: product
-#: field:product.packaging,rows:0
-msgid "Number of Layer"
-msgstr "Число слоёв"
+#: model:product.template,name:product.product_product_woodmm0_product_template
+msgid "Wood 2mm"
+msgstr ""
 
 #. module: product
-#: constraint:product.category:0
-msgid "Error ! You can not create recursive categories."
-msgstr "Ошибка ! Невозможно создать рекурсивную категорию."
+#: field:product.price_list,qty1:0
+msgid "Quantity-1"
+msgstr "Количество-1"
 
 #. module: product
-#: field:product.template,uom_id:0
-msgid "Default UoM"
-msgstr "Единица измерения по умолчанию"
+#: help:product.packaging,ul_qty:0
+msgid "The number of packages by layer"
+msgstr "Количество упаковок на слой"
 
 #. module: product
-#: field:product.template,produce_delay:0
-msgid "Manufacturing Lead Time"
-msgstr "Время производства"
+#: field:product.packaging,qty:0
+msgid "Quantity by Package"
+msgstr "Количество по пакету"
 
 #. module: product
-#: field:product.supplierinfo,pricelist_ids:0
-msgid "Supplier Pricelist"
-msgstr "Каталог поставщика"
+#: code:addons/product/pricelist.py:0
+#, python-format
+msgid ""
+"Could not resolve product category, ' \\n                                    "
+"'you have defined cyclic categories ' \\n                                    "
+"'of products!"
+msgstr ""
+"Не удается определить категорию ТМЦ, '\\n' вы зациклили категории ' \\n 'ТМЦ!"
 
 #. module: product
-#: view:product.packaging:0
 #: view:product.product:0
-msgid "Pallet Dimension"
-msgstr ""
+#: view:product.template:0
+#: field:product.template,state:0
+msgid "Status"
+msgstr "Статус"
 
 #. module: product
-#: field:product.pricelist.item,base:0
-msgid "Based on"
-msgstr "На основе"
+#: help:product.template,categ_id:0
+msgid "Select category for the current product"
+msgstr "Выберите категорию для ТМЦ"
 
 #. module: product
-#: model:product.template,name:product.product_product_24_product_template
-msgid "Keyboard"
-msgstr "Клавиатура"
+#: field:product.product,outgoing_qty:0
+msgid "Outgoing"
+msgstr "Исходящее"
 
 #. module: product
-#: field:product.supplierinfo,name:0
-msgid "Partner"
-msgstr "Партнер"
+#: selection:product.uom,uom_type:0
+msgid "Reference UoM for this category"
+msgstr "Ссылка на ед. езм. для этой категории"
 
 #. module: product
-#: field:product.template,sale_delay:0
-msgid "Customer Lead Time"
-msgstr ""
+#: model:product.price.type,name:product.list_price
+msgid "Public Price"
+msgstr "Открытый каталог"
 
 #. module: product
-#: model:product.template,name:product.product_product_25_product_template
-msgid "Mouse"
-msgstr "Мышь"
+#: field:product.price_list,qty5:0
+msgid "Quantity-5"
+msgstr "Количество-5"
 
 #. module: product
-#: help:product.template,cost_method:0
-msgid ""
-"Standard Price: the cost price is fixed and recomputed periodically (usually "
-"at the end of the year), Average Price: the cost price is recomputed at each "
-"reception of products."
-msgstr ""
+#: model:product.category,name:product.product_category_10
+msgid "IT components"
+msgstr "ИТ компоненты"
 
 #. module: product
-#: field:product.pricelist,name:0
-msgid "Pricelist Name"
-msgstr "Название прайс-листа"
+#: field:product.template,product_manager:0
+msgid "Product Manager"
+msgstr "Менеджер продукции"
 
 #. module: product
-#: field:product.template,seller_ids:0
-msgid "Partners"
-msgstr "Партнеры"
+#: field:product.supplierinfo,product_name:0
+msgid "Supplier Product Name"
+msgstr "Название ТМЦ поставщика"
 
 #. module: product
-#: selection:product.template,cost_method:0
-msgid "Average Price"
-msgstr "Средняя цена"
+#: model:product.template,name:product.product_product_pc3_product_template
+msgid "Medium PC"
+msgstr "Средний ПК"
 
 #. module: product
-#: model:process.node,note:product.process_node_product0
-msgid "Create new Product"
-msgstr "Создать ТМЦ"
+#: view:product.pricelist:0
+msgid "Products Price Search"
+msgstr "Искать цену ТМЦ"
 
 #. module: product
-#: help:product.pricelist.item,name:0
-msgid "Explicit rule name for this pricelist line."
-msgstr ""
+#: view:product.product:0
+#: view:product.template:0
+#: field:product.template,description_sale:0
+msgid "Sale Description"
+msgstr "Описание продужи"
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "Min. Margin"
-msgstr "Мин. маржа"
+#: view:product.product:0
+#: view:product.template:0
+msgid "Storage Localisation"
+msgstr "Место хранения"
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "* ( 1 + "
-msgstr "* ( 1 + "
+#: help:product.packaging,length:0
+msgid "The length of the package"
+msgstr "Длина пакета"
 
 #. module: product
-#: model:product.template,name:product.product_product_cpu1_product_template
-msgid "Processor AMD Athlon XP 1800+"
-msgstr "Процессор AMD Athlon XP 1800+"
+#: help:product.template,weight_net:0
+msgid "The net weight in Kg."
+msgstr "Вес нетто в килограммах."
 
 #. module: product
-#: selection:product.template,state:0
-msgid "In Production"
-msgstr "В производстве"
+#: help:product.template,state:0
+msgid "Tells the user if he can use the product or not."
+msgstr "Сообщите пользователю, может ли он пользоваться продукцией"
 
 #. module: product
-#: field:product.category,child_id:0
-msgid "Child Categories"
-msgstr "Подчиненные категории"
+#: field:pricelist.partnerinfo,min_quantity:0
+#: field:product.supplierinfo,qty:0
+msgid "Quantity"
+msgstr "Количество"
 
 #. module: product
-#: model:product.category,name:product.product_category_accessories
-msgid "Accessories"
-msgstr "Дополнительные"
+#: field:product.packaging,height:0
+msgid "Height"
+msgstr "Высота"
 
 #. module: product
-#: field:product.supplierinfo,sequence:0
-msgid "Priority"
-msgstr "Приоритет"
+#: help:product.pricelist.version,date_end:0
+msgid "Ending date for this pricelist version to be valid."
+msgstr "Конечная дата, до которой каталог действителен"
 
 #. module: product
-#: model:product.template,name:product.product_product_20_product_template
-msgid "HDD on demand"
+#: model:product.category,name:product.cat0
+msgid "All products"
+msgstr "Все ТМЦ"
+
+#. module: product
+#: model:ir.model,name:product.model_pricelist_partnerinfo
+msgid "pricelist.partnerinfo"
 msgstr ""
 
 #. module: product
-#: field:product.uom,factor_inv:0
-#: field:product.uom,factor_inv_data:0
-msgid "Factor"
-msgstr "Множитель"
+#: field:product.price_list,qty2:0
+msgid "Quantity-2"
+msgstr "Количество-2"
 
 #. module: product
-#: wizard_button:product.price_list,init,price:0
-msgid "Print"
-msgstr "Распечатать"
+#: field:product.price_list,qty3:0
+msgid "Quantity-3"
+msgstr "Количество-3"
 
 #. module: product
-#: model:process.node,name:product.process_node_supplier0
-msgid "Supplier Info"
-msgstr "Информация о поставщике"
+#: view:product.product:0
+msgid "Codes"
+msgstr "Коды"
 
 #. module: product
-#: field:product.ul,type:0
-msgid "Type"
-msgstr "Тип"
+#: field:product.price_list,qty4:0
+msgid "Quantity-4"
+msgstr "Количество-4"
 
 #. module: product
-#: wizard_field:product.price_list,init,price_list:0
-msgid "PriceList"
-msgstr "Прайс-лист"
+#: view:res.partner:0
+msgid "Sales & Purchases"
+msgstr "Продажи и закупки"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "UOM"
-msgstr "Ед. изм."
+#: model:product.uom.categ,name:product.uom_categ_wtime
+msgid "Working Time"
+msgstr "Время работы"
 
 #. module: product
-#: model:product.uom,name:product.product_uom_unit
-msgid "PCE"
-msgstr "шт."
+#: model:product.template,name:product.product_product_metalcleats0_product_template
+msgid "Metal Cleats"
+msgstr "Металлические зажимы"
 
 #. module: product
-#: model:ir.actions.act_window,name:product.product_pricelist_action2
-#: model:ir.ui.menu,name:product.menu_product_pricelist_action2
-#: model:ir.ui.menu,name:product.menu_product_pricelist_main
-msgid "Pricelists"
-msgstr "Каталоги"
+#: model:ir.model,name:product.model_product_uom_categ
+msgid "Product uom categ"
+msgstr "Категория ед. изм. продукции"
 
 #. module: product
-#: field:product.supplierinfo,product_name:0
-msgid "Partner Product Name"
-msgstr "Наименование изделия партнёра"
+#: model:product.ul,name:product.product_ul_box
+msgid "Box 20x20x40"
+msgstr "Ящик 20x20x40"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Miscelleanous"
-msgstr "Разное"
+#: view:product.pricelist.item:0
+msgid "Price Computation"
+msgstr "Расчет цены"
 
 #. module: product
-#: help:product.pricelist.item,base:0
-msgid "The mode for computing the price for this rule."
-msgstr ""
-
-#. module: product
-#: model:ir.actions.act_window,name:product.product_uom_form_action
-#: model:ir.ui.menu,name:product.menu_product_uom_form_action
-#: model:ir.ui.menu,name:product.next_id_16
-#: view:product.uom:0
-msgid "Units of Measure"
-msgstr "Единицы измерения"
-
-#. module: product
-#: field:product.product,partner_ref:0
-msgid "Customer ref"
-msgstr "Ссылка на клиента"
+#: field:product.template,purchase_ok:0
+msgid "Can be Purchased"
+msgstr "Можно закупать"
 
 #. module: product
-#: field:product.supplierinfo,qty:0
-msgid "Minimal Quantity"
-msgstr "Минимальное количество"
+#: model:product.template,name:product.product_product_cpu2_product_template
+msgid "High speed processor config"
+msgstr ""
 
 #. module: product
-#: model:product.category,name:product.product_category_pc
-msgid "PC"
-msgstr "ПК"
+#: model:process.transition,note:product.process_transition_supplierofproduct0
+msgid ""
+"1 or several supplier(s) can be linked to a product. All information stands "
+"in the product form."
+msgstr ""
+"Один или несколько поставщиков могут быть связаны с ТМЦ. Вся информация в "
+"форме ТМЦ."
 
 #. module: product
-#: help:product.template,seller_delay:0
+#: help:product.uom,category_id:0
 msgid ""
-"This is the average delay in days between the purchase order confirmation "
-"and the reception of goods for this product and for the default supplier. It "
-"is used by the scheduler to order requests based on reordering delays."
+"Quantity conversions may happen automatically between Units of Measure in "
+"the same category, according to their respective ratios."
 msgstr ""
+"Между единицами измерения одной категории, преобразования количеств могут "
+"происходить автоматически в соответствии с коэффициентами."
 
 #. module: product
-#: field:product.template,seller_delay:0
-msgid "Supplier Lead Time"
-msgstr "Время поставки"
+#: help:product.packaging,width:0
+msgid "The width of the package"
+msgstr "Ширина пакета"
 
 #. module: product
-#: model:product.pricelist.version,name:product.ver0
-msgid "Default Public Pricelist Version"
-msgstr ""
+#: field:product.product,virtual_available:0
+msgid "Virtual Stock"
+msgstr "Виртуальные запасы"
 
 #. module: product
-#: field:product.pricelist.type,key:0
-msgid "Key"
-msgstr "Ключ"
+#: selection:product.category,type:0
+msgid "View"
+msgstr "Вид"
 
 #. module: product
-#: field:product.pricelist.item,price_version_id:0
-msgid "Price List Version"
-msgstr "Версия каталога"
+#: model:ir.actions.act_window,name:product.product_template_action_tree
+msgid "Product Templates"
+msgstr "Шаблоны ТМЦ"
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "Rules Test Match"
-msgstr ""
+#: model:product.template,name:product.product_product_restaurantexpenses0_product_template
+msgid "Restaurant Expenses"
+msgstr "Расходы ресторана"
 
 #. module: product
-#: help:res.partner,property_product_pricelist:0
-msgid ""
-"This pricelist will be used, instead of the default one,                     "
-"for sales to the current partner"
-msgstr ""
-"При продаже данному партнеру будет использован не каталог по умолчанию, а "
-"этот каталог."
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "Ошибка: Неправильный штрих-код"
 
 #. module: product
-#: model:ir.model,name:product.model_product_pricelist
-#: view:product.supplierinfo:0
-msgid "Pricelist"
-msgstr "Каталог"
+#: field:product.pricelist.item,min_quantity:0
+msgid "Min. Quantity"
+msgstr "Мин. кол-во"
 
 #. module: product
-#: selection:product.template,type:0
-msgid "Consumable"
-msgstr "Расходные"
+#: model:ir.model,name:product.model_product_price_type
+msgid "Price Type"
+msgstr "Тип цены"
 
 #. module: product
-#: help:product.price.type,currency_id:0
-msgid "The currency the field is expressed in."
-msgstr "Валюта"
+#: view:product.pricelist.item:0
+msgid "Max. Margin"
+msgstr "Макс. маржа"
 
 #. module: product
-#: help:product.template,weight:0
-msgid "The gross weight in Kg."
-msgstr "Вес брутто в килограммах."
+#: view:product.pricelist.item:0
+msgid "Base Price"
+msgstr "Базовая цена"
 
 #. module: product
-#: selection:product.ul,type:0
-msgid "Box"
-msgstr "Коробка"
+#: model:product.template,name:product.product_product_fan2_product_template
+msgid "Silent fan"
+msgstr "Тихий вентилятор"
 
 #. module: product
-#: constraint:ir.ui.view:0
-msgid "Invalid XML for View Architecture!"
-msgstr "Неправильный XML для просмотра архитектуры!"
+#: help:product.supplierinfo,name:0
+msgid "Supplier of this product"
+msgstr "Поставщик этой продукции"
 
 #. module: product
-#: help:product.template,sale_ok:0
+#: help:product.pricelist.version,active:0
 msgid ""
-"Determine if the product can be visible in the list of product within a "
-"selection from a sale order line."
+"When a version is duplicated it is set to non active, so that the dates do "
+"not overlaps with original version. You should change the dates and "
+"reactivate the pricelist"
 msgstr ""
-"Указывается, если продукция должна быть видна в списке продукции на продажу."
 
 #. module: product
-#: constraint:product.template:0
-msgid "Error: UOS must be in a different category than the UOM"
+#: model:product.template,name:product.product_product_kitshelfofcm0_product_template
+msgid "KIT Shelf of 100cm"
 msgstr ""
-"Ошибка. Единицы продажи и единицы измерения должны принадлежать к разным "
-"категориям."
 
 #. module: product
-#: field:product.category,parent_id:0
-msgid "Parent Category"
-msgstr "Категория предка"
+#: field:product.supplierinfo,name:0
+msgid "Supplier"
+msgstr "Поставщик"
 
 #. module: product
-#: selection:product.template,state:0
-msgid "In Development"
-msgstr "В разработке"
+#: model:product.template,name:product.product_product_sidepanel0_product_template
+msgid "Side Panel"
+msgstr "Боковая панель"
 
 #. module: product
-#: help:product.pricelist.type,key:0
-msgid ""
-"Used in the code to select specific prices based on the context. Keep "
-"unchanged."
-msgstr ""
+#: model:product.template,name:product.product_product_26_product_template
+msgid "Kit Keyboard + Mouse"
+msgstr "Комплект мыши и клавиатуры"
 
 #. module: product
-#: help:product.product,outgoing_qty:0
+#: field:product.price.type,name:0
+msgid "Price Name"
+msgstr "Название цены"
+
+#. module: product
+#: help:product.pricelist,active:0
 msgid ""
-"Quantities of products that are planned to leave in selected locations or "
-"all internal if none have been selected."
+"If the active field is set to true, it will allow you to hide the pricelist "
+"without removing it."
 msgstr ""
-"Количества продукции, которые планируется отправить в указанные места, или "
-"вся внутренняя, если ничего не выбранно."
+"если поле \"Активно\" установлено в \"истина\", то это позволит вам скрыть "
+"каталог без его удаления."
 
 #. module: product
-#: field:product.packaging,weight:0
-msgid "Total Package Weight"
-msgstr "Итоговый вес пакета"
+#: model:product.template,name:product.product_product_cpu3_product_template
+msgid "Processor AMD Athlon XP 2200+"
+msgstr "Процессор AMD Athlon XP 2200+"
 
 #. module: product
-#: help:product.template,procure_method:0
-msgid ""
-"'Make to Stock': When needed, take from the stock or wait until re-"
-"supplying. 'Make to Order': When needed, purchase or produce for the "
-"procurement request."
-msgstr ""
+#: model:ir.actions.act_window,name:product.action_product_price_list
+#: model:ir.model,name:product.model_product_price_list
+#: view:product.price_list:0
+#: report:product.pricelist:0
+#: field:product.pricelist.version,pricelist_id:0
+msgid "Price List"
+msgstr "Каталог"
 
 #. module: product
 #: view:product.product:0
 #: view:product.template:0
-msgid "Procurement"
-msgstr "Снабжение"
+msgid "Suppliers"
+msgstr "Поставщики"
 
 #. module: product
-#: model:ir.actions.act_window,name:product.product_category_action
-#: model:ir.ui.menu,name:product.menu_product_category_action
-msgid "Products by Category"
-msgstr "ТМЦ по категориям"
+#: view:product.product:0
+msgid "To Purchase"
+msgstr "Для закупки"
 
 #. module: product
-#: model:product.template,name:product.product_product_hdd1_product_template
-msgid "HDD Seagate 7200.8 80GB"
-msgstr "Жёсткий диск Seagate 7200.8 80GB"
+#: view:product.pricelist.item:0
+msgid "New Price ="
+msgstr "Новая цена ="
 
 #. module: product
-#: help:product.pricelist.version,active:0
-msgid ""
-"When a version is duplicated it is set to non active, so that the dates do "
-"not overlaps with original version. You should change the dates and "
-"reactivate the pricelist"
+#: help:product.pricelist.item,sequence:0
+msgid "Gives the sequence order when displaying a list of pricelist items."
 msgstr ""
+"Дает порядок последовательности при выводе элементов списка каталога."
 
 #. module: product
-#: model:product.template,name:product.product_product_hdd3_product_template
-msgid "HDD Seagate 7200.8 160GB"
-msgstr "Жёсткий диск Seagate 7200.8 160GB"
+#: model:product.category,name:product.product_category_accessories
+msgid "Accessories"
+msgstr "Дополнительные"
 
 #. module: product
-#: view:product.product:0
-msgid "Product Variant"
-msgstr "Вариант ТМЦ"
+#: field:product.template,sale_delay:0
+msgid "Customer Lead Time"
+msgstr ""
 
 #. module: product
-#: field:product.packaging,ul:0
-msgid "Type of Package"
-msgstr "Тип упаковки"
+#: model:process.transition,name:product.process_transition_supplierofproduct0
+msgid "Supplier of the product"
+msgstr "Поставщик ТМЦ"
 
 #. module: product
-#: field:product.template,loc_rack:0
-msgid "Rack"
-msgstr "Стеллаж"
+#: help:product.template,uos_id:0
+msgid ""
+"Used by companies that manage two units of measure: invoicing and inventory "
+"management. For example, in food industries, you will manage a stock of ham "
+"but invoice in Kg. Keep empty to use the default UOM."
+msgstr ""
+"Используется компаниями которые оперируют двумя единицами измерения: для "
+"счетов и для управления запасами. Например, в пищевой индустрии. Оставьте "
+"пустым для использования ед. изм. по умолчанию."
 
 #. module: product
-#: field:product.uom,category_id:0
-msgid "UoM Category"
-msgstr "Категория единиц измерения"
+#: view:product.pricelist.item:0
+msgid "Min. Margin"
+msgstr "Мин. маржа"
 
 #. module: product
-#: selection:product.ul,type:0
-msgid "Pack"
-msgstr "Упаковка"
+#: field:product.category,child_id:0
+msgid "Child Categories"
+msgstr "Подчиненные категории"
 
 #. module: product
-#: field:product.product,ean13:0
-msgid "EAN13"
-msgstr "Штрих-код 13"
+#: field:product.pricelist.version,date_end:0
+msgid "End Date"
+msgstr "Дата окончания"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-#: field:product.template,description_sale:0
-msgid "Sale Description"
-msgstr "Описание продужи"
+#: view:product.price_list:0
+msgid "Print"
+msgstr "Распечатать"
 
 #. module: product
-#: field:product.template,uos_id:0
-msgid "Unit of Sale"
-msgstr "Единица продажи"
+#: view:product.product:0
+#: field:product.ul,type:0
+msgid "Type"
+msgstr "Тип"
 
 #. module: product
-#: field:product.template,mes_type:0
-msgid "Measure Type"
-msgstr "Тип измерения"
+#: model:ir.actions.act_window,name:product.product_pricelist_action2
+#: model:ir.ui.menu,name:product.menu_product_pricelist_action2
+#: model:ir.ui.menu,name:product.menu_product_pricelist_main
+msgid "Pricelists"
+msgstr "Каталоги"
 
 #. module: product
-#: model:product.uom.categ,name:product.product_uom_categ_kgm
-msgid "Weight"
-msgstr "Вес"
+#: field:product.product,partner_ref:0
+msgid "Customer ref"
+msgstr "Ссылка на клиента"
 
 #. module: product
-#: model:product.template,name:product.product_product_22_product_template
-msgid "Processor on demand"
-msgstr ""
+#: view:product.product:0
+msgid "Miscellaneous"
+msgstr "Прочее"
 
 #. module: product
-#: help:product.supplierinfo,product_name:0
-msgid ""
-"Name of the product for this partner, will be used when printing a request "
-"for quotation. Keep empty to use the internal one."
-msgstr ""
+#: field:product.pricelist.type,key:0
+msgid "Key"
+msgstr "Ключ"
 
 #. module: product
-#: field:product.template,supply_method:0
-msgid "Supply method"
-msgstr "Метод поставки"
+#: view:product.pricelist.item:0
+msgid "Rules Test Match"
+msgstr "Проверка правил"
 
 #. module: product
-#: model:product.category,name:product.product_category_11
-msgid "IT components kits"
+#: help:product.pricelist.item,product_id:0
+msgid ""
+"Set a product if this rule only apply to one product. Keep empty for all "
+"products"
 msgstr ""
+"Выберите ТМЦ, если это правило применимо к одному товару. Оставьте пустым "
+"для всех ТМЦ"
 
 #. module: product
-#: view:product.uom.categ:0
-msgid "Units of Measure categories"
-msgstr "Категории единиц измерения"
-
-#. module: product
-#: field:product.category,sequence:0
-#: field:product.packaging,sequence:0
-#: field:product.pricelist.item,sequence:0
-msgid "Sequence"
-msgstr "Последовательность"
-
-#. module: product
-#: view:product.supplierinfo:0
-msgid "Supplier Information"
-msgstr "Информация поставщика"
-
-#. module: product
-#: model:ir.actions.act_window,name:product.product_ul_form_action
-#: model:ir.model,name:product.model_product_packaging
-#: model:ir.ui.menu,name:product.menu_product_ul_form_action
-#: view:product.packaging:0
-#: view:product.product:0
-#: view:product.ul:0
-msgid "Packaging"
-msgstr "Упаковка"
+#: model:product.template,name:product.product_product_kitchendesignproject0_product_template
+msgid "Kitchen Design Project"
+msgstr "Проект дизайна кухни"
 
 #. module: product
-#: field:product.price.type,currency_id:0
-#: field:product.pricelist,currency_id:0
-msgid "Currency"
-msgstr "Валюта"
-
-#. module: product
-#: model:product.template,name:product.product_product_cpu_gen_product_template
-msgid "Regular processor config"
-msgstr "Типовая конфигурация процессора"
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Неправильный XML для просмотра архитектуры!"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Descriptions"
-msgstr "Описания"
+#: model:product.uom,name:product.uom_hour
+msgid "Hour"
+msgstr "Час"
 
 #. module: product
-#: model:process.transition,name:product.process_transition_supplierofproduct0
-msgid "Suppliers of Product"
-msgstr "Поставщики изделия"
+#: selection:product.template,state:0
+msgid "In Development"
+msgstr "В разработке"
 
 #. module: product
-#: field:product.pricelist.version,date_start:0
-msgid "Start Date"
-msgstr "Дата начала"
+#: model:product.template,name:product.product_product_shelfofcm1_product_template
+msgid "Shelf of 200cm"
+msgstr "Полка 200см"
 
 #. module: product
-#: view:res.partner:0
-msgid "Sales Properties"
-msgstr "Свойства продажи"
+#: view:product.uom:0
+msgid "Ratio & Precision"
+msgstr "Коэффициент & Точность"
 
 #. module: product
-#: help:product.product,qty_available:0
-msgid ""
-"Current quantities of products in selected locations or all internal if none "
-"have been selected."
-msgstr ""
-"Текуще количество продукции в выбранных складах или общее количество, если "
-"ничего не выбрано."
+#: model:product.uom,name:product.product_uom_gram
+msgid "g"
+msgstr "г"
 
 #. module: product
-#: model:product.template,name:product.product_product_pc1_product_template
-msgid "Basic PC"
-msgstr "Базовый ПК"
+#: model:product.category,name:product.product_category_11
+msgid "IT components kits"
+msgstr "ИТ набор компонентов"
 
 #. module: product
-#: field:product.template,loc_row:0
-msgid "Row"
-msgstr "Строка"
+#: selection:product.category,type:0
+#: selection:product.template,state:0
+msgid "Normal"
+msgstr "Обычный"
 
 #. module: product
-#: field:product.template,categ_id:0
-msgid "Category"
-msgstr "Категория"
+#: model:process.node,name:product.process_node_supplier0
+#: view:product.supplierinfo:0
+msgid "Supplier Information"
+msgstr "Информация поставщика"
 
 #. module: product
-#: help:product.pricelist.item,min_quantity:0
-msgid ""
-"The rule only applies if the partner buys/sells more than this quantity."
-msgstr ""
-"Правило применяется только в случае, если партнёр покупает или продает более "
-"этой величины."
+#: field:product.price.type,currency_id:0
+#: report:product.pricelist:0
+#: field:product.pricelist,currency_id:0
+msgid "Currency"
+msgstr "Валюта"
 
 #. module: product
 #: model:product.template,name:product.product_product_ram_product_template
@@ -886,263 +854,939 @@ msgid "DDR 256MB PC400"
 msgstr "DDR 256MB PC400"
 
 #. module: product
-#: field:product.product,qty_available:0
-msgid "Real Stock"
-msgstr "Доступные запасы"
-
-#. module: product
 #: view:product.category:0
 msgid "Product Categories"
 msgstr "Категории ТМЦ"
 
 #. module: product
-#: help:product.uom,category_id:0
-msgid ""
-"Unit of Measure of a category can be converted between each others in the "
-"same category."
+#: view:product.uom:0
+msgid "  e.g: 1 * (reference unit) = ratio * (this unit)"
 msgstr ""
-"Единицы измерения могут быть приведены друг к другу в пределах одной "
-"категории."
 
 #. module: product
-#: model:ir.model,name:product.model_product_uom
-msgid "Product Unit of Measure"
-msgstr "Ед. изм. продукции"
+#: view:product.product:0
+#: view:product.template:0
+msgid "Procurement & Locations"
+msgstr "Снабжение и местоположения"
 
 #. module: product
-#: field:product.template,sale_ok:0
-msgid "Can be sold"
-msgstr "Можно продавать"
+#: field:product.packaging,weight:0
+msgid "Total Package Weight"
+msgstr "Итоговый вес пакета"
 
 #. module: product
-#: model:product.template,name:product.product_product_23_product_template
-msgid "Complete PC With Peripherals"
-msgstr "Комплектовать ПК периферией"
+#: help:product.packaging,code:0
+msgid "The code of the transport unit."
+msgstr "Код транспортной единицы."
 
 #. module: product
-#: constraint:product.template:0
+#: help:product.template,standard_price:0
 msgid ""
-"Error: The default UOM and the purchase UOM must be in the same category."
-msgstr ""
+"Product's cost for accounting stock valuation. It is the base price for the "
+"supplier price."
+msgstr "Учетная стоимость ТМЦ. Это базовая цена для цены поставщика."
 
 #. module: product
-#: model:product.template,name:product.product_product_mb2_product_template
-msgid "Mainboard ASUStek A7V8X-X"
-msgstr "Материнская плата ASUStek A7V8X-X"
+#: view:product.price.type:0
+msgid "Products Price Type"
+msgstr "Тип цены продукции"
 
 #. module: product
-#: field:product.uom,factor:0
-msgid "Rate"
-msgstr "Курс"
+#: field:product.product,price_extra:0
+msgid "Variant Price Extra"
+msgstr ""
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "Products Listprices Items"
-msgstr "Элкменты каталога продукции"
+#: model:product.template,name:product.product_product_fan_product_template
+msgid "Regular case fan 80mm"
+msgstr "Обычный корпусной вентилятор 80мм"
 
 #. module: product
-#: field:product.uom,rounding:0
-msgid "Rounding Precision"
-msgstr "Точность округления"
+#: model:ir.model,name:product.model_product_supplierinfo
+msgid "Information about a product supplier"
+msgstr "Информация о поставщике продукции"
 
 #. module: product
-#: help:product.packaging,width:0
-msgid "The width of the package"
-msgstr "Ширина пакета"
+#: view:product.product:0
+msgid "Extended Filters..."
+msgstr "Расширенные фильтры..."
 
 #. module: product
-#: field:product.packaging,qty:0
-msgid "Quantity by Package"
-msgstr "Количество по пакету"
+#: view:product.product:0
+#: view:product.template:0
+#: field:product.template,description_purchase:0
+msgid "Purchase Description"
+msgstr "Описание закупки"
 
 #. module: product
-#: help:product.template,uos_id:0
+#: constraint:product.pricelist.version:0
+msgid "You cannot have 2 pricelist versions that overlap!"
+msgstr "Нельзя иметь 2 перекрывающиеся версии каталога!"
+
+#. module: product
+#: help:product.supplierinfo,delay:0
 msgid ""
-"Used by companies that manages two unit of measure: invoicing and inventory "
-"management. For example, in food industries, you will manage a stock of ham "
-"but invoice in Kg. Keep empty to use the default UOM."
+"Lead time in days between the confirmation of the purchase order and the "
+"reception of the products in your warehouse. Used by the scheduler for "
+"automatic computation of the purchase order planning."
 msgstr ""
+"Запас по времени между подтверждением заказа на закупку и приходом ТМЦ на "
+"склад. Используется планировщиком для автоматического планирования заказа на "
+"закупку."
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Procurement & Locations"
-msgstr "Снабжение и местоположения"
+#: selection:product.template,type:0
+msgid "Stockable Product"
+msgstr "Складируемая продукция"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-#: field:product.template,state:0
-msgid "Status"
-msgstr "Статус"
+#: field:product.packaging,code:0
+msgid "Code"
+msgstr "Код"
 
 #. module: product
-#: field:product.product,outgoing_qty:0
-msgid "Outgoing"
-msgstr "Исходящее"
+#: view:product.supplierinfo:0
+msgid "Seq"
+msgstr "Последовательность"
 
 #. module: product
-#: selection:product.template,supply_method:0
-msgid "Buy"
-msgstr "Покупка"
+#: view:product.price_list:0
+msgid "Calculate Product Price per unit base on pricelist version."
+msgstr "Вычислить цену  за единицу продукции основанную на версии каталога."
 
 #. module: product
-#: model:ir.model,name:product.model_product_pricelist_version
-#: view:product.pricelist:0
-#: view:product.pricelist.version:0
-msgid "Pricelist Version"
-msgstr "Версия каталога"
+#: model:ir.model,name:product.model_product_ul
+msgid "Shipping Unit"
+msgstr "Единица поставки"
 
 #. module: product
-#: field:product.pricelist.item,price_round:0
-msgid "Price Rounding"
-msgstr "Округление цены"
+#: field:pricelist.partnerinfo,suppinfo_id:0
+msgid "Partner Information"
+msgstr "Информация партнера"
 
 #. module: product
-#: model:product.price.type,name:product.list_price
-msgid "Public Price"
+#: model:ir.model,name:product.model_res_users
+msgid "res.users"
 msgstr ""
 
 #. module: product
-#: field:product.pricelist.item,price_max_margin:0
-msgid "Max. Price Margin"
-msgstr "Максимальная маржа цены"
+#: selection:product.ul,type:0
+#: model:product.uom.categ,name:product.product_uom_categ_unit
+msgid "Unit"
+msgstr "Ед."
 
 #. module: product
-#: view:res.partner:0
-msgid "Sales & Purchases"
-msgstr "Продажи и закупки"
+#: view:product.product:0
+#: view:product.template:0
+msgid "Information"
+msgstr "Информация"
 
 #. module: product
-#: model:product.category,name:product.product_category_10
-msgid "IT components"
-msgstr ""
+#: view:product.pricelist.item:0
+msgid "Products Listprices Items"
+msgstr "Элкменты каталога продукции"
 
 #. module: product
-#: help:product.packaging,weight_ul:0
-msgid "The weight of the empty UL"
-msgstr ""
+#: view:product.packaging:0
+msgid "Other Info"
+msgstr "Прочая информация"
 
 #. module: product
-#: help:product.packaging,code:0
-msgid "The code of the transport unit."
-msgstr "Код транспортной единицы."
+#: field:product.pricelist.version,items_id:0
+msgid "Price List Items"
+msgstr "Элементы каталога"
 
 #. module: product
-#: field:product.template,uom_po_id:0
-msgid "Purchase UoM"
-msgstr ""
+#: selection:product.uom,uom_type:0
+msgid "Bigger than the reference UoM"
+msgstr "Больший чем ед. изм. ссылки"
 
 #. module: product
-#: view:product.price.type:0
-msgid "Products Price Type"
-msgstr "Тип цены продукции"
+#: model:ir.module.module,shortdesc:product.module_meta_information
+msgid "Products & Pricelists"
+msgstr "ТМЦ и каталоги"
 
 #. module: product
-#: field:product.template,product_manager:0
-msgid "Product Manager"
-msgstr "Менеджер продукции"
+#: view:product.product:0
+msgid "To Sell"
+msgstr "На продажу"
 
 #. module: product
-#: field:product.product,price_extra:0
-msgid "Variant Price Extra"
-msgstr ""
+#: model:product.category,name:product.product_category_services0
+msgid "Marketable Services"
+msgstr "Платные услуги"
 
 #. module: product
-#: model:product.template,name:product.product_product_fan_product_template
-msgid "Regular case fan 80mm"
-msgstr ""
+#: field:product.pricelist.item,price_surcharge:0
+msgid "Price Surcharge"
+msgstr "Надбавка к цене"
 
 #. module: product
-#: model:ir.model,name:product.model_product_supplierinfo
-msgid "Information about a product supplier"
-msgstr "Информация о поставщике продукции"
+#: model:product.template,name:product.product_product_mb1_product_template
+msgid "Mainboard ASUStek A7N8X"
+msgstr "Материнская плата ASUStek A7N8X"
 
 #. module: product
-#: field:product.price.type,active:0
-#: field:product.pricelist,active:0
-#: field:product.pricelist.version,active:0
-#: field:product.product,active:0
-#: field:product.uom,active:0
-msgid "Active"
-msgstr "Активен"
+#: field:product.product,packaging:0
+msgid "Logistical Units"
+msgstr "Логистические единицы"
 
 #. module: product
-#: field:product.product,price_margin:0
-msgid "Variant Price Margin"
-msgstr "Маржа цены варианта"
+#: field:product.category,complete_name:0
+#: field:product.category,name:0
+#: field:product.pricelist.type,name:0
+#: field:product.pricelist.version,name:0
+#: view:product.product:0
+#: field:product.template,name:0
+#: field:product.ul,name:0
+#: field:product.uom,name:0
+#: field:product.uom.categ,name:0
+msgid "Name"
+msgstr "Название"
 
 #. module: product
-#: wizard_view:product.price_list,init:0
-msgid "Price list"
-msgstr "Прайс"
+#: code:addons/product/pricelist.py:0
+#, python-format
+msgid ""
+"No active version for the selected pricelist !\n"
+"' \\n                                'Please create or activate one."
+msgstr ""
+"Нет активной версии для выбранного каталога!\n"
+"' \\n 'Пожалуйста, создайте или активируйте каталог."
 
 #. module: product
-#: model:product.template,name:product.product_product_pc3_product_template
-msgid "Medium PC"
-msgstr "Средний ПК"
+#: view:product.product:0
+msgid "Stockable"
+msgstr "Хранимое"
 
 #. module: product
-#: model:ir.model,name:product.model_pricelist_partnerinfo
-msgid "pricelist.partnerinfo"
+#: model:product.uom,name:product.product_uom_kgm
+msgid "kg"
+msgstr "кг"
+
+#. module: product
+#: constraint:ir.rule:0
+msgid "Rules are not supported for osv_memory objects !"
+msgstr "Для объектов osv_memory правила не поддерживаются !"
+
+#. module: product
+#: model:product.uom,name:product.product_uom_meter
+msgid "m"
+msgstr "м"
+
+#. module: product
+#: selection:product.template,state:0
+msgid "Obsolete"
+msgstr "Устаревший"
+
+#. module: product
+#: model:product.uom,name:product.product_uom_km
+msgid "km"
+msgstr "км"
+
+#. module: product
+#: help:product.template,cost_method:0
+msgid ""
+"Standard Price: the cost price is fixed and recomputed periodically (usually "
+"at the end of the year), Average Price: the cost price is recomputed at each "
+"reception of products."
 msgstr ""
+"Стандартная цена: стоимость фиксирована и пересчитывается периодически "
+"(обычно в конце года). Средняя цена: стоимость пересчитывается при каждом "
+"приходе продукции."
 
 #. module: product
-#: model:product.price.type,name:product.standard_price
-#: field:product.template,standard_price:0
-msgid "Cost Price"
-msgstr "Себестоимость"
+#: help:product.category,sequence:0
+msgid ""
+"Gives the sequence order when displaying a list of product categories."
+msgstr "Дает порядок последовательности при выводе списка категорий ТМЦ."
+
+#. module: product
+#: field:product.uom,factor:0
+#: field:product.uom,factor_inv:0
+msgid "Ratio"
+msgstr "Коэффициент"
+
+#. module: product
+#: help:product.template,purchase_ok:0
+msgid ""
+"Determine if the product is visible in the list of products within a "
+"selection from a purchase order line."
+msgstr ""
+"Должно ли изделие быть видимым при выборе из списка изделий в форме заказа"
+
+#. module: product
+#: field:product.template,weight_net:0
+msgid "Net weight"
+msgstr "Вес нетто"
+
+#. module: product
+#: field:product.packaging,width:0
+msgid "Width"
+msgstr "Ширина"
+
+#. module: product
+#: help:product.price.type,field:0
+msgid "Associated field in the product form."
+msgstr "Связанные поля в форме изделия"
 
 #. module: product
 #: view:product.product:0
-#: view:product.template:0
-#: field:product.template,description_purchase:0
-msgid "Purchase Description"
-msgstr "Описание закупки"
+msgid "Unit of Measure"
+msgstr "Ед. изм."
+
+#. module: product
+#: field:product.template,procure_method:0
+msgid "Procurement Method"
+msgstr "Метод снабжения"
+
+#. module: product
+#: report:product.pricelist:0
+msgid "Printing Date"
+msgstr "Дата печати"
+
+#. module: product
+#: field:product.template,uos_id:0
+msgid "Unit of Sale"
+msgstr "Единица продажи"
+
+#. module: product
+#: help:product.template,seller_delay:0
+msgid ""
+"This is the average delay in days between the purchase order confirmation "
+"and the reception of goods for this product and for the default supplier. It "
+"is used by the scheduler to order requests based on reordering delays."
+msgstr ""
+"Это средняя задержка в днях между подтверждением заказа на закупку и "
+"получением для этой продукции и для поставщика по умолчанию. Используется "
+"планировщиком для подачи запросов основанных на задержках при повторной "
+"подаче заказов."
+
+#. module: product
+#: help:product.template,seller_id:0
+msgid "Main Supplier who has highest priority in Supplier List."
+msgstr "Основной поставщик - имеет высший приоритет в списке поставщиков."
+
+#. module: product
+#: model:product.category,name:product.product_category_services
+#: view:product.product:0
+msgid "Services"
+msgstr "Услуги"
+
+#. module: product
+#: field:product.pricelist.item,base_pricelist_id:0
+msgid "If Other Pricelist"
+msgstr "В другом каталоге"
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_normal_action
+#: model:ir.actions.act_window,name:product.product_normal_action_puchased
+#: model:ir.actions.act_window,name:product.product_normal_action_tree
+#: model:ir.ui.menu,name:product.menu_products
+#: view:product.product:0
+msgid "Products"
+msgstr "ТМЦ"
+
+#. module: product
+#: help:product.packaging,rows:0
+msgid "The number of layers on a pallet or box"
+msgstr "Количество слоев на поддоне или в коробке"
+
+#. module: product
+#: help:product.pricelist.item,base:0
+msgid "The mode for computing the price for this rule."
+msgstr "Режим для вычисления цены для этого правила."
+
+#. module: product
+#: view:product.packaging:0
+#: view:product.product:0
+msgid "Pallet Dimension"
+msgstr "Размер поддона"
+
+#. module: product
+#: code:addons/product/product.py:0
+#, python-format
+msgid " (copy)"
+msgstr " (копия)"
+
+#. module: product
+#: field:product.template,seller_ids:0
+msgid "Partners"
+msgstr "Партнеры"
+
+#. module: product
+#: help:product.template,sale_delay:0
+msgid ""
+"This is the average delay in days between the confirmation of the customer "
+"order and the delivery of the finished products. It's the time you promise "
+"to your customers."
+msgstr ""
+"Это средняя задержка в днях между подтверждением заказа и доставкой готовой "
+"продукции. Это срок, который вы обещаете вашему партнеру."
 
 #. module: product
 #: view:product.product:0
 #: view:product.template:0
 msgid "Second UoM"
+msgstr "Вторая ед. езм."
+
+#. module: product
+#: model:product.template,name:product.product_product_woodlintelm0_product_template
+msgid "Wood Lintel 4m"
 msgstr ""
 
 #. module: product
-#: model:product.category,name:product.product_category_4
-msgid "Dello Computer"
+#: model:ir.actions.act_window,name:product.product_uom_form_action
+#: model:ir.ui.menu,name:product.menu_product_uom_form_action
+#: model:ir.ui.menu,name:product.next_id_16
+#: view:product.uom:0
+msgid "Units of Measure"
+msgstr "Единицы измерения"
+
+#. module: product
+#: field:product.supplierinfo,min_qty:0
+msgid "Minimal Quantity"
+msgstr "Минимальное количество"
+
+#. module: product
+#: model:product.category,name:product.product_category_pc
+msgid "PC"
+msgstr "ПК"
+
+#. module: product
+#: help:product.supplierinfo,product_code:0
+msgid ""
+"This supplier's product code will be used when printing a request for "
+"quotation. Keep empty to use the internal one."
 msgstr ""
+"Этот код продукции поставщика будет использован при печати запроса цен. "
+"Оставьте пустым для использования внутреннего кода."
+
+#. module: product
+#: selection:product.template,procure_method:0
+msgid "Make to Stock"
+msgstr "Изготовление про запас"
+
+#. module: product
+#: field:product.pricelist.item,price_version_id:0
+msgid "Price List Version"
+msgstr "Версия каталога"
+
+#. module: product
+#: selection:product.template,type:0
+msgid "Consumable"
+msgstr "Расходные"
+
+#. module: product
+#: help:product.price.type,currency_id:0
+msgid "The currency the field is expressed in."
+msgstr "Валюта"
+
+#. module: product
+#: help:product.template,weight:0
+msgid "The gross weight in Kg."
+msgstr "Вес брутто в килограммах."
 
 #. module: product
 #: view:product.product:0
 #: view:product.template:0
-msgid "Storage Localisation"
+msgid "Procurement"
+msgstr "Снабжение"
+
+#. module: product
+#: field:product.uom,category_id:0
+msgid "UoM Category"
+msgstr "Категория единиц измерения"
+
+#. module: product
+#: field:product.template,loc_rack:0
+msgid "Rack"
+msgstr "Стеллаж"
+
+#. module: product
+#: field:product.template,uom_po_id:0
+msgid "Purchase Unit of Measure"
+msgstr "Единицы измерения при закупке"
+
+#. module: product
+#: field:product.template,supply_method:0
+msgid "Supply method"
+msgstr "Метод поставки"
+
+#. module: product
+#: view:product.product:0
+msgid "Group by..."
+msgstr "Объединять по..."
+
+#. module: product
+#: model:product.template,name:product.product_product_cpu_gen_product_template
+msgid "Regular processor config"
+msgstr "Типовая конфигурация процессора"
+
+#. module: product
+#: field:product.pricelist.version,date_start:0
+msgid "Start Date"
+msgstr "Дата начала"
+
+#. module: product
+#: help:product.template,produce_delay:0
+msgid ""
+"Average delay in days to produce this product. This is only for the "
+"production order and, if it is a multi-level bill of material, it's only for "
+"the level of this product. Different lead times will be summed for all "
+"levels and purchase orders."
 msgstr ""
 
 #. module: product
-#: help:product.packaging,length:0
-msgid "The length of the package"
-msgstr "Длина пакета"
+#: help:product.product,qty_available:0
+msgid ""
+"Current quantities of products in selected locations or all internal if none "
+"have been selected."
+msgstr ""
+"Текуще количество продукции в выбранных складах или общее количество, если "
+"ничего не выбрано."
 
 #. module: product
-#: field:product.pricelist.item,price_min_margin:0
-msgid "Min. Price Margin"
-msgstr "Минимальная маржа цены"
+#: model:product.template,name:product.product_product_pc1_product_template
+msgid "Basic PC"
+msgstr "Базовый ПК"
 
 #. module: product
-#: help:product.packaging,ean:0
-msgid "The EAN code of the package unit."
-msgstr "Штрих-код EAN упаковки"
+#: field:product.product,qty_available:0
+msgid "Real Stock"
+msgstr "Доступные запасы"
+
+#. module: product
+#: model:product.uom,name:product.product_uom_cm
+msgid "cm"
+msgstr "см"
+
+#. module: product
+#: model:ir.model,name:product.model_product_uom
+msgid "Product Unit of Measure"
+msgstr "Ед. изм. продукции"
+
+#. module: product
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+"Ошибка. ед. изм. по умолчанию и закупочные ед. изм. должны иметь одинаковую "
+"категорию."
+
+#. module: product
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Ошибка ! Нельзя создать зацикленные меню."
+
+#. module: product
+#: view:product.uom:0
+msgid "Unit of Measure Properties"
+msgstr "Свойства единиц измерения"
+
+#. module: product
+#: model:product.template,name:product.product_product_shelf1_product_template
+msgid "Rack 200cm"
+msgstr "Стойка 200 см"
+
+#. module: product
+#: selection:product.template,supply_method:0
+msgid "Buy"
+msgstr "Покупка"
+
+#. module: product
+#: view:product.uom.categ:0
+msgid "Units of Measure categories"
+msgstr "Категории единиц измерения"
+
+#. module: product
+#: help:product.packaging,weight_ul:0
+msgid "The weight of the empty UL"
+msgstr ""
+
+#. module: product
+#: selection:product.uom,uom_type:0
+msgid "Smaller than the reference UoM"
+msgstr ""
+
+#. module: product
+#: field:product.price.type,active:0
+#: field:product.pricelist,active:0
+#: field:product.pricelist.version,active:0
+#: field:product.product,active:0
+#: field:product.uom,active:0
+msgid "Active"
+msgstr "Активно"
+
+#. module: product
+#: field:product.product,price_margin:0
+msgid "Variant Price Margin"
+msgstr "Маржа цены варианта"
+
+#. module: product
+#: help:product.packaging,ean:0
+msgid "The EAN code of the package unit."
+msgstr "Штрих-код EAN упаковки"
+
+#. module: product
+#: field:product.packaging,weight_ul:0
+msgid "Empty Package Weight"
+msgstr "Вес пустого пакета"
+
+#. module: product
+#: field:product.price.type,field:0
+msgid "Product Field"
+msgstr "Поле продукции"
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_pricelist_type_action
+msgid "Pricelists Types"
+msgstr "Тпипы каталогов"
+
+#. module: product
+#: help:product.uom,factor:0
+msgid ""
+"How many times this UoM is smaller than the reference UoM in this category:\n"
+"1 * (reference unit) = ratio * (this unit)"
+msgstr ""
+
+#. module: product
+#: help:product.template,uom_id:0
+msgid "Default Unit of Measure used for all stock operation."
+msgstr ""
+"Единица измерения по умолчанию, используемая для всех операций с ТМЦ."
+
+#. module: product
+#: model:product.category,name:product.product_category_misc0
+msgid "Misc"
+msgstr "Прочее"
+
+#. module: product
+#: model:product.template,name:product.product_product_pc4_product_template
+msgid "Customizable PC"
+msgstr "Настраиваемый ПК"
+
+#. module: product
+#: field:pricelist.partnerinfo,price:0
+msgid "Unit Price"
+msgstr "Цена за ед."
+
+#. module: product
+#: model:product.category,name:product.product_category_7
+#: model:product.template,name:product.product_product_1_product_template
+msgid "Onsite Intervention"
+msgstr "Вмешательство на месте"
+
+#. module: product
+#: model:product.pricelist,name:product.list0
+msgid "Public Pricelist"
+msgstr "Открытый каталог"
+
+#. module: product
+#: model:product.category,name:product.product_category_marketableproduct0
+msgid "Marketable Products"
+msgstr ""
+
+#. module: product
+#: field:product.supplierinfo,product_code:0
+msgid "Supplier Product Code"
+msgstr "Код ТМЦ поставщика"
+
+#. module: product
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_  и не должно содержать специальных "
+"символов !"
+
+#. module: product
+#: view:product.product:0
+msgid "Default UOM"
+msgstr "Ед. изм. по умолчанию"
+
+#. module: product
+#: selection:product.ul,type:0
+msgid "Pallet"
+msgstr "Поддон"
+
+#. module: product
+#: field:product.packaging,ul_qty:0
+msgid "Package by layer"
+msgstr "Упаковка по слоям"
+
+#. module: product
+#: field:product.template,warranty:0
+msgid "Warranty (months)"
+msgstr "Гарантия (мес.)"
+
+#. module: product
+#: model:ir.model,name:product.model_product_product
+#: model:ir.ui.menu,name:product.prod_config_main
+#: model:process.node,name:product.process_node_product0
+#: model:process.process,name:product.process_process_productprocess0
+#: field:product.packaging,product_id:0
+#: field:product.pricelist.item,product_id:0
+#: view:product.product:0
+#: field:product.supplierinfo,product_id:0
+#: model:res.request.link,name:product.req_link_product
+msgid "Product"
+msgstr "Товарно-материальные ценности"
+
+#. module: product
+#: selection:product.template,supply_method:0
+msgid "Produce"
+msgstr "Прозвести"
+
+#. module: product
+#: selection:product.template,procure_method:0
+msgid "Make to Order"
+msgstr "Изготовление на заказ"
+
+#. module: product
+#: field:product.product,variants:0
+msgid "Variants"
+msgstr "Варианты"
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_category_action
+#: model:ir.ui.menu,name:product.menu_products_category
+msgid "Products by Category"
+msgstr "ТМЦ по категориям"
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_category_action_form
+#: model:ir.ui.menu,name:product.menu_product_category_action_form
+msgid "Products Categories"
+msgstr "Категории ТМЦ"
+
+#. module: product
+#: field:product.template,uos_coeff:0
+msgid "UOM -> UOS Coeff"
+msgstr ""
+
+#. module: product
+#: help:product.supplierinfo,sequence:0
+msgid "Assigns the priority to the list of product supplier."
+msgstr "Назначает приоритет в списке поставщиков ТМЦ."
+
+#. module: product
+#: field:product.template,uom_id:0
+msgid "Default Unit Of Measure"
+msgstr "Единица измерения по умолчанию"
+
+#. module: product
+#: model:product.template,name:product.product_product_tow1_product_template
+msgid "ATX Mid-size Tower"
+msgstr "Среднеразмерный ATX корпус"
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "Rounding Method"
+msgstr "Метод округления"
+
+#. module: product
+#: model:ir.actions.report.xml,name:product.report_product_label
+msgid "Products Labels"
+msgstr "Этикетки изделия"
+
+#. module: product
+#: model:product.ul,name:product.product_ul_big_box
+msgid "Box 30x40x60"
+msgstr "Коробка 30x40x60"
+
+#. module: product
+#: selection:product.template,type:0
+msgid "Service"
+msgstr "Услуга"
+
+#. module: product
+#: help:product.packaging,height:0
+msgid "The height of the package"
+msgstr "Высота упаковки"
+
+#. module: product
+#: view:product.pricelist:0
+msgid "Products Price List"
+msgstr "Каталог продукции"
+
+#. module: product
+#: field:product.pricelist,company_id:0
+#: field:product.pricelist.item,company_id:0
+#: field:product.pricelist.version,company_id:0
+#: field:product.supplierinfo,company_id:0
+#: field:product.template,company_id:0
+msgid "Company"
+msgstr "Компания"
+
+#. module: product
+#: field:product.product,lst_price:0
+msgid "List Price"
+msgstr "Цена по каталогу"
+
+#. module: product
+#: model:ir.actions.act_window,name:product.product_price_type_action
+msgid "Prices Types"
+msgstr "Типы цен"
+
+#. module: product
+#: help:product.template,list_price:0
+msgid ""
+"Base price for computing the customer price. Sometimes called the catalog "
+"price."
+msgstr ""
+"Базовая цена для расчёта цены продажи. Иногда называется справочой ценой."
+
+#. module: product
+#: code:addons/product/pricelist.py:0
+#, python-format
+msgid "Partner section of the product form"
+msgstr "Раздел партнера в форме ввода ТМЦ"
+
+#. module: product
+#: help:product.price.type,name:0
+msgid "Name of this kind of price."
+msgstr "Наименование типа цены"
+
+#. module: product
+#: help:product.packaging,qty:0
+msgid "The total number of products you can put by pallet or box."
+msgstr ""
+"Общее количество ТМЦ, которое вы модете разместить на поддоне или в коробке."
+
+#. module: product
+#: help:product.pricelist.version,date_start:0
+msgid "Starting date for this pricelist version to be valid."
+msgstr "Каталог действителен, начиная с даты"
+
+#. module: product
+#: help:product.template,uom_po_id:0
+msgid ""
+"Default Unit of Measure used for purchase orders. It must be in the same "
+"category than the default unit of measure."
+msgstr ""
+"Единицы измерения по умолчанию для заказов на закупку. Должны быть той же "
+"категории, что и единицы измерения по умолчанию."
+
+#. module: product
+#: model:product.template,description:product.product_product_cpu1_product_template
+msgid "This product is configured with example of push/pull flows"
+msgstr ""
+
+#. module: product
+#: field:product.packaging,length:0
+msgid "Length"
+msgstr "Длина"
+
+#. module: product
+#: model:product.uom.categ,name:product.uom_categ_length
+msgid "Length / Distance"
+msgstr "Длинна / Расстояние"
+
+#. module: product
+#: model:product.template,name:product.product_product_0_product_template
+msgid "Onsite Senior Intervention"
+msgstr "Вмешательство руководства на месте"
+
+#. module: product
+#: model:ir.model,name:product.model_product_pricelist_type
+#: field:product.pricelist,type:0
+#: view:product.pricelist.type:0
+msgid "Pricelist Type"
+msgstr "Тип каталога"
+
+#. module: product
+#: model:product.category,name:product.product_category_otherproducts0
+msgid "Other Products"
+msgstr "Другие ТМЦ"
+
+#. module: product
+#: view:product.product:0
+msgid "Characteristics"
+msgstr "Характеристики"
+
+#. module: product
+#: field:product.template,sale_ok:0
+msgid "Can be Sold"
+msgstr "Может быть продан"
+
+#. module: product
+#: field:product.template,produce_delay:0
+msgid "Manufacturing Lead Time"
+msgstr "Время производства"
+
+#. module: product
+#: field:product.supplierinfo,pricelist_ids:0
+msgid "Supplier Pricelist"
+msgstr "Каталог поставщика"
+
+#. module: product
+#: field:product.pricelist.item,base:0
+msgid "Based on"
+msgstr "На основе"
+
+#. module: product
+#: model:product.category,name:product.product_category_rawmaterial0
+msgid "Raw Materials"
+msgstr "Сырье"
+
+#. module: product
+#: help:product.product,virtual_available:0
+msgid ""
+"Future stock for this product according to the selected locations or all "
+"internal if none have been selected. Computed as: Real Stock - Outgoing + "
+"Incoming."
+msgstr ""
+"Будущие запасы этих ТМЦ в соответствии с выбранным местом хранения (или "
+"всеми внутренними если ничего не было выбрано). Вычисленные как: "
+"Действительные запасы - Исходящие + Входящие."
+
+#. module: product
+#: field:product.pricelist,name:0
+msgid "Pricelist Name"
+msgstr "Название прайс-листа"
+
+#. module: product
+#: help:product.supplierinfo,product_uom:0
+msgid "Supplier Product UoM."
+msgstr "Ед. изм. ТМЦ поставщика."
+
+#. module: product
+#: field:product.uom,rounding:0
+msgid "Rounding Precision"
+msgstr "Точность округления"
+
+#. module: product
+#: model:ir.model,name:product.model_product_pricelist_version
+#: view:product.pricelist:0
+#: view:product.pricelist.version:0
+msgid "Pricelist Version"
+msgstr "Версия каталога"
+
+#. module: product
+#: view:product.pricelist.item:0
+msgid "* ( 1 + "
+msgstr "* ( 1 + "
+
+#. module: product
+#: help:product.packaging,weight:0
+msgid "The weight of a full package, pallet or box."
+msgstr "Вес полной упаковки, коробки или поддона."
+
+#. module: product
+#: model:product.template,name:product.product_product_hdd2_product_template
+msgid "HDD Seagate 7200.8 120GB"
+msgstr "Жесткий диск Seagate 7200.8 120GB"
 
 #. module: product
-#: field:product.template,weight:0
-msgid "Gross weight"
-msgstr "Вес брутто"
+#: model:product.template,name:product.product_product_employee0_product_template
+msgid "Employee"
+msgstr "Сотрудник"
 
 #. module: product
-#: help:product.product,packaging:0
-msgid ""
-"Gives the different ways to package the same product. This has no impact on "
-"the packing order and is mainly used if you use the EDI module."
-msgstr ""
+#: model:product.template,name:product.product_product_shelfofcm0_product_template
+msgid "Shelf of 100cm"
+msgstr "Полка 100см"
 
 #. module: product
 #: model:ir.model,name:product.model_product_category
@@ -1151,287 +1795,292 @@ msgid "Product Category"
 msgstr "Категория ТМЦ"
 
 #. module: product
-#: field:product.price.type,field:0
-msgid "Product Field"
-msgstr "Поле продукции"
+#: report:product.pricelist:0
+msgid "Price List Name"
+msgstr "Название каталога"
 
 #. module: product
-#: model:ir.actions.act_window,name:product.product_pricelist_type_action
-#: model:ir.ui.menu,name:product.menu_product_pricelist_type_action
-msgid "Pricelists Types"
-msgstr "Тпипы каталогов"
+#: field:product.supplierinfo,delay:0
+msgid "Delivery Lead Time"
+msgstr "Время выполнения доставки"
 
 #. module: product
-#: help:product.template,state:0
-msgid "Tells the user if he can use the product or not."
-msgstr "Сообщите пользователю, может ли он пользоваться продукцией"
+#: help:product.uom,active:0
+msgid ""
+"By unchecking the active field you can disable a unit of measure without "
+"deleting it."
+msgstr ""
+"Сняв отметку с активного поля \"Активно\", вы можете запретить единицу "
+"измерения без ее удаления."
 
 #. module: product
-#: field:product.supplierinfo,product_code:0
-msgid "Partner Product Code"
-msgstr ""
+#: field:product.template,seller_delay:0
+msgid "Supplier Lead Time"
+msgstr "Время поставки"
 
 #. module: product
-#: model:product.category,name:product.product_category_3
-msgid "Computer Stuff"
+#: help:product.product,active:0
+msgid ""
+"If the active field is set to true, it will allow you to hide the product "
+"without removing it."
 msgstr ""
+"если поле \"Активно\" установлено в \"истина\", то это позволит вам скрыть "
+"ТМЦ без ее удаления."
 
 #. module: product
-#: field:product.packaging,code:0
-#: field:product.product,code:0
-#: field:product.product,default_code:0
-msgid "Code"
-msgstr "Код"
+#: selection:product.ul,type:0
+msgid "Box"
+msgstr "Коробка"
 
 #. module: product
-#: help:product.uom,factor_inv:0
+#: model:product.template,name:product.product_product_rearpanelarm1_product_template
+msgid "Rear Panel SHE200"
+msgstr "Задняя панель SHE200"
+
+#. module: product
+#: help:product.pricelist.type,key:0
 msgid ""
-"The coefficient for the formula:\n"
-"coeff (base unit) = 1 (this unit). Factor = 1 / Rate."
+"Used in the code to select specific prices based on the context. Keep "
+"unchanged."
 msgstr ""
 
 #. module: product
-#: view:product.supplierinfo:0
-msgid "Seq"
-msgstr "Последовательность"
+#: model:product.template,name:product.product_product_hdd1_product_template
+msgid "HDD Seagate 7200.8 80GB"
+msgstr "Жёсткий диск Seagate 7200.8 80GB"
 
 #. module: product
-#: model:product.category,name:product.product_category_8
-msgid "Phone Help"
-msgstr "Телефон помощи"
+#: help:product.supplierinfo,qty:0
+msgid "This is a quantity which is converted into Default Uom."
+msgstr "Это количество, которое конвертируется в ед. езм. по умолчанию."
 
 #. module: product
-#: selection:product.template,mes_type:0
-msgid "Variable"
-msgstr "Переменный"
+#: field:product.packaging,ul:0
+msgid "Type of Package"
+msgstr "Тип упаковки"
 
 #. module: product
-#: help:product.template,uom_id:0
-msgid "Default Unit of Measure used for all stock operation."
-msgstr ""
+#: selection:product.ul,type:0
+msgid "Pack"
+msgstr "Упаковка"
 
 #. module: product
-#: model:ir.model,name:product.model_product_template
-#: field:product.pricelist.item,product_tmpl_id:0
-#: field:product.product,product_tmpl_id:0
-#: view:product.template:0
-msgid "Product Template"
-msgstr "Шаблон ТМЦ"
+#: model:product.category,name:product.product_category_4
+msgid "Dello Computer"
+msgstr ""
 
 #. module: product
-#: model:ir.model,name:product.model_product_ul
-msgid "Shipping Unit"
-msgstr "Единица поставки"
+#: model:product.uom.categ,name:product.product_uom_categ_kgm
+msgid "Weight"
+msgstr "Вес"
 
 #. module: product
-#: help:product.uom,rounding:0
-msgid ""
-"The computed quantity will be a multiple of this value. Use 1.0 for products "
-"that can not be split."
+#: model:product.template,name:product.product_product_22_product_template
+msgid "Processor on demand"
 msgstr ""
-"Расчетная величина будет кратна этому значению. Используйте 1.0 для "
-"продуктов, которые не могут быть разделены."
 
 #. module: product
-#: field:product.packaging,height:0
-msgid "Height"
-msgstr "Высота"
+#: model:product.template,name:product.product_product_25_product_template
+msgid "Mouse"
+msgstr "Мышь"
 
 #. module: product
-#: model:product.template,name:product.product_product_pc4_product_template
-msgid "Customizable PC"
-msgstr ""
+#: field:product.uom,uom_type:0
+msgid "UoM Type"
+msgstr "Тип ед. изм."
 
 #. module: product
-#: help:product.pricelist.version,date_end:0
-msgid "Ending date for this pricelist version to be valid."
-msgstr "Конечная дата, до которой каталог действителен"
+#: help:product.template,product_manager:0
+msgid "This is use as task responsible"
+msgstr ""
 
 #. module: product
-#: field:pricelist.partnerinfo,suppinfo_id:0
-msgid "Partner Information"
-msgstr "Информация партнера"
+#: help:product.uom,rounding:0
+msgid ""
+"The computed quantity will be a multiple of this value. Use 1.0 for a UoM "
+"that cannot be further split, such as a piece."
+msgstr ""
+"Вычисленное количество будет кратно этому значению. Используйте 1.0 для ед. "
+"изм. которые не могут быть разделены, например штуки."
 
 #. module: product
 #: view:product.product:0
 #: view:product.template:0
-#: field:product.template,type:0
-msgid "Product Type"
-msgstr "Тип ТМЦ"
-
-#. module: product
-#: model:product.category,name:product.product_category_7
-#: model:product.template,name:product.product_product_1_product_template
-msgid "Onsite Intervention"
-msgstr "Вмешательство на месте"
-
-#. module: product
-#: model:product.category,name:product.cat0
-msgid "All products"
-msgstr "Все ТМЦ"
+msgid "Descriptions"
+msgstr "Описания"
 
 #. module: product
-#: wizard_button:product.price_list,init,end:0
-msgid "Cancel"
-msgstr "Отмена"
+#: field:product.template,loc_row:0
+msgid "Row"
+msgstr "Строка"
 
 #. module: product
-#: help:product.packaging,qty:0
-msgid "The total number of products you can put by palet or box."
-msgstr ""
+#: model:product.template,name:product.product_product_rearpanelarm0_product_template
+msgid "Rear Panel SHE100"
+msgstr "Задняя панель SHE200"
 
 #. module: product
-#: model:ir.model,name:product.model_product_pricelist_item
-msgid "Pricelist item"
-msgstr "Элемент каталога"
+#: model:product.template,name:product.product_product_23_product_template
+msgid "Complete PC With Peripherals"
+msgstr "Комплектовать ПК периферией"
 
 #. module: product
-#: model:ir.actions.wizard,name:product.report_wizard_price
-#: field:product.pricelist.version,pricelist_id:0
-msgid "Price List"
-msgstr "Каталог"
+#: view:product.product:0
+#: view:product.template:0
+msgid "Weigths"
+msgstr "Вес"
 
 #. module: product
-#: model:product.pricelist,name:product.list0
-msgid "Public Pricelist"
-msgstr ""
+#: model:product.template,name:product.product_product_hotelexpenses0_product_template
+msgid "Hotel Expenses"
+msgstr "Расходы отеля"
 
 #. module: product
-#: model:product.template,name:product.product_product_21_product_template
-msgid "RAM on demand"
+#: help:product.uom,factor_inv:0
+msgid ""
+"How many times this UoM is bigger than the reference UoM in this category:\n"
+"1 * (this unit) = ratio * (reference unit)"
 msgstr ""
 
 #. module: product
-#: selection:product.ul,type:0
-#: model:product.uom.categ,name:product.product_uom_categ_unit
-msgid "Unit"
-msgstr "Ед."
+#: model:product.template,name:product.product_product_shelf0_product_template
+msgid "Rack 100cm"
+msgstr "Стойка 100см"
 
 #. module: product
-#: model:product.template,name:product.product_product_hdd2_product_template
-msgid "HDD Seagate 7200.8 120GB"
-msgstr "Жесткий диск Seagate 7200.8 120GB"
+#: help:product.packaging,sequence:0
+msgid "Gives the sequence order when displaying a list of packaging."
+msgstr "Дает порядок последовательности при выводе списка упаковок."
 
 #. module: product
-#: wizard_field:product.price_list,init,qty2:0
-msgid "Quantity-2"
-msgstr "Количество-2"
+#: field:product.pricelist.item,price_round:0
+msgid "Price Rounding"
+msgstr "Округление цены"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Information"
-msgstr "Информация"
+#: field:product.pricelist.item,price_max_margin:0
+msgid "Max. Price Margin"
+msgstr "Максимальная маржа цены"
 
 #. module: product
-#: view:product.product:0
-msgid "Codes"
-msgstr "Коды"
+#: help:product.supplierinfo,product_name:0
+msgid ""
+"This supplier's product name will be used when printing a request for "
+"quotation. Keep empty to use the internal one."
+msgstr ""
+"Название продукции, используемое поставщиком, будет выводиться при печати "
+"запроса цен. Оставьте пустым для использования внутреннего названия."
 
 #. module: product
-#: constraint:ir.model:0
+#: help:product.supplierinfo,min_qty:0
 msgid ""
-"The Object name must start with x_ and not contain any special character !"
+"The minimal quantity to purchase to this supplier, expressed in the default "
+"unit of measure."
 msgstr ""
-"Название объекта должно начинаться с x_  и не должно содержать специальных "
-"символов !"
+"Минимальное количество продукции закупаемой у этого поставщика, в единицах "
+"измерения по умолчанию."
 
 #. module: product
-#: wizard_field:product.price_list,init,qty4:0
-msgid "Quantity-4"
-msgstr "Количество-4"
+#: selection:product.template,mes_type:0
+msgid "Variable"
+msgstr "Переменный"
 
 #. module: product
-#: wizard_field:product.price_list,init,qty5:0
-msgid "Quantity-5"
-msgstr "Количество-5"
+#: field:product.template,rental:0
+msgid "Can be Rent"
+msgstr "Может быть аренда"
 
 #. module: product
-#: view:product.packaging:0
-#: view:product.product:0
-msgid "Other Info"
-msgstr "Прочая информация"
+#: model:product.price.type,name:product.standard_price
+#: field:product.template,standard_price:0
+msgid "Cost Price"
+msgstr "Себестоимость"
 
 #. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Delays"
-msgstr "Задержки"
+#: field:product.pricelist.item,price_min_margin:0
+msgid "Min. Price Margin"
+msgstr "Минимальная маржа цены"
 
 #. module: product
-#: field:product.pricelist.version,items_id:0
-msgid "Price List Items"
-msgstr "Элементы каталога"
+#: field:product.template,weight:0
+msgid "Gross weight"
+msgstr "Вес брутто"
 
 #. module: product
-#: help:product.supplierinfo,product_code:0
-msgid ""
-"Code of the product for this partner, will be used when printing a request "
-"for quotation. Keep empty to use the internal one."
-msgstr ""
+#: model:product.template,name:product.product_product_assemblysection0_product_template
+msgid "Assembly Section"
+msgstr "Зона сборки"
 
 #. module: product
-#: selection:product.template,state:0
-msgid "Obsolete"
-msgstr "Устаревший"
+#: model:product.category,name:product.product_category_3
+msgid "Computer Stuff"
+msgstr "Компьютерные компоненты"
 
 #. module: product
-#: selection:product.ul,type:0
-msgid "Pallet"
+#: model:product.category,name:product.product_category_8
+msgid "Phone Help"
+msgstr "Телефон помощи"
+
+#. module: product
+#: help:product.pricelist.item,price_round:0
+msgid ""
+"Sets the price so that it is a multiple of this value.\n"
+"Rounding is applied after the discount and before the surcharge.\n"
+"To have prices that end in 9.99, set rounding 10, surcharge -0.01"
 msgstr ""
+"Устанавливает цену кратной данному значению.\n"
+"Округление применяется после скидки, но  перед надбавкой.\n"
+"Так, чтобы цена заканчивалась на 9,99, установите округление 10, надбавку -"
+"0,01."
 
 #. module: product
-#: field:pricelist.partnerinfo,price:0
-msgid "Unit Price"
-msgstr "Цена за ед."
+#: view:product.price_list:0
+msgid "Close"
+msgstr "Закрыть"
 
 #. module: product
-#: field:product.template,warranty:0
-msgid "Warranty (months)"
-msgstr "Гарантия (мес.)"
+#: model:ir.model,name:product.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr "Элемент каталога"
 
 #. module: product
-#: field:product.packaging,ul_qty:0
-msgid "Package by layer"
-msgstr ""
+#: model:product.template,name:product.product_product_21_product_template
+msgid "RAM on demand"
+msgstr "ОЗУ по требованию"
 
 #. module: product
-#: help:product.template,type:0
-msgid ""
-"Will change the way procurements are processed. Consumables are stockable "
-"products with infinite stock, or for use when you have no inventory "
-"management in the system."
-msgstr ""
+#: view:res.partner:0
+msgid "Sales Properties"
+msgstr "Свойства продажи"
 
 #. module: product
-#: model:process.node,note:product.process_node_supplier0
-msgid "Product suppliers, with their product name, price, etc."
-msgstr "Поставщики изделия, с названиями и ценами"
+#: model:product.uom,name:product.product_uom_ton
+msgid "tonne"
+msgstr "тонна"
 
 #. module: product
-#: model:ir.model,name:product.model_product_price_type
-msgid "Price type"
-msgstr "Тип цены"
+#: view:product.product:0
+#: view:product.template:0
+msgid "Delays"
+msgstr "Задержки"
 
 #. module: product
-#: model:ir.model,name:product.model_product_product
-#: model:process.node,name:product.process_node_product0
-#: field:product.packaging,product_id:0
-#: field:product.pricelist.item,product_id:0
-#: view:product.product:0
-#: field:product.supplierinfo,product_id:0
-#: model:res.request.link,name:product.req_link_product
-msgid "Product"
-msgstr "Товарно-материальные ценности"
+#: model:process.node,note:product.process_node_product0
+msgid "Creation of the product"
+msgstr "Создание ТМЦ"
 
 #. module: product
-#: field:product.template,volume:0
-msgid "Volume"
-msgstr "Объем"
+#: help:product.template,type:0
+msgid ""
+"Will change the way procurements are processed. Consumables are stockable "
+"products with infinite stock, or for use when you have no inventory "
+"management in the system."
+msgstr ""
 
 #. module: product
 #: field:pricelist.partnerinfo,name:0
 #: field:product.packaging,name:0
+#: report:product.pricelist:0
 #: view:product.product:0
 #: view:product.template:0
 #: field:product.template,description:0
@@ -1444,7 +2093,6 @@ msgid "EAN"
 msgstr ""
 
 #. module: product
-#: view:product.product:0
 #: view:product.template:0
 msgid "Product Description"
 msgstr "Описание продукции"
@@ -1455,129 +2103,47 @@ msgid " ) + "
 msgstr " ) + "
 
 #. module: product
-#: help:product.template,sale_delay:0
+#: help:product.product,incoming_qty:0
 msgid ""
-"This is the average time between the confirmation of the customer order and "
-"the delivery of the finished products. It's the time you promise to your "
-"customers."
-msgstr ""
-"Среднее время между подтверждением заказа и доставкой товара. Это время вы "
-"сообщаете заказчикам."
-
-#. module: product
-#: model:ir.model,name:product.model_product_uom_categ
-msgid "Product uom categ"
-msgstr "Категория ед. изм. продукции"
-
-#. module: product
-#: wizard_field:product.price_list,init,qty3:0
-msgid "Quantity-3"
-msgstr "Количество-3"
-
-#. module: product
-#: model:product.ul,name:product.product_ul_box
-msgid "Box 20x20x40"
-msgstr ""
-
-#. module: product
-#: selection:product.template,supply_method:0
-msgid "Produce"
-msgstr "Прозвести"
-
-#. module: product
-#: selection:product.template,procure_method:0
-msgid "Make to Order"
-msgstr "Изготовление на заказ"
-
-#. module: product
-#: field:product.pricelist.item,price_surcharge:0
-msgid "Price Surcharge"
-msgstr "Надбавка к цене"
-
-#. module: product
-#: constraint:product.pricelist.version:0
-msgid "You cannot have 2 pricelist versions that overlap!"
+"Quantities of products that are planned to arrive in selected locations or "
+"all internal if none have been selected."
 msgstr ""
+"Объемы продукции, которые планируется достичь в выбранных местах или все "
+"внутренние, если никакие не были выбраны."
 
 #. module: product
-#: view:product.pricelist.item:0
-msgid "Rounding Method"
-msgstr "Метод округления"
-
-#. module: product
-#: field:product.product,variants:0
-msgid "Variants"
-msgstr "Варианты"
-
-#. module: product
-#: view:product.pricelist.item:0
-msgid "Price Computation"
-msgstr "Расчет цены"
-
-#. module: product
-#: model:product.template,name:product.product_product_mb1_product_template
-msgid "Mainboard ASUStek A7N8X"
-msgstr "Материнская плата ASUStek A7N8X"
+#: field:product.template,volume:0
+msgid "Volume"
+msgstr "Объем"
 
 #. module: product
 #: field:product.template,loc_case:0
 msgid "Case"
-msgstr ""
-
-#. module: product
-#: field:product.pricelist.version,date_end:0
-msgid "End Date"
-msgstr "Дата окончания"
-
-#. module: product
-#: model:ir.actions.act_window,name:product.product_category_action_form
-#: model:ir.ui.menu,name:product.menu_product_category_action_form
-msgid "Products Categories"
-msgstr "Категории ТМЦ"
-
-#. module: product
-#: field:product.product,packaging:0
-msgid "Logistical Units"
-msgstr ""
-
-#. module: product
-#: field:product.category,complete_name:0
-#: field:product.category,name:0
-#: field:product.pricelist.type,name:0
-#: field:product.pricelist.version,name:0
-#: field:product.template,name:0
-#: field:product.ul,name:0
-#: field:product.uom,name:0
-#: field:product.uom.categ,name:0
-msgid "Name"
-msgstr "Название"
-
-#. module: product
-#: help:product.template,uos_coeff:0
-msgid ""
-"Coefficient to convert UOM to UOS\n"
-" uom = uos * coeff"
-msgstr ""
+msgstr "Вопрос"
 
 #. module: product
-#: field:product.template,purchase_ok:0
-msgid "Can be Purchased"
-msgstr "Можно закупать"
+#: view:product.product:0
+msgid "Product Variant"
+msgstr "Вариант ТМЦ"
 
 #. module: product
-#: field:product.template,uos_coeff:0
-msgid "UOM -> UOS Coeff"
-msgstr ""
+#: model:product.category,name:product.product_category_shelves0
+msgid "Shelves"
+msgstr "Полки"
 
 #. module: product
-#: model:product.template,name:product.product_product_cpu2_product_template
-msgid "High speed processor config"
-msgstr ""
+#: code:addons/product/pricelist.py:0
+#, python-format
+msgid "Other Pricelist"
+msgstr "Другой прайс"
 
 #. module: product
-#: model:product.template,name:product.product_product_pc2_product_template
-msgid "Basic+ PC (assembly on order)"
-msgstr ""
+#: model:ir.model,name:product.model_product_template
+#: field:product.pricelist.item,product_tmpl_id:0
+#: field:product.product,product_tmpl_id:0
+#: view:product.template:0
+msgid "Product Template"
+msgstr "Шаблон ТМЦ"
 
 #. module: product
 #: field:product.template,cost_method:0
@@ -1588,18 +2154,7 @@ msgstr "Метод ценообразования"
 #: view:product.packaging:0
 #: view:product.product:0
 msgid "Palletization"
-msgstr ""
-
-#. module: product
-#: view:product.product:0
-#: view:product.template:0
-msgid "Prices & Suppliers"
-msgstr "Цены и поставщики"
-
-#. module: product
-#: help:product.packaging,weight:0
-msgid "The weight of a full of products palet or box."
-msgstr ""
+msgstr "Укладка на паллеты"
 
 #. module: product
 #: selection:product.template,state:0
@@ -1607,33 +2162,13 @@ msgid "End of Lifecycle"
 msgstr "Конец жизненного цикла"
 
 #. module: product
-#: model:ir.module.module,shortdesc:product.module_meta_information
-msgid "Products & Pricelists"
-msgstr "ТМЦ и каталоги"
-
-#. module: product
-#: help:product.uom,factor:0
+#: help:product.product,packaging:0
 msgid ""
-"The coefficient for the formula:\n"
-"1 (base unit) = coeff (this unit). Rate = 1 / Factor."
+"Gives the different ways to package the same product. This has no impact on "
+"the picking order and is mainly used if you use the EDI module."
 msgstr ""
 
 #. module: product
-#: help:product.template,weight_net:0
-msgid "The net weight in Kg."
-msgstr "Вес нетто в килограммах."
-
-#. module: product
-#: model:product.template,name:product.product_product_tow1_product_template
-msgid "ATX Mid-size Tower"
-msgstr "Среднеразмерный ATX корпус"
-
-#. module: product
-#: field:product.supplierinfo,delay:0
-msgid "Delivery Delay"
-msgstr "Задержка доставки"
-
-#. module: product
 #: model:ir.actions.act_window,name:product.product_pricelist_action
 #: model:ir.ui.menu,name:product.menu_product_pricelist_action
 #: field:product.pricelist,version_id:0
@@ -1641,9 +2176,12 @@ msgid "Pricelist Versions"
 msgstr "Версии каталогов"
 
 #. module: product
-#: field:product.packaging,weight_ul:0
-msgid "Empty Package Weight"
-msgstr "Вес пустого пакета"
+#: field:product.category,sequence:0
+#: field:product.packaging,sequence:0
+#: field:product.pricelist.item,sequence:0
+#: field:product.supplierinfo,sequence:0
+msgid "Sequence"
+msgstr "Последовательность"
 
 #. module: product
 #: field:product.template,list_price:0
@@ -1651,23 +2189,9 @@ msgid "Sale Price"
 msgstr "Цена продажи"
 
 #. module: product
-#: help:product.template,produce_delay:0
-msgid ""
-"Average time to produce this product. This is only for the production order "
-"and, if it is a multi-level bill of material, it's only for the level of "
-"this product. Different delays will be summed for all levels and purchase "
-"orders."
-msgstr ""
-
-#. module: product
-#: wizard_field:product.price_list,init,qty1:0
-msgid "Quantity-1"
-msgstr "Количество-1"
-
-#. module: product
-#: field:product.packaging,length:0
-msgid "Length"
-msgstr "Длина"
+#: field:product.category,type:0
+msgid "Category Type"
+msgstr "Тип категории"
 
 #. module: product
 #: model:product.category,name:product.cat2
@@ -1675,31 +2199,21 @@ msgid "Private"
 msgstr ""
 
 #. module: product
-#: help:product.supplierinfo,delay:0
-msgid ""
-"Delay in days between the confirmation of the purchase order and the "
-"reception of the products in your warehouse. Used by the scheduler for "
-"automatic computation of the purchase order planning."
-msgstr ""
-"Задержка в днях между подтверждением заказа и поступлением изделия на склад. "
-"Используется планировщиком для автоматического планирования заказов."
-
-#. module: product
-#: help:product.template,uom_po_id:0
+#: help:product.template,uos_coeff:0
 msgid ""
-"Default Unit of Measure used for purchase orders. It must in the same "
-"category than the default unit of measure."
+"Coefficient to convert UOM to UOS\n"
+" uos = uom * coeff"
 msgstr ""
 
 #. module: product
-#: constraint:product.product:0
-msgid "Error: Invalid ean code"
-msgstr "Ошибка: Неправильный штрих-код"
+#: field:product.pricelist.item,price_discount:0
+msgid "Price Discount"
+msgstr "Скидка с цены"
 
 #. module: product
-#: field:product.pricelist.item,min_quantity:0
-msgid "Min. Quantity"
-msgstr "Мин. кол-во"
+#: help:product.template,volume:0
+msgid "The volume in m3."
+msgstr "Объём в метрах куб."
 
 #. module: product
 #: help:product.pricelist.item,categ_id:0
@@ -1708,27 +2222,124 @@ msgid ""
 "and his childs. Keep empty for all products"
 msgstr ""
 
-#. module: product
-#: model:ir.actions.report.xml,name:product.report_product_label
-msgid "Products Labels"
-msgstr "Этикетки изделия"
+#~ msgid ""
+#~ "Determine if the product can be visible in the list of product within a "
+#~ "selection from a sale order line."
+#~ msgstr ""
+#~ "Указывается, если продукция должна быть видна в списке продукции на продажу."
 
-#. module: product
-#: help:product.template,volume:0
-msgid "The volume in m3."
-msgstr "Объём в метрах куб."
+#~ msgid ""
+#~ "The minimal quantity to purchase for this supplier, expressed in the default "
+#~ "unit of measure."
+#~ msgstr ""
+#~ "Минимальный размер закупки от этого поставщика, выраженный в стандартных "
+#~ "единицах измерения."
 
-#. module: product
-#: model:product.ul,name:product.product_ul_big_box
-msgid "Box 30x40x60"
-msgstr ""
+#~ msgid "Procure Method"
+#~ msgstr "Метод закупки"
 
-#. module: product
-#: model:product.uom,name:product.product_uom_kgm
-msgid "KGM"
-msgstr ""
+#~ msgid "Customer Price"
+#~ msgstr "Цена клиента"
 
-#. module: product
-#: field:product.pricelist.item,price_discount:0
-msgid "Price Discount"
-msgstr "Скидка с цены"
+#~ msgid "Configuration"
+#~ msgstr "Настройки"
+
+#~ msgid "In Production"
+#~ msgstr "В производстве"
+
+#~ msgid "Priority"
+#~ msgstr "Приоритет"
+
+#~ msgid "Factor"
+#~ msgstr "Множитель"
+
+#~ msgid ""
+#~ "This pricelist will be used, instead of the default one,                     "
+#~ "for sales to the current partner"
+#~ msgstr ""
+#~ "При продаже данному партнеру будет использован не каталог по умолчанию, а "
+#~ "этот каталог."
+
+#~ msgid "Can be sold"
+#~ msgstr "Можно продавать"
+
+#~ msgid "Rate"
+#~ msgstr "Курс"
+
+#~ msgid "Price list"
+#~ msgstr "Прайс"
+
+#~ msgid "Price type"
+#~ msgstr "Тип цены"
+
+#~ msgid ""
+#~ "The computed quantity will be a multiple of this value. Use 1.0 for products "
+#~ "that can not be split."
+#~ msgstr ""
+#~ "Расчетная величина будет кратна этому значению. Используйте 1.0 для "
+#~ "продуктов, которые не могут быть разделены."
+
+#~ msgid "Cancel"
+#~ msgstr "Отмена"
+
+#~ msgid "Prices & Suppliers"
+#~ msgstr "Цены и поставщики"
+
+#~ msgid "Delivery Delay"
+#~ msgstr "Задержка доставки"
+
+#~ msgid "Number of Layer"
+#~ msgstr "Число слоёв"
+
+#~ msgid "The number of layer on a palet or box"
+#~ msgstr "Число слоёв на палете или в коробке"
+
+#~ msgid "Supplier Info"
+#~ msgstr "Информация о поставщике"
+
+#~ msgid "Rentable Product"
+#~ msgstr "Изделие для аренды"
+
+#~ msgid "You can see the list of suppliers for that product."
+#~ msgstr "Вы можете просмотреть список поставщиков этого изделия"
+
+#~ msgid "Default UoM"
+#~ msgstr "Единица измерения по умолчанию"
+
+#~ msgid "Prices Computations"
+#~ msgstr "Вычисление цен"
+
+#~ msgid "Suppliers of Product"
+#~ msgstr "Поставщики изделия"
+
+#~ msgid ""
+#~ "Unit of Measure of a category can be converted between each others in the "
+#~ "same category."
+#~ msgstr ""
+#~ "Единицы измерения могут быть приведены друг к другу в пределах одной "
+#~ "категории."
+
+#~ msgid ""
+#~ "This is the average time between the confirmation of the customer order and "
+#~ "the delivery of the finished products. It's the time you promise to your "
+#~ "customers."
+#~ msgstr ""
+#~ "Среднее время между подтверждением заказа и доставкой товара. Это время вы "
+#~ "сообщаете заказчикам."
+
+#~ msgid "Product suppliers, with their product name, price, etc."
+#~ msgstr "Поставщики изделия, с названиями и ценами"
+
+#~ msgid ""
+#~ "Delay in days between the confirmation of the purchase order and the "
+#~ "reception of the products in your warehouse. Used by the scheduler for "
+#~ "automatic computation of the purchase order planning."
+#~ msgstr ""
+#~ "Задержка в днях между подтверждением заказа и поступлением изделия на склад. "
+#~ "Используется планировщиком для автоматического планирования заказов."
+
+#~ msgid "Partner Product Name"
+#~ msgstr "Наименование изделия партнёра"
+
+#~ msgid "Create new Product"
+#~ msgstr "Создать ТМЦ"
index 60a8cf9..b43f40b 100644 (file)
@@ -492,7 +492,7 @@ class product_product(osv.osv):
         if not context:
             context={}
         if name:
-            ids = self.search(cr, user, [('default_code','=',name)]+ args, limit=limit, context=context)
+            ids = self.search(cr, user, [('default_code',operator,name)]+ args, limit=limit, context=context)
             if not len(ids):
                 ids = self.search(cr, user, [('ean13','=',name)]+ args, limit=limit, context=context)
             if not len(ids):
index 36024f7..5fb2e4b 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-10-24 15:52+0000\n"
+"PO-Revision-Date: 2010-10-25 17:14+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-10-25 04:38+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: purchase
@@ -179,7 +179,7 @@ msgstr "С уважением,"
 #. module: purchase
 #: rml:purchase.order:0
 msgid "Net Total :"
-msgstr ""
+msgstr "Чистый итог:"
 
 #. module: purchase
 #: selection:purchase.order,state:0
@@ -295,7 +295,7 @@ msgstr "Подтверждено"
 #. module: purchase
 #: model:process.node,name:purchase.process_node_productrecept0
 msgid "Product Receipt"
-msgstr ""
+msgstr "Получение ТМЦ"
 
 #. module: purchase
 #: model:process.transition.action,name:purchase.process_transition_action_confirmpurchaseorder0
@@ -570,7 +570,7 @@ msgstr "Запрос цен, предложенный системой."
 #. module: purchase
 #: model:process.transition,name:purchase.process_transition_packinginvoice0
 msgid "Packing Invoice"
-msgstr ""
+msgstr "Счет на упаковку"
 
 #. module: purchase
 #: model:process.transition,note:purchase.process_transition_invoicefrompackinglist0
index 80364d0..58bccbc 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 15:20+0000\n"
+"PO-Revision-Date: 2010-10-25 07:14+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-10-25 04:38+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: purchase_analytic_plans
index c6162f5..858f933 100644 (file)
@@ -1,8 +1,21 @@
 -
+  In order to test the PDF reports defined using report_instratat module, we will create a invoice record
+-
+  !record {model: account.invoice, id: test_invoice_1}:
+       currency_id: base.EUR
+    company_id: base.main_company
+    address_invoice_id: base.res_partner_address_tang
+    partner_id: base.res_partner_asus
+    state: draft
+    type: out_invoice
+    account_id: account.a_recv
+    name: Test invoice 1
+    address_contact_id: base.res_partner_address_tang
+-
   In order to test the PDF reports defined using report_instratat module, we print a Instratat Report
-- 
+-
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.invoice.intrastat').create(cr, uid, [ref('account.test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.account.invoice.intrastat').create(cr, uid, [ref('test_invoice_1')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'report_instratat-instrastat_report.'+format), 'wb+').write(data)
index 0cb51bb..3cd78b3 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:46+0000\n"
-"PO-Revision-Date: 2010-10-24 17:27+0000\n"
+"PO-Revision-Date: 2010-10-25 07:16+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-10-25 04:39+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: sale
index 2504606..75c37ff 100644 (file)
@@ -30,26 +30,26 @@ class sale_report(osv.osv):
     _columns = {
         'date': fields.date('Date Order', readonly=True),
         'date_confirm': fields.date('Date Confirm', readonly=True),
-        'shipped':fields.boolean('Shipped', readonly=True),
-        'shipped_qty_1':fields.integer('Shipped Qty', readonly=True),
+        'shipped': fields.boolean('Shipped', readonly=True),
+        'shipped_qty_1': fields.integer('Shipped Qty', readonly=True),
         'year': fields.char('Year', size=4, readonly=True),
-        'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'),
-            ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'),
-            ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
+        'month': fields.selection([('01', 'January'), ('02', 'February'), ('03', 'March'), ('04', 'April'),
+            ('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'), ('09', 'September'),
+            ('10', 'October'), ('11', 'November'), ('12', 'December')], 'Month', readonly=True),
         'day': fields.char('Day', size=128, readonly=True),
-        'product_id':fields.many2one('product.product', 'Product', readonly=True),
+        'product_id': fields.many2one('product.product', 'Product', readonly=True),
         'uom_name': fields.char('Default UoM', size=128, readonly=True),
-        'product_uom_qty':fields.float('# of Qty', readonly=True),
+        'product_uom_qty': fields.float('# of Qty', readonly=True),
 
-        'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
-        'shop_id':fields.many2one('sale.shop', 'Shop', readonly=True),
-        'company_id':fields.many2one('res.company', 'Company', readonly=True),
-        'user_id':fields.many2one('res.users', 'Salesman', readonly=True),
-        'price_total':fields.float('Total Price', readonly=True),
-        'delay':fields.float('Commitment Delay', digits=(16,2), readonly=True),
-        'price_average':fields.float('Average Price', readonly=True,group_operator="avg"),
+        'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
+        'shop_id': fields.many2one('sale.shop', 'Shop', readonly=True),
+        'company_id': fields.many2one('res.company', 'Company', readonly=True),
+        'user_id': fields.many2one('res.users', 'Salesman', readonly=True),
+        'price_total': fields.float('Total Price', readonly=True),
+        'delay': fields.float('Commitment Delay', digits=(16,2), readonly=True),
+        'price_average': fields.float('Average Price', readonly=True,group_operator="avg"),
         'categ_id': fields.many2one('product.category','Category of Product', readonly=True),
-        'nbr':fields.integer('# of Lines', readonly=True),
+        'nbr': fields.integer('# of Lines', readonly=True),
         'state': fields.selection([
             ('draft', 'Quotation'),
             ('waiting_date', 'Waiting Schedule'),
@@ -124,5 +124,4 @@ class sale_report(osv.osv):
         """)
 sale_report()
 
-
-
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 7b7f098..97b5be9 100644 (file)
@@ -65,7 +65,7 @@ class sale_order(osv.osv):
             'shipped': False,
             'invoice_ids': [],
             'picking_ids': [],
-            'date_confirm':False,
+            'date_confirm': False,
             'name': self.pool.get('ir.sequence').get(cr, uid, 'sale.order'),
         })
         return super(sale_order, self).copy(cr, uid, id, default, context=context)
@@ -345,7 +345,6 @@ class sale_order(osv.osv):
         payment_term = part.property_payment_term and part.property_payment_term.id or False
         fiscal_position = part.property_account_position and part.property_account_position.id or False
         dedicated_salesman = part.user_id and part.user_id.id or uid
-
         val = {
             'partner_invoice_id': addr['invoice'],
             'partner_order_id': addr['contact'],
@@ -354,10 +353,8 @@ class sale_order(osv.osv):
             'fiscal_position': fiscal_position,
             'user_id': dedicated_salesman,
         }
-
         if pricelist:
             val['pricelist_id'] = pricelist
-
         return {'value': val}
 
     def shipping_policy_change(self, cr, uid, ids, policy, context=None):
@@ -375,7 +372,7 @@ class sale_order(osv.osv):
     def write(self, cr, uid, ids, vals, context=None):
         if context is None:
             context = {}
-        if 'order_policy' in vals:
+        if vals.get('order_policy', False):
             if vals['order_policy'] == 'prepaid':
                 vals.update({'invoice_quantity': 'order'})
             elif vals['order_policy'] == 'picking':
@@ -385,7 +382,7 @@ class sale_order(osv.osv):
     def create(self, cr, uid, vals, context=None):
         if context is None:
             context = {}
-        if 'order_policy' in vals:
+        if vals.get('order_policy', False):
             if vals['order_policy'] == 'prepaid':
                 vals.update({'invoice_quantity': 'order'})
             if vals['order_policy'] == 'picking':
@@ -418,10 +415,7 @@ class sale_order(osv.osv):
             raise osv.except_osv(_('Error !'),
                 _('There is no sale journal defined for this company: "%s" (id:%d)') % (order.company_id.name, order.company_id.id))
         a = order.partner_id.property_account_receivable.id
-        if order.payment_term:
-            pay_term = order.payment_term.id
-        else:
-            pay_term = False
+        pay_term = order.payment_term and order.payment_term.id or False
         invoiced_sale_line_ids = self.pool.get('sale.order.line').search(cr, uid, [('order_id', '=', order.id), ('invoiced', '=', True)], context=context)
         from_line_invoice_ids = []
         for invoiced_sale_line_id in self.pool.get('sale.order.line').browse(cr, uid, invoiced_sale_line_ids, context=context):
@@ -450,7 +444,7 @@ class sale_order(osv.osv):
             'fiscal_position': order.fiscal_position.id or order.partner_id.property_account_position.id,
             'date_invoice': context.get('date_invoice',False),
             'company_id': order.company_id.id,
-            'user_id':order.user_id and order.user_id.id or False
+            'user_id': order.user_id and order.user_id.id or False
         }
         inv.update(self._inv_get(cr, uid, order))
         inv_id = inv_obj.create(cr, uid, inv, context=context)
@@ -485,11 +479,10 @@ class sale_order(osv.osv):
             'res_model': 'account.invoice',
             'context': "{'type':'out_invoice'}",
             'type': 'ir.actions.act_window',
-            'nodestroy' :True,
+            'nodestroy': True,
             'target': 'current',
             'res_id': inv_ids and inv_ids[0] or False,
         }
-
         return result
 
     def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed', 'done', 'exception'], date_inv = False, context=None):
@@ -539,7 +532,6 @@ class sale_order(osv.osv):
                     if order.order_policy == 'picking':
                         picking_obj.write(cr, uid, map(lambda x: x.id, order.picking_ids), {'invoice_state': 'invoiced'})
                     cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (order.id, res))
-
         return res
 
     def action_invoice_cancel(self, cr, uid, ids, context=None):
@@ -591,7 +583,6 @@ class sale_order(osv.osv):
             #
             if order.state == 'invoice_except':
                 self.write(cr, uid, [order.id], {'state': 'progress'}, context=context)
-
         return True
 
     def action_cancel(self, cr, uid, ids, context=None):
@@ -858,29 +849,29 @@ class sale_order_line(osv.osv):
     _description = 'Sale Order Line'
     _columns = {
         'order_id': fields.many2one('sale.order', 'Order Reference', required=True, ondelete='cascade', select=True, readonly=True, states={'draft':[('readonly',False)]}),
-        'name': fields.char('Description', size=256, required=True, select=True, readonly=True, states={'draft':[('readonly',False)]}),
+        'name': fields.char('Description', size=256, required=True, select=True, readonly=True, states={'draft': [('readonly', False)]}),
         'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of sale order lines."),
-        'delay': fields.float('Delivery Lead Time', required=True, help="Number of days between the order confirmation the the shipping of the products to the customer", readonly=True, states={'draft':[('readonly',False)]}),
+        'delay': fields.float('Delivery Lead Time', required=True, help="Number of days between the order confirmation the the shipping of the products to the customer", readonly=True, states={'draft': [('readonly', False)]}),
         'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok', '=', True)], change_default=True),
         'invoice_lines': fields.many2many('account.invoice.line', 'sale_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True),
         'invoiced': fields.boolean('Invoiced', readonly=True),
         'procurement_id': fields.many2one('procurement.order', 'Procurement'),
-        'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft':[('readonly',False)]}),
+        'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}),
         'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', digits_compute= dp.get_precision('Sale Price')),
-        'tax_id': fields.many2many('account.tax', 'sale_order_tax', 'order_line_id', 'tax_id', 'Taxes', readonly=True, states={'draft':[('readonly',False)]}),
-        'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft':[('readonly',False)]}),
-        'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft':[('readonly',False)]}),
+        'tax_id': fields.many2many('account.tax', 'sale_order_tax', 'order_line_id', 'tax_id', 'Taxes', readonly=True, states={'draft': [('readonly', False)]}),
+        'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft': [('readonly', False)]}),
+        'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}),
         'address_allotment_id': fields.many2one('res.partner.address', 'Allotment Partner'),
-        'product_uom_qty': fields.float('Quantity (UoM)', digits=(16, 2), required=True, readonly=True, states={'draft':[('readonly',False)]}),
-        'product_uom': fields.many2one('product.uom', 'Unit of Measure ', required=True, readonly=True, states={'draft':[('readonly',False)]}),
-        'product_uos_qty': fields.float('Quantity (UoS)', readonly=True, states={'draft':[('readonly',False)]}),
+        'product_uom_qty': fields.float('Quantity (UoM)', digits=(16, 2), required=True, readonly=True, states={'draft': [('readonly', False)]}),
+        'product_uom': fields.many2one('product.uom', 'Unit of Measure ', required=True, readonly=True, states={'draft': [('readonly', False)]}),
+        'product_uos_qty': fields.float('Quantity (UoS)', readonly=True, states={'draft': [('readonly', False)]}),
         'product_uos': fields.many2one('product.uom', 'Product UoS'),
         'product_packaging': fields.many2one('product.packaging', 'Packaging'),
         'move_ids': fields.one2many('stock.move', 'sale_line_id', 'Inventory Moves', readonly=True),
-        'discount': fields.float('Discount (%)', digits=(16, 2), readonly=True, states={'draft':[('readonly',False)]}),
+        'discount': fields.float('Discount (%)', digits=(16, 2), readonly=True, states={'draft': [('readonly', False)]}),
         'number_packages': fields.function(_number_packages, method=True, type='integer', string='Number Packages'),
         'notes': fields.text('Notes'),
-        'th_weight': fields.float('Weight', readonly=True, states={'draft':[('readonly',False)]}),
+        'th_weight': fields.float('Weight', readonly=True, states={'draft': [('readonly', False)]}),
         'state': fields.selection([('draft', 'Draft'),('confirmed', 'Confirmed'),('done', 'Done'),('cancel', 'Cancelled'),('exception', 'Exception')], 'State', required=True, readonly=True,
                 help='* The \'Draft\' state is set when the related sale order in draft state. \
                     \n* The \'Confirmed\' state is set when the related sale order is confirmed. \
@@ -889,7 +880,7 @@ class sale_order_line(osv.osv):
                     \n* The \'Cancelled\' state is set when a user cancel the sale order related.'),
         'order_partner_id': fields.related('order_id', 'partner_id', type='many2one', relation='res.partner', string='Customer'),
         'salesman_id':fields.related('order_id', 'user_id', type='many2one', relation='res.users', string='Salesman'),
-        'company_id': fields.related('order_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True, states={'draft':[('readonly',False)]}),
+        'company_id': fields.related('order_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True, states={'draft': [('readonly', False)]}),
     }
     _order = 'sequence, id desc'
     _defaults = {
@@ -897,7 +888,7 @@ class sale_order_line(osv.osv):
         'delay': 0.0,
         'product_uom_qty': 1,
         'product_uos_qty': 1,
-        'sequence':  10,
+        'sequence': 10,
         'invoiced': 0,
         'state': 'draft',
         'type': 'make_to_stock',
@@ -1050,7 +1041,6 @@ class sale_order_line(osv.osv):
             return {'value': {'th_weight': 0, 'product_packaging': False,
                 'product_uos_qty': qty}, 'domain': {'product_uom': [],
                    'product_uos': []}}
-
         if not date_order:
             date_order = time.strftime('%Y-%m-%d')
 
@@ -1082,7 +1072,6 @@ class sale_order_line(osv.osv):
             uom2 = product_uom_obj.browse(cr, uid, uom)
             if product_obj.uom_id.category_id.id != uom2.category_id.id:
                 uom = False
-
         if uos:
             if product_obj.uos_id:
                 uos2 = product_uom_obj.browse(cr, uid, uos)
@@ -1143,10 +1132,7 @@ class sale_order_line(osv.osv):
                      max(0,product_obj.virtual_available), product_obj.uom_id.name,
                      max(0,product_obj.qty_available), product_obj.uom_id.name)
             }
-
-
         # get unit price
-
         if not pricelist:
             warning = {
                 'title': 'No Pricelist !',
@@ -1190,12 +1176,11 @@ class sale_order_line(osv.osv):
         """Allows to delete sale order lines in draft,cancel states"""
         for rec in self.browse(cr, uid, ids, context=context):
             if rec.state not in ['draft', 'cancel']:
-                raise osv.except_osv(_('Invalid action !'), _('Cannot delete a sale order line which is %s !')%(rec.state,))
+                raise osv.except_osv(_('Invalid action !'), _('Cannot delete a sale order line which is %s !') %(rec.state,))
         return super(sale_order_line, self).unlink(cr, uid, ids, context=context)
 
 sale_order_line()
 
-
 class sale_config_picking_policy(osv.osv_memory):
     _name = 'sale.config.picking_policy'
     _inherit = 'res.config'
index ae29b70..f9e0c38 100644 (file)
@@ -116,10 +116,8 @@ class stock_picking(osv.osv):
         result = super(stock_picking, self).action_invoice_create(cursor, user,
                 ids, journal_id=journal_id, group=group, type=type,
                 context=context)
-
         picking_ids = result.keys()
         invoice_ids = result.values()
-
         invoices = {}
         for invoice in invoice_obj.browse(cursor, user, invoice_ids,
                 context=context):
@@ -127,20 +125,16 @@ class stock_picking(osv.osv):
 
         for picking in picking_obj.browse(cursor, user, picking_ids,
                 context=context):
-
             if not picking.sale_id:
                 continue
             sale_lines = picking.sale_id.order_line
             invoice_created = invoices[result[picking.id]]
-
             for inv in invoice_obj.browse(cursor, user, [invoice_created.id], context=context):
                 if not inv.fiscal_position:
                     invoice_obj.write(cursor, user, [inv.id], {'fiscal_position': picking.sale_id.fiscal_position.id}, context=context)
-
             if picking.sale_id.client_order_ref:
                 inv_name = picking.sale_id.client_order_ref + " : " + invoice_created.name
                 invoice_obj.write(cursor, user, [invoice_created.id], {'name': inv_name}, context=context)
-
             for sale_line in sale_lines:
                 if sale_line.product_id.type == 'service' and sale_line.invoiced == False:
                     if group:
@@ -182,10 +176,9 @@ class stock_picking(osv.osv):
                         'account_analytic_id': account_analytic_id,
                         'notes':sale_line.notes
                     }, context=context)
-                    self.pool.get('sale.order.line').write(cursor, user, [sale_line.id], {'invoiced':True,
+                    self.pool.get('sale.order.line').write(cursor, user, [sale_line.id], {'invoiced': True,
                         'invoice_lines': [(6, 0, [invoice_line_id])],
                     })
-
         return result
 
     def action_cancel(self, cr, uid, ids, context={}):
@@ -194,7 +187,7 @@ class stock_picking(osv.osv):
             call_ship_end = True
             if pick.sale_id:
                 for picks in pick.sale_id.picking_ids:
-                    if picks.state not in ('done','cancel'):
+                    if picks.state not in ('done', 'cancel'):
                         call_ship_end = False
                         break
                 if call_ship_end:
index 0133391..0535212 100644 (file)
@@ -1,5 +1,5 @@
 -
-  In order to test the 'Make Invoices' wizard of sale module in the Open-ERP, 
+  In order to test the 'Make Invoices' wizard of sale module in the Open-ERP,
   I create two Sale order,group them and create invoice.
 -
   I create a Sale Order for Slider Mobile for qty 100 having order_policy manual.
@@ -28,7 +28,7 @@
     shop_id: sale.shop
 -
   I confirm the Sale Order.
-- 
+-
   !workflow {model: sale.order, action: order_confirm, ref: sale_order_so3}
 -
   I create a Sale Order for products Slider Mobile and LG Viewty Smart for qty 100 having order_policy manual.
@@ -56,7 +56,7 @@
         product_id: sale.product_product_lgviewtysmart0
         product_uos_qty: 100.0
         th_weight: 0.0
-        type: make_to_order      
+        type: make_to_order
     order_policy: manual
     partner_id: sale.res_partner_cleartrail0
     partner_invoice_id: sale.res_partner_address_2
     picking_policy: direct
     pricelist_id: product.list0
     shop_id: sale.shop
-- 
-  I confirm the Sale Order.
-- 
-  !workflow {model: sale.order, action: order_confirm, ref: sale_order_so4}
--
-  Then I cancel the sale order line
--
-  I click on the "Cancel" button of sale order line and verify that it gives a warning message.
 -
-  !python {model: sale.order.line}: |
-    sale_order_obj = self.pool.get('sale.order')
-    so = sale_order_obj.browse(cr, uid, ref("sale_order_so4"))
-    sol = so.order_line[1] 
-    try:
-        self.button_cancel(cr, uid, [sol.id], {"lang": "en_US", "tz": False, "active_model":
-          "ir.ui.menu", "active_ids": [ref("sale.menu_invoicing_sales_order_lines")],
-          "search_default_uninvoiced": 1, "active_id": ref("sale.menu_invoicing_sales_order_lines"),
-          })  
-    except:
-        pass
--   
-  I verify that picking has been generated for the sale order.
-- 
-  !python {model: sale.order}: |
-    so = self.browse(cr, uid, ref("sale_order_so4"))
-    assert so.picking_ids,"Picking has not been generated for sale_order_so4"
--
-  Then I cancel its related stock move from Outgoing Products
--
-  !python {model: stock.move}: |
-    sale_order_obj = self.pool.get('sale.order')
-    so = sale_order_obj.browse(cr, uid, ref("sale_order_so4"))
-    pick_obj = self.pool.get('stock.picking')
-    pick_id = pick_obj.search(cr, uid, [('origin', '=', so.name),('type','=','out')])
-    pick_brw = pick_obj.browse(cr,uid,pick_id)[0]
-    move_obj = self.pool.get('stock.move')
-    move_id = move_obj.search(cr, uid, [('picking_id', '=', pick_brw.name),('name','=','LG Viewty Smart')])
-    self.action_cancel(cr,uid,move_id)
--    
-  Then I cancel its related stock move from Delivery Order
-- 
-  !python {model: stock.move}: |
-    sale_order_obj = self.pool.get('sale.order')
-    so = sale_order_obj.browse(cr, uid, ref("sale_order_so4"))
-    pick_obj = self.pool.get('stock.picking')
-    pick_id = pick_obj.search(cr, uid, [('origin', '=', so.name)])
-    pick_brw = pick_obj.browse(cr,uid,pick_id)[0]
-    move_obj = self.pool.get('stock.move')
-    move_id = move_obj.search(cr, uid, [('picking_id', '=', pick_brw.name),('name','=','LG Viewty Smart')])
-    self.action_cancel(cr,uid,move_id)
--
-  Then I cancel the sale order line for LG Viewty Smart
--
-  !python {model: sale.order.line}: |
-    sale_order_obj = self.pool.get('sale.order')
-    so = sale_order_obj.browse(cr, uid, ref("sale_order_so4"))
-    sol = so.order_line[1] 
-    self.button_cancel(cr, uid, [sol.id], {"lang": "en_US", "tz": False, "active_model":
-      "ir.ui.menu", "active_ids": [ref("sale.menu_invoicing_sales_order_lines")],
-      "search_default_uninvoiced": 1, "active_id": ref("sale.menu_invoicing_sales_order_lines"),
-      })
--
-  I verify that the state of sale order line is cancel  
+  I confirm the Sale Order.
 -
-  !python {model: sale.order.line}: |
-    sale_order_obj = self.pool.get('sale.order')
-    so = sale_order_obj.browse(cr, uid, ref("sale_order_so4"))
-    chk = self.search(cr, uid, [('order_id', '=', so.name),('state','=','cancel')])
-    assert chk,"Sale order line has not been cancelled"
+  !workflow {model: sale.order, action: order_confirm, ref: sale_order_so4}
 -
   Then I click on the "Make Invoices" button
 -
     inv = self.search(cr, uid, [('origin','=','Test_SO004|Test_SO003|')])
     assert inv, "Invoices has not been generated"
 -
-  I verify that an account invoice line with origin 'Test_SO004' is created 
-- 
+  I verify that an account invoice line with origin 'Test_SO004' is created
+-
   !python {model: account.invoice.line}: |
     sale_order_obj = self.pool.get('sale.order')
     acc_inv_obj = self.pool.get('account.invoice')
     inv_line = self.search(cr, uid, [('origin','=',so.name),('name','=','Slider Mobile'),('invoice_id','=',inv)])
     assert inv_line, "Account invoice line has not been created"
 -
-  I verify that an account invoice line with origin 'Test_SO003' is created 
+  I verify that an account invoice line with origin 'Test_SO003' is created
 -
   !python {model: account.invoice.line}: |
     sale_order_obj = self.pool.get('sale.order')
         wf_service.trg_validate(uid, 'account.invoice',id,'invoice_open', cr)
 -
   I assign an analytic journal to the bank journal
-- 
+-
   !record {model: account.journal, id: sale.account_journal_bankjournal0}:
     analytic_journal_id: account.cose_journal_sale
 -
         ref('account.period_8'), ref('sale.account_journal_bankjournal0'),
         name='tst')
 -
-  I verify the invoice is in Paid state 
+  I verify the invoice is in Paid state
 -
   !python {model: account.invoice}: |
     invoice_id = self.search(cr, uid, [('origin','=','Test_SO004|Test_SO003|'),('state','=','paid')])
index 4281e18..0b6a521 100644 (file)
@@ -27,33 +27,33 @@ class sale_order_line_make_invoice(osv.osv_memory):
     _name = "sale.order.line.make.invoice"
     _description = "Sale OrderLine Make_invoice"
     def make_invoices(self, cr, uid, ids, context):
-        """ 
+        """
              To make invoices.
-            
+
              @param self: The object pointer.
              @param cr: A database cursor
              @param uid: ID of the user currently logged in
-             @param ids: the ID or list of IDs 
-             @param context: A standard dictionary 
-             
-             @return: A dictionary which of fields with values. 
-        
-        """        
+             @param ids: the ID or list of IDs
+             @param context: A standard dictionary
+
+             @return: A dictionary which of fields with values.
+
+        """
 
         res = False
         invoices = {}
 
     #TODO: merge with sale.py/make_invoice
         def make_invoice(order, lines):
-            """ 
+            """
                  To make invoices.
-                
-                 @param order: 
-                 @param lines: 
-                
-                 @return:  
-            
-            """            
+
+                 @param order:
+                 @param lines:
+
+                 @return:
+
+            """
             a = order.partner_id.property_account_receivable.id
             if order.partner_id and order.partner_id.property_payment_term.id:
                 pay_term = order.partner_id.property_payment_term.id
@@ -68,7 +68,7 @@ class sale_order_line_make_invoice(osv.osv_memory):
                 'partner_id': order.partner_id.id,
                 'address_invoice_id': order.partner_invoice_id.id,
                 'address_contact_id': order.partner_invoice_id.id,
-                'invoice_line': [(6,0,lines)],
+                'invoice_line': [(6, 0, lines)],
                 'currency_id' : order.pricelist_id.currency_id.id,
                 'comment': order.note,
                 'payment_term': pay_term,
@@ -81,7 +81,7 @@ class sale_order_line_make_invoice(osv.osv_memory):
         sales_order_obj = self.pool.get('sale.order')
         wf_service = netsvc.LocalService('workflow')
         for line in sales_order_line_obj.browse(cr, uid, context['active_ids']):
-            if (not line.invoiced) and (line.state not in ('draft','cancel')):
+            if (not line.invoiced) and (line.state not in ('draft', 'cancel')):
                 if not line.order_id.id in invoices:
                     invoices[line.order_id.id] = []
                 line_id = sales_order_line_obj.invoice_line_create(cr, uid,
@@ -90,12 +90,12 @@ class sale_order_line_make_invoice(osv.osv_memory):
                     invoices[line.order_id.id].append((line, lid))
                 sales_order_line_obj.write(cr, uid, [line.id],
                         {'invoiced': True})
-            for result in invoices.values():
-                order = result[0][0].order_id
-                il = map(lambda x: x[1], result)
-                res = make_invoice(order, il)
-                cr.execute('INSERT INTO sale_order_invoice_rel \
-                        (order_id,invoice_id) values (%s,%s)', (order.id, res))
+        for result in invoices.values():
+            order = result[0][0].order_id
+            il = map(lambda x: x[1], result)
+            res = make_invoice(order, il)
+            cr.execute('INSERT INTO sale_order_invoice_rel \
+                    (order_id,invoice_id) values (%s,%s)', (order.id, res))
 
             flag = True
             data_sale = sales_order_obj.browse(cr, uid, line.order_id.id)
@@ -105,11 +105,11 @@ class sale_order_line_make_invoice(osv.osv_memory):
                     break
             if flag:
                 wf_service.trg_validate(uid, 'sale.order', line.order_id.id, 'all_lines', cr)
-                sales_order_obj.write(cr, uid, [line.order_id.id], {'state' : 'progress'})
+                sales_order_obj.write(cr, uid, [line.order_id.id], {'state': 'progress'})
 
         if not invoices:
             raise osv.except_osv(_('Warning'), _('Invoice cannot be created for this Sale Order Line due to one of the following reasons:\n1.The state of this sale order line is either "draft" or "cancel"!\n2.The Sale Order Line is Invoiced!'))
-        
+
         return {}
 
 sale_order_line_make_invoice()
index 8d0b191..242d83c 100644 (file)
@@ -27,7 +27,7 @@ class sale_make_invoice(osv.osv_memory):
     _description = "Sale Make Invoice"
     _columns = {
         'grouped': fields.boolean('Group the invoices', help='Check the box to group the invoices for the same customers'),
-        'invoice_date':fields.date('Invoice Date'),
+        'invoice_date': fields.date('Invoice Date'),
     }
     _defaults = {
         'grouped': False
@@ -66,7 +66,7 @@ class sale_make_invoice(osv.osv_memory):
             'view_mode': 'tree,form',
             'res_model': 'account.invoice',
             'view_id': False,
-            'context': "{'type':'out_refund'}",
+            'context': "{'type': 'out_refund'}",
             'type': 'ir.actions.act_window',
             'search_view_id': id['res_id']                
         }
index ea7cdd5..b60591b 100644 (file)
@@ -83,12 +83,12 @@ class sale_advance_payment_inv(osv.osv_memory):
                     'reference': False,
                     'account_id': sale.partner_id.property_account_receivable.id,
                     'partner_id': sale.partner_id.id,
-                    'address_invoice_id':sale.partner_invoice_id.id,
-                    'address_contact_id':sale.partner_order_id.id,
+                    'address_invoice_id': sale.partner_invoice_id.id,
+                    'address_contact_id': sale.partner_order_id.id,
                     'invoice_line': [(6, 0, create_ids)],
-                    'currency_id' :sale.pricelist_id.currency_id.id,
+                    'currency_id': sale.pricelist_id.currency_id.id,
                     'comment': '',
-                    'payment_term':sale.payment_term.id,
+                    'payment_term': sale.payment_term.id,
                     'fiscal_position': sale.fiscal_position.id or sale.partner_id.property_account_position.id
                 }
 
@@ -98,7 +98,7 @@ class sale_advance_payment_inv(osv.osv_memory):
                 for inv in sale.invoice_ids:
                     ids_inv.append(inv.id)
                 ids_inv.append(inv_id)
-                obj_sale.write(cr, uid, sale.id, {'invoice_ids':[(6, 0, ids_inv)]})
+                obj_sale.write(cr, uid, sale.id, {'invoice_ids': [(6, 0, ids_inv)]})
                 list_inv.append(inv_id)
         #
         # If invoice on picking: add the cost on the SO
@@ -127,7 +127,7 @@ class sale_advance_payment_inv(osv.osv_memory):
             'res_model': 'sale.open.invoice',
             'type': 'ir.actions.act_window',
             'target': 'new',
-            'context':context
+            'context': context
         }
 
 sale_advance_payment_inv()
@@ -151,7 +151,6 @@ class sale_open_invoice(osv.osv_memory):
         mod_obj = self.pool.get('ir.model.data')
         for advance_pay in self.browse(cr, uid, ids):
             result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
-            id = mod_obj.read(cr, uid, result, ['res_id'])
             form_id = mod_obj._get_id(cr, uid, 'account', 'invoice_form')
             form_res = mod_obj.browse(cr, uid, form_id, context=context).res_id
             tree_id = mod_obj._get_id(cr, uid, 'account', 'invoice_tree')
@@ -164,7 +163,7 @@ class sale_open_invoice(osv.osv_memory):
             'res_id': int(context['invoice_id'][0]),
             'view_id': False,
             'views': [(form_res, 'form'), (tree_res, 'tree')],
-            'context': "{'type':'out_invoice'}",
+            'context': "{'type': 'out_invoice'}",
             'type': 'ir.actions.act_window',
          }
 
index 0d1c8d8..bb879b3 100644 (file)
@@ -6,14 +6,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-08-02 14:34+0000\n"
-"Last-Translator: mga (Open ERP) <Unknown>\n"
+"POT-Creation-Date: 2010-10-18 17:46+0000\n"
+"PO-Revision-Date: 2010-10-25 17:14+0000\n"
+"Last-Translator: Chertykov Denis <chertykov@gmail.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-09-29 05:12+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:40+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: sale_analytic_plans
@@ -22,6 +22,14 @@ msgid "Analytic Distribution"
 msgstr "Аналитическое распределение"
 
 #. module: sale_analytic_plans
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_  и не должно содержать специальных "
+"символов !"
+
+#. module: sale_analytic_plans
 #: constraint:ir.ui.view:0
 msgid "Invalid XML for View Architecture!"
 msgstr "Неправильный XML для просмотра архитектуры!"
@@ -30,3 +38,8 @@ msgstr "Неправильный XML для просмотра архитект
 #: model:ir.module.module,shortdesc:sale_analytic_plans.module_meta_information
 msgid "Sales Analytic Distribution Management"
 msgstr ""
+
+#. module: sale_analytic_plans
+#: model:ir.model,name:sale_analytic_plans.model_sale_order_line
+msgid "Sale Order Line"
+msgstr "Позиция заказа"
index 9fffae1..cc006f3 100644 (file)
@@ -30,7 +30,7 @@ class sale_order_line(osv.osv):
         if context is None:
             context = {}
         line_obj = self.pool.get('account.invoice.line')
-        create_ids = super(sale_order_line,self).invoice_line_create(cr, uid, ids, context=context)
+        create_ids = super(sale_order_line, self).invoice_line_create(cr, uid, ids, context=context)
         i = 0
         for line in self.browse(cr, uid, ids, context):
             line_obj.write(cr, uid, [create_ids[i]], {'analytics_id': line.analytics_id.id})
@@ -39,4 +39,4 @@ class sale_order_line(osv.osv):
 
 sale_order_line()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 932b548..c912f5e 100644 (file)
@@ -30,7 +30,7 @@
         <field name="type">form</field>
         <field name="inherit_id" ref="sale.view_order_line_form2"/>
         <field name="arch" type="xml">
-            <field name="product_id" readonly="1" select="1" position="after">
+            <field name="product_id" position="after">
                 <field name="analytics_id" domain="[('plan_id','&lt;&gt;',False)]"/>
             </field>
         </field>
index c531795..0c72c32 100644 (file)
@@ -71,7 +71,6 @@ class crm_make_sale(osv.osv_memory):
         case_obj = self.pool.get('crm.lead')
         sale_obj = self.pool.get('sale.order')
         partner_obj = self.pool.get('res.partner')
-
         data = context and context.get('active_ids', []) or []
 
         for make in self.browse(cr, uid, ids, context=context):
@@ -81,7 +80,6 @@ class crm_make_sale(osv.osv_memory):
             pricelist = partner.property_product_pricelist.id
             fpos = partner.property_account_position and partner.property_account_position.id or False
             new_ids = []
-
             for case in case_obj.browse(cr, uid, data, context=context):
                 if not partner and case.partner_id:
                     partner = case.partner_id
@@ -89,7 +87,6 @@ class crm_make_sale(osv.osv_memory):
                     partner_addr = partner_obj.address_get(cr, uid, [partner.id], 
                             ['default', 'invoice', 'delivery', 'contact'])
                     pricelist = partner.property_product_pricelist.id
-
                 if False in partner_addr.values():
                     raise osv.except_osv(_('Data Insufficient!'), _('Customer has no addresses defined!'))
 
@@ -105,10 +102,8 @@ class crm_make_sale(osv.osv_memory):
                     'date_order': time.strftime('%Y-%m-%d'), 
                     'fiscal_position': fpos, 
                 }
-
                 if partner.id:
                     vals['user_id'] = partner.user_id and partner.user_id.id or uid
-
                 new_id = sale_obj.create(cr, uid, vals)
                 case_obj.write(cr, uid, [case.id], {'ref': 'sale.order,%s' % new_id})
                 new_ids.append(new_id)
@@ -118,7 +113,6 @@ class crm_make_sale(osv.osv_memory):
 
             if make.close:
                 case_obj.case_close(cr, uid, data)
-
             if not new_ids:
                 return {}
             if len(new_ids)<=1:
@@ -157,7 +151,7 @@ class crm_make_sale(osv.osv_memory):
     }
     _defaults = {
          'shop_id': _get_shop_id, 
-         'close': lambda *args: 1, 
+         'close': True, 
          'partner_id': _selectPartner, 
     }
 
index 00c3a77..5434df1 100644 (file)
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
-import time
 
 from osv import osv, fields
-import netsvc
-from tools.translate import _
 
 class sale_journal_invoice_type(osv.osv):
     _name = 'sale_journal.invoice.type'
@@ -31,7 +28,7 @@ class sale_journal_invoice_type(osv.osv):
         'name': fields.char('Invoice Type', size=64, required=True),
         'active': fields.boolean('Active', help="If the active field is set to true, it will allow you to hide the invoice type without removing it."),
         'note': fields.text('Note'),
-        'invoicing_method': fields.selection([('simple','Non grouped'),('grouped','Grouped')], 'Invoicing method', required=True),
+        'invoicing_method': fields.selection([('simple', 'Non grouped'), ('grouped', 'Grouped')], 'Invoicing method', required=True),
     }
     _defaults = {
         'active': True,
index 847c2cb..94b10c8 100755 (executable)
@@ -21,7 +21,6 @@
 import time
 from report import report_sxw
 
-
 rml_parents = {
     'tr': 1,
     'li': 1,
@@ -29,7 +28,6 @@ rml_parents = {
     'section': 0
 }
 
-
 class sale_order_1(report_sxw.rml_parse):
     def __init__(self, cr, uid, name, context):
         super(sale_order_1, self).__init__(cr, uid, name, context)
@@ -131,6 +129,7 @@ class sale_order_1(report_sxw.rml_parse):
 
             result.append(res)
         return result
+
 report_sxw.report_sxw('report.sale.order.layout', 'sale.order', 'addons/sale_layout/report/report_sale_layout.rml', parser=sale_order_1)
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 
index 6144ea1..e5554ab 100755 (executable)
 #
 ##############################################################################
 
-from osv import fields,osv
-from tools import config
+from osv import fields, osv
 import decimal_precision as dp
-from tools.translate import _
 
 class sale_order_line(osv.osv):
 
     def _amount_line(self, cr, uid, ids, field_name, arg, context=None):
-        tax_obj = self.pool.get('account.tax')
-        cur_obj = self.pool.get('res.currency')
         res = {}
         context = context or {}
         for line in self.browse(cr, uid, ids, context=context):
-            if line.layout_type=='article':
+            if line.layout_type == 'article':
                 return super(sale_order_line, self)._amount_line(cr, uid, ids, field_name, arg, context)
         return res
+    
     def invoice_line_create(self, cr, uid, ids, context={}):
         new_ids = []
         list_seq = []
@@ -52,33 +49,33 @@ class sale_order_line(osv.osv):
         return invoice_line_ids
 
     def onchange_sale_order_line_view(self, cr, uid, id, type, context={}, *args):
-            temp ={}
-            temp['value']= {}
-            if (not type):
-                return {}
-            if type != 'article':
-                temp = {
-                    'value': {
-                    'product_id': False,
-                    'uos_id': False,
-                    'account_id': False,
-                    'price_unit': 0.0,
-                    'price_subtotal': 0.0,
-                    'quantity': 0,
-                    'discount': 0.0,
-                    'invoice_line_tax_id': False,
-                    'account_analytic_id': False,
-                    'product_uom_qty':0.0,
-                    },
-                }
-                if type == 'line':
-                    temp['value']['name'] = ' '
-                if type == 'break':
-                    temp['value']['name'] = ' '
-                if type == 'subtotal':
-                    temp['value']['name'] = 'Sub Total'
-                return temp
+        temp = {}
+        temp['value'] = {}
+        if (not type):
             return {}
+        if type != 'article':
+            temp = {
+                'value': {
+                'product_id': False,
+                'uos_id': False,
+                'account_id': False,
+                'price_unit': 0.0,
+                'price_subtotal': 0.0,
+                'quantity': 0,
+                'discount': 0.0,
+                'invoice_line_tax_id': False,
+                'account_analytic_id': False,
+                'product_uom_qty': 0.0,
+                },
+            }
+            if type == 'line':
+                temp['value']['name'] = ' '
+            if type == 'break':
+                temp['value']['name'] = ' '
+            if type == 'subtotal':
+                temp['value']['name'] = 'Sub Total'
+            return temp
+        return {}
 
     def create(self, cr, user, vals, context=None):
         if vals.has_key('layout_type'):
@@ -104,28 +101,26 @@ class sale_order_line(osv.osv):
         default['layout_type'] = self.browse(cr, uid, id).layout_type
         return super(sale_order_line, self).copy(cr, uid, id, default, context)
 
-
-    _name = "sale.order.line"
     _order = "order_id, sequence asc"
     _description = "Sale Order line"
     _inherit = "sale.order.line"
     _columns = {
         'layout_type': fields.selection([
-                ('article','Product'),
-                ('title','Title'),
-                ('text','Note'),
-                ('subtotal','Sub Total'),
-                ('line','Separator Line'),
-                ('break','Page Break'),]
+                ('article', 'Product'),
+                ('title', 'Title'),
+                ('text', 'Note'),
+                ('subtotal', 'Sub Total'),
+                ('line', 'Separator Line'),
+                ('break', 'Page Break'),]
             ,'Layout Type', select=True, required=True),
         'sequence': fields.integer('Sequence Number'),
-        'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft':[('readonly',False)]}),
+        'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}),
         'product_uom_qty': fields.float('Quantity (UoM)', digits=(16,2)),
         'product_uom': fields.many2one('product.uom', 'Product UoM'),
     }
 
     _defaults = {
-        'layout_type': lambda *a: 'article',
+        'layout_type': 'article',
     }
 
 sale_order_line()
@@ -139,7 +134,7 @@ class one2many_mod2(fields.one2many):
         res = {}
         for id in ids:
             res[id] = []
-        ids2 = obj.pool.get(self._obj).search(cr, user, [(self._fields_id,'in',ids),('layout_type','=','article')], limit=self._limit)
+        ids2 = obj.pool.get(self._obj).search(cr, user, [(self._fields_id, 'in', ids), ('layout_type', '=', 'article')], limit=self._limit)
         for r in obj.pool.get(self._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'):
             res[r[self._fields_id]].append( r['id'] )
         return res
@@ -155,8 +150,8 @@ class sale_order(osv.osv):
 
     _inherit = "sale.order"
     _columns = {
-        'abstract_line_ids': fields.one2many('sale.order.line', 'order_id', 'Order Lines',readonly=True, states={'draft':[('readonly',False)]}),
-        'order_line': one2many_mod2('sale.order.line', 'order_id', 'Order Lines',readonly=True, states={'draft':[('readonly',False)]}),
+        'abstract_line_ids': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)]}),
+        'order_line': one2many_mod2('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)]}),
     }
 
 sale_order()
index 03b1696..2f756d5 100644 (file)
@@ -18,9 +18,7 @@
 #
 ##############################################################################
 
-from osv import fields,osv
-import pooler
-from tools import config
+from osv import fields, osv
 
 class sale_order_line(osv.osv):
     _inherit = "sale.order.line"
@@ -33,7 +31,7 @@ class sale_order_line(osv.osv):
             lang=lang, update_tax=update_tax, date_order=date_order, packaging=packaging, fiscal_position=fiscal_position, flag=flag)
         if product:
             purchase_price = self.pool.get('product.product').browse(cr, uid, product).standard_price
-            res['value'].update({'purchase_price':purchase_price})
+            res['value'].update({'purchase_price': purchase_price})
         return res
 
     def _product_margin(self, cr, uid, ids, field_name, arg, context=None):
@@ -42,9 +40,9 @@ class sale_order_line(osv.osv):
             res[line.id] = 0
             if line.product_id:
                 if line.purchase_price:
-                    res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.purchase_price*line.product_uos_qty),2)
+                    res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.purchase_price*line.product_uos_qty), 2)
                 else:
-                    res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.product_id.standard_price*line.product_uos_qty),2)
+                    res[line.id] = round((line.price_unit*line.product_uos_qty*(100.0-line.discount)/100.0) -(line.product_id.standard_price*line.product_uos_qty), 2)
         return res
 
     _columns = {
@@ -75,7 +73,7 @@ class stock_picking(osv.osv):
     _inherit = 'stock.picking'
 
     _columns = {
-        'invoice_ids': fields.many2many('account.invoice', 'picking_invoice_rel', 'picking_id', 'invoice_id', 'Invoices', domain=[('type','=','out_invoice')]),
+        'invoice_ids': fields.many2many('account.invoice', 'picking_invoice_rel', 'picking_id', 'invoice_id', 'Invoices', domain=[('type', '=', 'out_invoice')]),
     }
 
     def create_invoice(self, cr, uid, ids, *args):
@@ -86,7 +84,7 @@ class stock_picking(osv.osv):
         picking_obj.write(cr, uid, ids, {'invoice_state': '2binvoiced'})
         res = picking_obj.action_invoice_create(cr, uid, ids, type='out_invoice', context={})
         invoice_ids = res.values()
-        picking_obj.write(cr, uid, ids,{'invoice_ids': [[6,0,invoice_ids]]})
+        picking_obj.write(cr, uid, ids, {'invoice_ids': [[6, 0, invoice_ids]]})
         return True
 
 stock_picking()
@@ -109,4 +107,5 @@ class account_invoice_line(osv.osv):
         return super(account_invoice_line, self).create(cr, uid, vals, context)
 
 account_invoice_line()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale_mrp/i18n/ru.po b/addons/sale_mrp/i18n/ru.po
new file mode 100644 (file)
index 0000000..9707875
--- /dev/null
@@ -0,0 +1,61 @@
+# Russian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-10-18 17:47+0000\n"
+"PO-Revision-Date: 2010-10-25 14:22+0000\n"
+"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
+"Language-Team: Russian <ru@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-10-26 04:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_ref:0
+msgid "Indicate the Customer Reference from sale order."
+msgstr ""
+
+#. module: sale_mrp
+#: help:mrp.production,sale_name:0
+msgid "Indicate the name of sale order."
+msgstr ""
+
+#. module: sale_mrp
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Неправильный XML для просмотра архитектуры!"
+
+#. module: sale_mrp
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Название объекта должно начинаться с x_  и не должно содержать специальных "
+"символов !"
+
+#. module: sale_mrp
+#: field:mrp.production,sale_name:0
+msgid "Sale Name"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.model,name:sale_mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr "Производственный заказ"
+
+#. module: sale_mrp
+#: field:mrp.production,sale_ref:0
+msgid "Sale Reference"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.module.module,shortdesc:sale_mrp.module_meta_information
+msgid "Sales and MRP Management"
+msgstr ""
index c278ef9..c11f62a 100644 (file)
@@ -62,9 +62,9 @@ class mrp_production(osv.osv):
         for production in productions:
             res[production.id] = False
             if production.move_prod_id:
-                parent_move_line = get_parent_move(production.move_prod_id)
+                parent_move_line = get_parent_move(production.move_prod_id.id)
                 if parent_move_line:
-                    move = move_obj.browse(cr,uid,parent_move_line)
+                    move = move_obj.browse(cr, uid, parent_move_line)
                     if field_name == 'name':
                         res[production.id] = move.sale_line_id and move.sale_line_id.order_id.name or False
                     if field_name == 'client_order_ref':
@@ -73,7 +73,7 @@ class mrp_production(osv.osv):
 
     _columns = {
         'sale_name': fields.function(_ref_calc, method=True, multi='sale_name', type='char', string='Sale Name', help='Indicate the name of sale order.'),
-        'sale_ref': fields.function(_ref_calc, method=True, multi='sale_ref', type='char', string='Sale Reference', help='Indicate the Customer Reference from sale order.'),
+        'sale_ref': fields.function(_ref_calc, method=True, multi='sale_name', type='char', string='Sale Reference', help='Indicate the Customer Reference from sale order.'),
     }
 
 mrp_production()
index beca56b..2877ba0 100644 (file)
@@ -19,7 +19,6 @@
 #
 ##############################################################################
 
-import time
 from datetime import datetime
 from dateutil.relativedelta import relativedelta
 
@@ -27,9 +26,8 @@ from osv import fields, osv
 
 class sale_order_dates(osv.osv):
     _inherit = 'sale.order'
-    _name = 'sale.order'
 
-    def _get_effective_date(self, cr, uid, ids, name, arg, context={}):
+    def _get_effective_date(self, cr, uid, ids, name, arg, context=None):
         res = {}
         dates_list = []
         for order in self.browse(cr, uid, ids):
@@ -39,10 +37,10 @@ class sale_order_dates(osv.osv):
             if dates_list:
                 res[order.id] = min(dates_list)
             else:
-                res[order.id] =False
-            return res
+                res[order.id] = False
+        return res
 
-    def _get_commitment_date(self, cr, uid, ids, name, arg, context={}):
+    def _get_commitment_date(self, cr, uid, ids, name, arg, context=None):
         res = {}
         dates_list = []
         for order in self.browse(cr, uid, ids):
@@ -53,12 +51,12 @@ class sale_order_dates(osv.osv):
                 dates_list.append(dt_s)
             if dates_list:
                 res[order.id] = min(dates_list)
-            return res
+        return res
 
     _columns = {
-        'commitment_date': fields.function(_get_commitment_date, method=True,store=True, type='date', string='Commitment Date', help="Date on which delivery of products is to be made"),
+        'commitment_date': fields.function(_get_commitment_date, method=True, store=True, type='date', string='Commitment Date', help="Date on which delivery of products is to be made"),
         'requested_date': fields.date('Requested Date', help="Date on which customer has requested for sales"),
-        'effective_date': fields.function(_get_effective_date, method=True, type='date', store=True,string='Effective Date',help="Date on which picking is created"),
+        'effective_date': fields.function(_get_effective_date, method=True, type='date', store=True, string='Effective Date',help="Date on which picking is created"),
     }
 
 sale_order_dates()
index 5bb53fe..c6544d5 100644 (file)
@@ -17,5 +17,6 @@
                 </field>
             </field>
         </record>
+
     </data>
-</openerp>
+</openerp>
\ No newline at end of file
index ad29f1a..eef6541 100644 (file)
@@ -7,13 +7,13 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2010-10-18 17:47+0000\n"
-"PO-Revision-Date: 2010-10-24 15:35+0000\n"
+"PO-Revision-Date: 2010-10-25 07:16+0000\n"
 "Last-Translator: Chertykov Denis <chertykov@gmail.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-10-25 04:38+0000\n"
+"X-Launchpad-Export-Date: 2010-10-26 04:39+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
 #. module: stock
diff --git a/addons/wiki_faq/i18n/ru.po b/addons/wiki_faq/i18n/ru.po
new file mode 100644 (file)
index 0000000..c09bb83
--- /dev/null
@@ -0,0 +1,27 @@
+# Russian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-10-18 17:47+0000\n"
+"PO-Revision-Date: 2010-10-25 13:55+0000\n"
+"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
+"Language-Team: Russian <ru@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-10-26 04:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: wiki_faq
+#: model:ir.module.module,description:wiki_faq.module_meta_information
+msgid ""
+"This module provides a wiki FAQ Template\n"
+"    "
+msgstr ""
+"Этот модуль предоставляет шаблон ЧаВо\n"
+"    "