diff --git a/addons/.bzrignore b/addons/.bzrignore deleted file mode 100644 index 8c348710117..00000000000 --- a/addons/.bzrignore +++ /dev/null @@ -1,2 +0,0 @@ -.* -**/node_modules diff --git a/addons/account/account.py b/addons/account/account.py index 4e075be9cbf..277574c3b4a 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -580,7 +580,14 @@ class account_account(osv.osv): pass if name: if operator not in expression.NEGATIVE_TERM_OPERATORS: - ids = self.search(cr, user, ['|', ('code', '=like', name+"%"), '|', ('shortcut', '=', name), ('name', operator, name)]+args, limit=limit) + plus_percent = lambda n: n+'%' + code_op, code_conv = { + 'ilike': ('=ilike', plus_percent), + 'like': ('=like', plus_percent), + }.get(operator, (operator, lambda n: n)) + + ids = self.search(cr, user, ['|', ('code', code_op, code_conv(name)), '|', ('shortcut', '=', name), ('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. @@ -2918,7 +2925,7 @@ class account_fiscal_position_template(osv.osv): 'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', required=True), 'account_ids': fields.one2many('account.fiscal.position.account.template', 'position_id', 'Account Mapping'), 'tax_ids': fields.one2many('account.fiscal.position.tax.template', 'position_id', 'Tax Mapping'), - 'note': fields.text('Notes', translate=True), + 'note': fields.text('Notes'), } def generate_fiscal_position(self, cr, uid, chart_temp_id, tax_template_ref, acc_template_ref, company_id, context=None): diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 9d4654c9eee..87c96fbdaf2 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -295,7 +295,8 @@ class account_invoice(osv.osv): }, multi='all'), 'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}, track_visibility='always'), - 'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}), + 'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}, + domain="[('type', 'in', {'out_invoice': ['sale'], 'out_refund': ['sale_refund'], 'in_refund': ['purchase_refund'], 'in_invoice': ['purchase']}.get(type, [])), ('company_id', '=', company_id)]"), 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}), 'check_total': fields.float('Verification Total', digits_compute=dp.get_precision('Account'), readonly=True, states={'draft':[('readonly',False)]}), 'reconciled': fields.function(_reconciled, string='Paid/Reconciled', type='boolean', diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index a37ca6acfd5..3d8d8302f32 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -579,6 +579,9 @@ class account_move_line(osv.osv): cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'account_move_line_journal_id_period_id_index\'') if not cr.fetchone(): cr.execute('CREATE INDEX account_move_line_journal_id_period_id_index ON account_move_line (journal_id, period_id)') + cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('account_move_line_date_id_index',)) + if not cr.fetchone(): + cr.execute('CREATE INDEX account_move_line_date_id_index ON account_move_line (date DESC, id desc)') return res def _check_no_view(self, cr, uid, ids, context=None): diff --git a/addons/account/demo/account_bank_statement.xml b/addons/account/demo/account_bank_statement.xml index 52667828cc5..693dbc876b5 100644 --- a/addons/account/demo/account_bank_statement.xml +++ b/addons/account/demo/account_bank_statement.xml @@ -7,7 +7,6 @@ - none BNK/2014/001 diff --git a/addons/account/partner.py b/addons/account/partner.py index cafd5505cad..36ad47fb159 100644 --- a/addons/account/partner.py +++ b/addons/account/partner.py @@ -33,7 +33,7 @@ class account_fiscal_position(osv.osv): 'company_id': fields.many2one('res.company', 'Company'), 'account_ids': fields.one2many('account.fiscal.position.account', 'position_id', 'Account Mapping'), 'tax_ids': fields.one2many('account.fiscal.position.tax', 'position_id', 'Tax Mapping'), - 'note': fields.text('Notes', translate=True), + 'note': fields.text('Notes'), } _defaults = { diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml index 9a2383de45b..65d3e95be54 100644 --- a/addons/account/security/account_security.xml +++ b/addons/account/security/account_security.xml @@ -139,6 +139,13 @@ ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])] + + Account subscription line company rule + + + ['|',('subscription_id.model_id.company_id','=',False),('subscription_id.model_id.company_id','child_of',[user.company_id.id])] + + Invoice Line company rule diff --git a/addons/account/views/report_agedpartnerbalance.xml b/addons/account/views/report_agedpartnerbalance.xml index 019f32a35de..c1f9047e330 100644 --- a/addons/account/views/report_agedpartnerbalance.xml +++ b/addons/account/views/report_agedpartnerbalance.xml @@ -99,7 +99,7 @@ - + diff --git a/addons/account/wizard/account_subscription_generate.py b/addons/account/wizard/account_subscription_generate.py index a61f3eee252..e284f1d12b1 100644 --- a/addons/account/wizard/account_subscription_generate.py +++ b/addons/account/wizard/account_subscription_generate.py @@ -36,11 +36,11 @@ class account_subscription_generate(osv.osv_memory): def action_generate(self, cr, uid, ids, context=None): mod_obj = self.pool.get('ir.model.data') act_obj = self.pool.get('ir.actions.act_window') + sub_line_obj = self.pool.get('account.subscription.line') moves_created=[] for data in self.read(cr, uid, ids, context=context): - cr.execute('select id from account_subscription_line where date<%s and move_id is null', (data['date'],)) - line_ids = map(lambda x: x[0], cr.fetchall()) - moves = self.pool.get('account.subscription.line').move_create(cr, uid, line_ids, context=context) + line_ids = sub_line_obj.search(cr, uid, [('date', '<', data['date']), ('move_id', '=', False)], context=context) + moves = sub_line_obj.move_create(cr, uid, line_ids, context=context) moves_created.extend(moves) result = mod_obj.get_object_reference(cr, uid, 'account', 'action_move_line_form') id = result and result[1] or False diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 519660fb708..9550f77bcab 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -22,7 +22,6 @@ from dateutil.relativedelta import relativedelta import datetime import logging import time -import traceback from openerp.osv import osv, fields from openerp.osv.orm import intersect, except_orm @@ -73,6 +72,7 @@ class account_analytic_invoice_line(osv.osv): result = {} res = self.pool.get('product.product').browse(cr, uid, product, context=local_context) + price = False if price_unit is not False: price = price_unit elif pricelist_id: @@ -746,29 +746,32 @@ class account_analytic_account(osv.osv): contract_ids = ids else: contract_ids = self.search(cr, uid, [('recurring_next_date','<=', current_date), ('state','=', 'open'), ('recurring_invoices','=', True), ('type', '=', 'contract')]) - for contract in self.browse(cr, uid, contract_ids, context=context): - try: - invoice_values = self._prepare_invoice(cr, uid, contract, context=context) - invoice_ids.append(self.pool['account.invoice'].create(cr, uid, invoice_values, context=context)) - next_date = datetime.datetime.strptime(contract.recurring_next_date or current_date, "%Y-%m-%d") - interval = contract.recurring_interval - if contract.recurring_rule_type == 'daily': - new_date = next_date+relativedelta(days=+interval) - elif contract.recurring_rule_type == 'weekly': - new_date = next_date+relativedelta(weeks=+interval) - elif contract.recurring_rule_type == 'monthly': - new_date = next_date+relativedelta(months=+interval) - else: - new_date = next_date+relativedelta(years=+interval) - self.write(cr, uid, [contract.id], {'recurring_next_date': new_date.strftime('%Y-%m-%d')}, context=context) - if automatic: - cr.commit() - except Exception: - if automatic: - cr.rollback() - _logger.error(traceback.format_exc()) - else: - raise + if contract_ids: + cr.execute('SELECT company_id, array_agg(id) as ids FROM account_analytic_account WHERE id IN %s GROUP BY company_id', (tuple(contract_ids),)) + for company_id, ids in cr.fetchall(): + for contract in self.browse(cr, uid, ids, context=dict(context, company_id=company_id, force_company=company_id)): + try: + invoice_values = self._prepare_invoice(cr, uid, contract, context=context) + invoice_ids.append(self.pool['account.invoice'].create(cr, uid, invoice_values, context=context)) + next_date = datetime.datetime.strptime(contract.recurring_next_date or current_date, "%Y-%m-%d") + interval = contract.recurring_interval + if contract.recurring_rule_type == 'daily': + new_date = next_date+relativedelta(days=+interval) + elif contract.recurring_rule_type == 'weekly': + new_date = next_date+relativedelta(weeks=+interval) + elif contract.recurring_rule_type == 'monthly': + new_date = next_date+relativedelta(months=+interval) + else: + new_date = next_date+relativedelta(years=+interval) + self.write(cr, uid, [contract.id], {'recurring_next_date': new_date.strftime('%Y-%m-%d')}, context=context) + if automatic: + cr.commit() + except Exception: + if automatic: + cr.rollback() + _logger.exception('Fail to create recurring invoice for contract %s', contract.code) + else: + raise return invoice_ids class account_analytic_account_summary_user(osv.osv): diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml index 1169d5ef7c3..b4578c9b035 100644 --- a/addons/account_voucher/voucher_payment_receipt_view.xml +++ b/addons/account_voucher/voucher_payment_receipt_view.xml @@ -334,7 +334,7 @@ diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml index 97f96f75901..2dd53832529 100644 --- a/addons/account_voucher/voucher_sales_purchase_view.xml +++ b/addons/account_voucher/voucher_sales_purchase_view.xml @@ -248,7 +248,7 @@ - + diff --git a/addons/auth_crypt/auth_crypt.py b/addons/auth_crypt/auth_crypt.py index 4651d27fe7d..c5bd5799017 100644 --- a/addons/auth_crypt/auth_crypt.py +++ b/addons/auth_crypt/auth_crypt.py @@ -117,10 +117,22 @@ def sh256crypt(cls, password, salt, magic=magic_sha256): class res_users(osv.osv): _inherit = "res.users" + def init(self, cr): + """Encrypt all passwords at module installation""" + cr.execute("SELECT id, password FROM res_users WHERE password IS NOT NULL and password != ''") + for user in cr.fetchall(): + self._set_encrypted_password(cr, user[0], user[1]) + + def _set_encrypted_password(self, cr, uid, plain_password): + """Set an encrypted password for a given user""" + salt = gen_salt() + stored_password_crypt = md5crypt(plain_password, salt) + cr.execute("UPDATE res_users SET password = '', password_crypt = %s WHERE id = %s", + (stored_password_crypt, uid)) + def set_pw(self, cr, uid, id, name, value, args, context): if value: - encrypted = md5crypt(value, gen_salt()) - cr.execute("update res_users set password='', password_crypt=%s where id=%s", (encrypted, id)) + self._set_encrypted_password(cr, id, value) del value def get_pw( self, cr, uid, ids, name, args, context ): @@ -144,9 +156,7 @@ class res_users(osv.osv): if cr.rowcount: stored_password, stored_password_crypt = cr.fetchone() if stored_password and not stored_password_crypt: - salt = gen_salt() - stored_password_crypt = md5crypt(stored_password, salt) - cr.execute("UPDATE res_users SET password='', password_crypt=%s WHERE id=%s", (stored_password_crypt, uid)) + self._set_encrypted_password(cr, uid, stored_password) try: return super(res_users, self).check_credentials(cr, uid, password) except openerp.exceptions.AccessDenied: diff --git a/addons/auth_oauth/controllers/main.py b/addons/auth_oauth/controllers/main.py index 99f134a5cbd..7652420d7c6 100644 --- a/addons/auth_oauth/controllers/main.py +++ b/addons/auth_oauth/controllers/main.py @@ -74,7 +74,7 @@ class OAuthLogin(Home): state = dict( d=request.session.db, p=provider['id'], - r=redirect, + r=werkzeug.url_quote_plus(redirect), ) token = request.params.get('token') if token: @@ -143,7 +143,7 @@ class OAuthController(http.Controller): cr.commit() action = state.get('a') menu = state.get('m') - redirect = state.get('r') + redirect = werkzeug.url_unquote_plus(state['r']) if state.get('r') else False url = '/web' if redirect: url = redirect diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py index e48533ebeb4..6c5e8d4d6cb 100644 --- a/addons/base_action_rule/base_action_rule.py +++ b/addons/base_action_rule/base_action_rule.py @@ -214,6 +214,7 @@ class base_action_rule(osv.osv): """ Wrap the methods `create` and `write` of the models specified by the rules given by `ids` (or all existing rules if `ids` is `None`.) """ + updated = False if ids is None: ids = self.search(cr, SUPERUSER_ID, []) for action_rule in self.browse(cr, SUPERUSER_ID, ids): @@ -223,20 +224,21 @@ class base_action_rule(osv.osv): model_obj.create = self._wrap_create(model_obj.create, model) model_obj.write = self._wrap_write(model_obj.write, model) model_obj.base_action_ruled = True - return True + updated = True + return updated def create(self, cr, uid, vals, context=None): res_id = super(base_action_rule, self).create(cr, uid, vals, context=context) - self._register_hook(cr, [res_id]) - openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) + if self._register_hook(cr, [res_id]): + openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) return res_id def write(self, cr, uid, ids, vals, context=None): if isinstance(ids, (int, long)): ids = [ids] super(base_action_rule, self).write(cr, uid, ids, vals, context=context) - self._register_hook(cr, ids) - openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) + if self._register_hook(cr, ids): + openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) return True def onchange_model_id(self, cr, uid, ids, model_id, context=None): @@ -266,7 +268,10 @@ class base_action_rule(osv.osv): action_ids = self.search(cr, uid, action_dom, context=context) for action in self.browse(cr, uid, action_ids, context=context): now = datetime.now() - last_run = get_datetime(action.last_run) if action.last_run else False + if action.last_run: + last_run = get_datetime(action.last_run) + else: + last_run = datetime.utcfromtimestamp(0) # retrieve all the records that satisfy the action's condition model = self.pool[action.model_id.model] @@ -297,11 +302,16 @@ class base_action_rule(osv.osv): if not record_dt: continue action_dt = self._check_delay(cr, uid, action, record, record_dt, context=context) - if last_run and (last_run <= action_dt < now) or (action_dt < now): + if last_run <= action_dt < now: try: + context = dict(context or {}, action=True) self._process(cr, uid, action, [record.id], context=context) except Exception: import traceback _logger.error(traceback.format_exc()) action.write({'last_run': now.strftime(DEFAULT_SERVER_DATETIME_FORMAT)}) + + if automatic: + # auto-commit for batch processing + cr.commit() diff --git a/addons/base_action_rule/base_action_rule_data.xml b/addons/base_action_rule/base_action_rule_data.xml index 7a9aabedf5f..d4b12f5d4a3 100644 --- a/addons/base_action_rule/base_action_rule_data.xml +++ b/addons/base_action_rule/base_action_rule_data.xml @@ -10,7 +10,7 @@ - + diff --git a/addons/base_gengo/controller/gengo_callback.py b/addons/base_gengo/controller/gengo_callback.py index 381ac7b7fe9..44fa9b9390a 100644 --- a/addons/base_gengo/controller/gengo_callback.py +++ b/addons/base_gengo/controller/gengo_callback.py @@ -1,22 +1,53 @@ # -*- coding: utf-8 -*- import openerp +from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request +from werkzeug.wrappers import BaseResponse as Response + import json + class website_gengo(http.Controller): + + def get_gengo_key(self, cr): + icp = request.registry['ir.config_parameter'] + return icp.get_param(cr, SUPERUSER_ID, request.registry['base.gengo.translations'].GENGO_KEY, default="") + @http.route('/website/gengo_callback', type='http', auth='none') - def gengo_callback(self,**post): + def gengo_callback(self, **post): cr, uid, context = request.cr, openerp.SUPERUSER_ID, request.context translation_pool = request.registry['ir.translation'] - if post and post.get('job'): - job = json.loads(post['job']) + if post and post.get('job') and post.get('pgk'): + if post.get('pgk') != self.get_gengo_key(cr): + return Response("Bad authentication - 403/412", status=412) + job = json.loads(post['job'], 'utf-8') tid = job.get('custom_data', False) if (job.get('status') == 'approved') and tid: term = translation_pool.browse(cr, uid, int(tid), context=context) - if term.job_id <> job.get('job_id'): - raise 'Error' - vals = {'state': 'translated', 'value': job.get('body_tgt')} - translation_pool.write(cr, uid, [int(tid)], vals, context=context) + if term.src != job.get('body_src'): + return Response("Text Altered - Not saved", status=100) + domain = [ + '|', + ('id', "=", int(tid)), + '&', '&', '&', '&', '&', + ('state', '=', term.state), + ('gengo_translation', '=', term.gengo_translation), + ('src', "=", term.src), + ('type', "=", term.type), + ('name', "=", term.name), + ('lang', "=", term.lang), + #('order_id', "=", term.order_id), + ] + + all_ir_tanslations = translation_pool.search(cr, uid, domain, context=context or {}) + + if all_ir_tanslations: + vals = {'state': 'translated', 'value': job.get('body_tgt')} + translation_pool.write(cr, uid, all_ir_tanslations, vals, context=context) + return Response("OK", status=200) + else: + return Response("No terms found", status=104) + return Response("Not saved", status=100) diff --git a/addons/base_gengo/gengo_sync_schedular_data.xml b/addons/base_gengo/gengo_sync_schedular_data.xml index 91a5c8266d8..e916489e5f7 100644 --- a/addons/base_gengo/gengo_sync_schedular_data.xml +++ b/addons/base_gengo/gengo_sync_schedular_data.xml @@ -8,6 +8,7 @@ 6 hours -1 + 0 @@ -20,6 +21,7 @@ 6 hours -1 + 0 diff --git a/addons/base_gengo/ir_translation.py b/addons/base_gengo/ir_translation.py index 306516878cc..142180a3627 100644 --- a/addons/base_gengo/ir_translation.py +++ b/addons/base_gengo/ir_translation.py @@ -56,16 +56,18 @@ LANG_CODE_MAPPING = { 'fi_FI': ('fi', 'Finnish') } + class ir_translation(osv.Model): _name = "ir.translation" _inherit = "ir.translation" + _columns = { 'gengo_comment': fields.text("Comments & Activity Linked to Gengo"), - 'job_id': fields.char('Gengo Job ID', size=32), + 'order_id': fields.char('Gengo Order ID', size=32), "gengo_translation": fields.selection([('machine', 'Translation By Machine'), - ('standard', 'Standard'), - ('pro', 'Pro'), - ('ultra', 'Ultra')], "Gengo Translation Service Level", help='You can select here the service level you want for an automatic translation using Gengo.'), + ('standard', 'Standard'), + ('pro', 'Pro'), + ('ultra', 'Ultra')], "Gengo Translation Service Level", help='You can select here the service level you want for an automatic translation using Gengo.'), } def _get_all_supported_languages(self, cr, uid, context=None): @@ -83,3 +85,19 @@ class ir_translation(osv.Model): def _get_gengo_corresponding_language(cr, lang): return lang in LANG_CODE_MAPPING and LANG_CODE_MAPPING[lang][0] or lang + + def _get_source_query(self, cr, uid, name, types, lang, source, res_id): + query, params = super(ir_translation, self)._get_source_query(cr, uid, name, types, lang, source, res_id) + + query += """ + ORDER BY + CASE + WHEN gengo_translation=%s then 10 + WHEN gengo_translation=%s then 20 + WHEN gengo_translation=%s then 30 + WHEN gengo_translation=%s then 40 + ELSE 0 + END DESC + """ + params += ('machine', 'standard', 'ultra', 'pro',) + return (query, params) diff --git a/addons/base_gengo/wizard/base_gengo_translations.py b/addons/base_gengo/wizard/base_gengo_translations.py index 08dfb0182ae..6c6ce1e6b42 100644 --- a/addons/base_gengo/wizard/base_gengo_translations.py +++ b/addons/base_gengo/wizard/base_gengo_translations.py @@ -19,12 +19,13 @@ # ############################################################################## +import uuid import logging import re import time from openerp.osv import osv, fields -from openerp import tools +from openerp import tools, SUPERUSER_ID from openerp.tools.translate import _ _logger = logging.getLogger(__name__) @@ -36,7 +37,9 @@ except ImportError: GENGO_DEFAULT_LIMIT = 20 + class base_gengo_translations(osv.osv_memory): + GENGO_KEY = "Gengo.UUID" _name = 'base.gengo.translations' _columns = { @@ -46,9 +49,20 @@ class base_gengo_translations(osv.osv_memory): 'lang_id': fields.many2one('res.lang', 'Language', required=True), 'sync_limit': fields.integer("No. of terms to sync"), } - _defaults = {'sync_type' : 'both', - 'sync_limit' : 20 - } + _defaults = { + 'sync_type': 'both', + 'sync_limit': 20 + } + + def init(self, cr): + icp = self.pool['ir.config_parameter'] + if not icp.get_param(cr, SUPERUSER_ID, self.GENGO_KEY, default=None): + icp.set_param(cr, SUPERUSER_ID, self.GENGO_KEY, str(uuid.uuid4())) + + def get_gengo_key(self, cr): + icp = self.pool['ir.config_parameter'] + return icp.get_param(cr, SUPERUSER_ID, self.GENGO_KEY, default="Undefined") + def gengo_authentication(self, cr, uid, context=None): ''' This method tries to open a connection with Gengo. For that, it uses the Public and Private @@ -113,48 +127,68 @@ class base_gengo_translations(osv.osv_memory): _logger.warning("%s", gengo) else: offset = 0 - all_translation_ids = translation_pool.search(cr, uid, [('state', '=', 'inprogress'), ('gengo_translation', 'in', ('machine', 'standard', 'pro', 'ultra')), ('job_id', "!=", False)], context=context) + all_translation_ids = translation_pool.search(cr, uid, [('state', '=', 'inprogress'), ('gengo_translation', 'in', ('machine', 'standard', 'pro', 'ultra')), ('order_id', "!=", False)], context=context) while True: translation_ids = all_translation_ids[offset:offset + limit] offset += limit if not translation_ids: break + + terms_progress = { + 'gengo_order_ids': set(), + 'ir_translation_ids': set(), + } translation_terms = translation_pool.browse(cr, uid, translation_ids, context=context) - gengo_job_id = [term.job_id for term in translation_terms] - if gengo_job_id: - gengo_ids = ','.join(gengo_job_id) + for term in translation_terms: + terms_progress['gengo_order_ids'].add(term.order_id) + terms_progress['ir_translation_ids'].add(tools.ustr(term.id)) + + for order_id in terms_progress['gengo_order_ids']: + order_response = gengo.getTranslationOrderJobs(id=order_id) + jobs_approved = order_response.get('response', []).get('order', []).get('jobs_approved', []) + gengo_ids = ','.join(jobs_approved) + + if gengo_ids: # Need to check, because getTranslationJobBatch don't catch this case and so call the getTranslationJobs because no ids in url try: job_response = gengo.getTranslationJobBatch(id=gengo_ids) except: continue if job_response['opstat'] == 'ok': for job in job_response['response'].get('jobs', []): - self._update_terms_job(cr, uid, job, context=context) + if job.get('custom_data') in terms_progress['ir_translation_ids']: + self._update_terms_job(cr, uid, job, context=context) return True def _update_terms_job(self, cr, uid, job, context=None): translation_pool = self.pool.get('ir.translation') tid = int(job['custom_data']) vals = {} - if job.get('job_id', False): - vals['job_id'] = job['job_id'] + if job.get('status', False) in ('queued', 'available', 'pending', 'reviewable'): vals['state'] = 'inprogress' - if job.get('status', False) in ('queued','available','pending','reviewable'): - vals['state'] = 'inprogress' - if job.get('body_tgt', False) and job.get('status', False)=='approved': + if job.get('body_tgt', False) and job.get('status', False) == 'approved': vals['value'] = job['body_tgt'] if job.get('status', False) in ('approved', 'canceled'): vals['state'] = 'translated' if vals: translation_pool.write(cr, uid, [tid], vals, context=context) - def _update_terms(self, cr, uid, response, context=None): + def _update_terms(self, cr, uid, response, term_ids, context=None): """ Update the terms after their translation were requested to Gengo """ - for jobs in response.get('jobs', []): + translation_pool = self.pool.get('ir.translation') + + vals = { + 'order_id': response.get('order_id', ''), + 'state': 'inprogress' + } + + translation_pool.write(cr, uid, term_ids, vals, context=context) + jobs = response.get('jobs', []) + if jobs: for t_id, res in jobs.items(): self._update_terms_job(cr, uid, res, context=context) + return def pack_jobs_request(self, cr, uid, term_ids, context=None): @@ -164,7 +198,7 @@ class base_gengo_translations(osv.osv_memory): 'term2.id': {...} } }''' - + base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url') translation_pool = self.pool.get('ir.translation') jobs = {} user = self.pool.get('res.users').browse(cr, uid, uid, context=context) @@ -173,7 +207,7 @@ class base_gengo_translations(osv.osv_memory): if re.search(r"\w", term.src or ""): comment = user.company_id.gengo_comment or '' if term.gengo_comment: - comment+='\n' + term.gengo_comment + comment += '\n' + term.gengo_comment jobs[time.strftime('%Y%m%d%H%M%S') + '-' + str(term.id)] = { 'type': 'text', 'slug': 'Single :: English to ' + term.lang, @@ -184,10 +218,9 @@ class base_gengo_translations(osv.osv_memory): 'lc_tgt': translation_pool._get_gengo_corresponding_language(term.lang), 'auto_approve': auto_approve, 'comment': comment, - 'callback_url': self.pool.get('ir.config_parameter').get_param(cr, uid,'web.base.url') + '/website/gengo_callback' + 'callback_url': "%s/website/gengo_callback?pgk=%s&db=%s" % (base_url, self.get_gengo_key(cr), cr.dbname) } - return {'jobs': jobs, 'as_group': 1} - + return {'jobs': jobs, 'as_group': 0} def _send_translation_terms(self, cr, uid, term_ids, context=None): """ @@ -200,7 +233,7 @@ class base_gengo_translations(osv.osv_memory): if request['jobs']: result = gengo.postTranslationJobs(jobs=request) if result['opstat'] == 'ok': - self._update_terms(cr, uid, result['response'], context=context) + self._update_terms(cr, uid, result['response'], term_ids, context=context) else: _logger.error(gengo) return True @@ -218,10 +251,10 @@ class base_gengo_translations(osv.osv_memory): context = {} language_pool = self.pool.get('res.lang') translation_pool = self.pool.get('ir.translation') - domain = [('state', '=', 'to_translate'), ('gengo_translation', 'in', ('machine', 'standard', 'pro', 'ultra')), ('job_id', "=", False)] + domain = [('state', '=', 'to_translate'), ('gengo_translation', 'in', ('machine', 'standard', 'pro', 'ultra')), ('order_id', "=", False)] if context.get('gengo_language', False): lc = language_pool.browse(cr, uid, context['gengo_language'], context=context).code - domain.append( ('lang', '=', lc) ) + domain.append(('lang', '=', lc)) all_term_ids = translation_pool.search(cr, uid, domain, context=context) try: diff --git a/addons/calendar/static/src/js/base_calendar.js b/addons/calendar/static/src/js/base_calendar.js index eed958e20d9..37669840818 100644 --- a/addons/calendar/static/src/js/base_calendar.js +++ b/addons/calendar/static/src/js/base_calendar.js @@ -102,7 +102,7 @@ openerp.calendar = function(instance) { var self = this; var action_url = ''; - action_url = _.str.sprintf('/?db=%s#id=%s&view_type=form&model=calendar.event', db, meeting_id); + action_url = _.str.sprintf('/web?db=%s#id=%s&view_type=form&model=calendar.event', db, meeting_id); var reload_page = function(){ return location.replace(action_url); diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index 641c490cabb..e7c516cf0d4 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -164,6 +164,13 @@ class crm_claim(osv.osv): # context: no_log, because subtype already handle this return super(crm_claim, self).create(cr, uid, vals, context=context) + def copy(self, cr, uid, id, default=None, context=None): + claim = self.browse(cr, uid, id, context=context) + default = dict(default or {}, + stage_id = self._get_default_stage_id(cr, uid, context=context), + name = _('%s (copy)') % claim.name) + return super(crm_claim, self).copy(cr, uid, id, default, context=context) + # ------------------------------------------------------- # Mail gateway # ------------------------------------------------------- diff --git a/addons/event/report/report_event_registration.py b/addons/event/report/report_event_registration.py index e76b5c60d1f..c4a4dfd6b2d 100644 --- a/addons/event/report/report_event_registration.py +++ b/addons/event/report/report_event_registration.py @@ -32,7 +32,7 @@ class report_event_registration(osv.osv): 'draft_state': fields.integer(' # No of Draft Registrations', size=20), 'confirm_state': fields.integer(' # No of Confirmed Registrations', size=20), 'seats_max': fields.integer('Max Seats'), - 'nbevent': fields.integer('Number Of Events'), + 'nbevent': fields.integer('Number of Registrations'), 'event_type': fields.many2one('event.type', 'Event Type'), 'registration_state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Attended'), ('cancel', 'Cancelled')], 'Registration State', readonly=True, required=True), 'event_state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled')], 'Event State', readonly=True, required=True), @@ -59,7 +59,7 @@ class report_event_registration(osv.osv): r.name AS name_registration, e.company_id AS company_id, e.date_begin AS event_date, - count(e.id) AS nbevent, + count(r.id) AS nbevent, CASE WHEN r.state IN ('draft') THEN r.nb_register ELSE 0 END AS draft_state, CASE WHEN r.state IN ('open','done') THEN r.nb_register ELSE 0 END AS confirm_state, e.type AS event_type, diff --git a/addons/event/static/src/css/event.css b/addons/event/static/src/css/event.css index ff5bfaba19b..53c03cc03f0 100644 --- a/addons/event/static/src/css/event.css +++ b/addons/event/static/src/css/event.css @@ -1,7 +1,7 @@ .oe_event_date{ border-top-left-radius:3px; border-top-right-radius:3px; - font-size: 48px; + font-size: 36px; height: auto; font-weight: bold; text-align: center; diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py index ed99e6a39cc..69ad0cb6af6 100644 --- a/addons/event_sale/event_sale.py +++ b/addons/event_sale/event_sale.py @@ -245,7 +245,8 @@ class event_ticket(osv.osv): ] def onchange_product_id(self, cr, uid, ids, product_id=False, context=None): - return {'value': {'price': self.pool.get("product.product").browse(cr, uid, product_id).list_price or 0}} + price = self.pool.get("product.product").browse(cr, uid, product_id).list_price if product_id else 0 + return {'value': {'price': price}} class event_registration(osv.osv): diff --git a/addons/gamification/models/challenge.py b/addons/gamification/models/challenge.py index 6c79d439c4a..60723ffdc3a 100644 --- a/addons/gamification/models/challenge.py +++ b/addons/gamification/models/challenge.py @@ -58,7 +58,7 @@ def start_end_date_for_period(period, default_start_date=False, default_end_date end_date = default_end_date if start_date and end_date: - return (start_date.strftime(DF), end_date.strftime(DF)) + return (datetime.strftime(start_date, DF), datetime.strftime(end_date, DF)) else: return (start_date, end_date) diff --git a/addons/gamification/models/goal.py b/addons/gamification/models/goal.py index 266e25a5eb8..041c6ae169c 100644 --- a/addons/gamification/models/goal.py +++ b/addons/gamification/models/goal.py @@ -129,6 +129,36 @@ class gamification_goal_definition(osv.Model): user = self.pool.get('res.users').browse(cr, uid, uid, context=context) return self.pool.get('mail.followers').search(cr, uid, [('res_model', '=', model_name), ('partner_id', '=', user.partner_id.id)], count=True, context=context) + def _check_domain_validity(self, cr, uid, ids, context=None): + # take admin as should always be present + superuser = self.pool['res.users'].browse(cr, uid, SUPERUSER_ID, context=context) + for definition in self.browse(cr, uid, ids, context=context): + if definition.computation_mode not in ('count', 'sum'): + continue + + obj = self.pool[definition.model_id.model] + try: + domain = safe_eval(definition.domain, {'user': superuser}) + # demmy search to make sure the domain is valid + obj.search(cr, uid, domain, context=context, count=True) + except (ValueError, SyntaxError), e: + msg = e.message or (e.msg + '\n' + e.text) + raise osv.except_osv(_('Error!'),_("The domain for the definition %s seems incorrect, please check it.\n\n%s" % (definition.name, msg))) + return True + + def create(self, cr, uid, vals, context=None): + res_id = super(gamification_goal_definition, self).create(cr, uid, vals, context=context) + if vals.get('computation_mode') in ('count', 'sum'): + self._check_domain_validity(cr, uid, [res_id], context=context) + + return res_id + + def write(self, cr, uid, ids, vals, context=None): + res = super(gamification_goal_definition, self).write(cr, uid, ids, vals, context=context) + if vals.get('computation_mode', 'count') in ('count', 'sum') and (vals.get('domain') or vals.get('model_id')): + self._check_domain_validity(cr, uid, ids, context=context) + + return res class gamification_goal(osv.Model): diff --git a/addons/google_calendar/google_calendar.py b/addons/google_calendar/google_calendar.py index 543c81977aa..dd1d45c05fe 100644 --- a/addons/google_calendar/google_calendar.py +++ b/addons/google_calendar/google_calendar.py @@ -699,7 +699,7 @@ class google_calendar(osv.AbstractModel): for att in att_obj.browse(cr, uid, my_att_ids, context=context): event = att.event_id - base_event_id = att.google_internal_event_id.split('_')[0] + base_event_id = att.google_internal_event_id.rsplit('_', 1)[0] if base_event_id not in event_to_synchronize: event_to_synchronize[base_event_id] = {} @@ -721,7 +721,7 @@ class google_calendar(osv.AbstractModel): for event in all_event_from_google.values(): event_id = event.get('id') - base_event_id = event_id.split('_')[0] + base_event_id = event_id.rsplit('_', 1)[0] if base_event_id not in event_to_synchronize: event_to_synchronize[base_event_id] = {} @@ -786,7 +786,7 @@ class google_calendar(osv.AbstractModel): if actSrc == 'OE': self.delete_an_event(cr, uid, current_event[0], context=context) elif actSrc == 'GG': - new_google_event_id = event.GG.event['id'].split('_')[1] + new_google_event_id = event.GG.event['id'].rsplit('_', 1)[1] if 'T' in new_google_event_id: new_google_event_id = new_google_event_id.replace('T', '')[:-1] else: @@ -795,7 +795,8 @@ class google_calendar(osv.AbstractModel): if event.GG.status: parent_event = {} if not event_to_synchronize[base_event][0][1].OE.event_id: - event_to_synchronize[base_event][0][1].OE.event_id = att_obj.search_read(cr, uid, [('google_internal_event_id', '=', event.GG.event['id'].split('_')[0])], ['event_id'], context=context_novirtual)[0].get('event_id')[0] + main_ev = att_obj.search_read(cr, uid, [('google_internal_event_id', '=', event.GG.event['id'].rsplit('_', 1)[0])], fields=['event_id'], context=context_novirtual) + event_to_synchronize[base_event][0][1].OE.event_id = main_ev[0].get('event_id')[0] parent_event['id'] = "%s-%s" % (event_to_synchronize[base_event][0][1].OE.event_id, new_google_event_id) res = self.update_from_google(cr, uid, parent_event, event.GG.event, "copy", context) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 5bb172eb082..fbadc726e4b 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -225,7 +225,7 @@ class hr_employee(osv.osv): "resized as a 128x128px image, with aspect ratio preserved. "\ "Use this field in form views or some kanban views."), 'image_small': fields.function(_get_image, fnct_inv=_set_image, - string="Smal-sized photo", type="binary", multi="_get_image", + string="Small-sized photo", type="binary", multi="_get_image", store = { 'hr.employee': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10), }, diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 41f2bba0073..73a39806c66 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -40,7 +40,9 @@ - + @@ -68,7 +70,9 @@ - + diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 3d467e0b065..ed25b75aa83 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -99,7 +99,7 @@ class hr_holidays_status(osv.osv): for record in self.browse(cr, uid, ids, context=context): name = record.name if not record.limit: - name = name + (' (%d/%d)' % (record.leaves_taken or 0.0, record.max_leaves or 0.0)) + name = name + (' (%g/%g)' % (record.leaves_taken or 0.0, record.max_leaves or 0.0)) res.append((record.id, name)) return res diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml index a60afda8531..4b4f221f615 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml @@ -139,7 +139,7 @@ - + diff --git a/addons/l10n_be/wizard/l10n_be_vat_intra.py b/addons/l10n_be/wizard/l10n_be_vat_intra.py index e698973fef4..069b36612fc 100644 --- a/addons/l10n_be/wizard/l10n_be_vat_intra.py +++ b/addons/l10n_be/wizard/l10n_be_vat_intra.py @@ -225,7 +225,7 @@ class partner_vat_intra(osv.osv_memory): data_head = """ - %(company_vat)s + %(vatnum)s %(company_name)s %(street)s %(post_code)s diff --git a/addons/l10n_be_hr_payroll_account/data/hr.salary.rule.csv b/addons/l10n_be_hr_payroll_account/data/hr.salary.rule.csv index bd757a8554f..7cdf2e15e72 100644 --- a/addons/l10n_be_hr_payroll_account/data/hr.salary.rule.csv +++ b/addons/l10n_be_hr_payroll_account/data/hr.salary.rule.csv @@ -1,1410 +1,1410 @@ "id","account_debit" -l10n_be_hr_payroll.1,4530 -l10n_be_hr_payroll.2,4530 -l10n_be_hr_payroll.3,4530 -l10n_be_hr_payroll.4,4530 -l10n_be_hr_payroll.5,4530 -l10n_be_hr_payroll.6,4530 -l10n_be_hr_payroll.7,4530 -l10n_be_hr_payroll.8,4530 -l10n_be_hr_payroll.9,4530 -l10n_be_hr_payroll.10,4530 -l10n_be_hr_payroll.11,4530 -l10n_be_hr_payroll.12,4530 -l10n_be_hr_payroll.13,4530 -l10n_be_hr_payroll.14,4530 -l10n_be_hr_payroll.15,4530 -l10n_be_hr_payroll.16,4530 -l10n_be_hr_payroll.17,4530 -l10n_be_hr_payroll.18,4530 -l10n_be_hr_payroll.19,4530 -l10n_be_hr_payroll.20,4530 -l10n_be_hr_payroll.21,4530 -l10n_be_hr_payroll.22,4530 -l10n_be_hr_payroll.23,4530 -l10n_be_hr_payroll.24,4530 -l10n_be_hr_payroll.25,4530 -l10n_be_hr_payroll.26,4530 -l10n_be_hr_payroll.27,4530 -l10n_be_hr_payroll.28,4530 -l10n_be_hr_payroll.29,4530 -l10n_be_hr_payroll.30,4530 -l10n_be_hr_payroll.31,4530 -l10n_be_hr_payroll.32,4530 -l10n_be_hr_payroll.33,4530 -l10n_be_hr_payroll.34,4530 -l10n_be_hr_payroll.35,4530 -l10n_be_hr_payroll.36,4530 -l10n_be_hr_payroll.37,4530 -l10n_be_hr_payroll.38,4530 -l10n_be_hr_payroll.39,4530 -l10n_be_hr_payroll.40,4530 -l10n_be_hr_payroll.41,4530 -l10n_be_hr_payroll.42,4530 -l10n_be_hr_payroll.43,4530 -l10n_be_hr_payroll.44,4530 -l10n_be_hr_payroll.45,4530 -l10n_be_hr_payroll.46,4530 -l10n_be_hr_payroll.47,4530 -l10n_be_hr_payroll.48,4530 -l10n_be_hr_payroll.49,4530 -l10n_be_hr_payroll.50,4530 -l10n_be_hr_payroll.51,4530 -l10n_be_hr_payroll.52,4530 -l10n_be_hr_payroll.53,4530 -l10n_be_hr_payroll.54,4530 -l10n_be_hr_payroll.55,4530 -l10n_be_hr_payroll.56,4530 -l10n_be_hr_payroll.57,4530 -l10n_be_hr_payroll.58,4530 -l10n_be_hr_payroll.59,4530 -l10n_be_hr_payroll.60,4530 -l10n_be_hr_payroll.61,4530 -l10n_be_hr_payroll.62,4530 -l10n_be_hr_payroll.63,4530 -l10n_be_hr_payroll.64,4530 -l10n_be_hr_payroll.65,4530 -l10n_be_hr_payroll.66,4530 -l10n_be_hr_payroll.67,4530 -l10n_be_hr_payroll.68,4530 -l10n_be_hr_payroll.69,4530 -l10n_be_hr_payroll.70,4530 -l10n_be_hr_payroll.71,4530 -l10n_be_hr_payroll.72,4530 -l10n_be_hr_payroll.73,4530 -l10n_be_hr_payroll.74,4530 -l10n_be_hr_payroll.75,4530 -l10n_be_hr_payroll.76,4530 -l10n_be_hr_payroll.77,4530 -l10n_be_hr_payroll.78,4530 -l10n_be_hr_payroll.79,4530 -l10n_be_hr_payroll.80,4530 -l10n_be_hr_payroll.81,4530 -l10n_be_hr_payroll.82,4530 -l10n_be_hr_payroll.83,4530 -l10n_be_hr_payroll.84,4530 -l10n_be_hr_payroll.85,4530 -l10n_be_hr_payroll.86,4530 -l10n_be_hr_payroll.87,4530 -l10n_be_hr_payroll.88,4530 -l10n_be_hr_payroll.89,4530 -l10n_be_hr_payroll.90,4530 -l10n_be_hr_payroll.91,4530 -l10n_be_hr_payroll.92,4530 -l10n_be_hr_payroll.93,4530 -l10n_be_hr_payroll.94,4530 -l10n_be_hr_payroll.95,4530 -l10n_be_hr_payroll.96,4530 -l10n_be_hr_payroll.97,4530 -l10n_be_hr_payroll.98,4530 -l10n_be_hr_payroll.99,4530 -l10n_be_hr_payroll.100,4530 -l10n_be_hr_payroll.101,4530 -l10n_be_hr_payroll.102,4530 -l10n_be_hr_payroll.103,4530 -l10n_be_hr_payroll.104,4530 -l10n_be_hr_payroll.105,4530 -l10n_be_hr_payroll.106,4530 -l10n_be_hr_payroll.107,4530 -l10n_be_hr_payroll.108,4530 -l10n_be_hr_payroll.109,4530 -l10n_be_hr_payroll.110,4530 -l10n_be_hr_payroll.111,4530 -l10n_be_hr_payroll.112,4530 -l10n_be_hr_payroll.113,4530 -l10n_be_hr_payroll.114,4530 -l10n_be_hr_payroll.115,4530 -l10n_be_hr_payroll.116,4530 -l10n_be_hr_payroll.117,4530 -l10n_be_hr_payroll.118,4530 -l10n_be_hr_payroll.119,4530 -l10n_be_hr_payroll.120,4530 -l10n_be_hr_payroll.121,4530 -l10n_be_hr_payroll.122,4530 -l10n_be_hr_payroll.123,4530 -l10n_be_hr_payroll.124,4530 -l10n_be_hr_payroll.125,4530 -l10n_be_hr_payroll.126,4530 -l10n_be_hr_payroll.127,4530 -l10n_be_hr_payroll.128,4530 -l10n_be_hr_payroll.129,4530 -l10n_be_hr_payroll.130,4530 -l10n_be_hr_payroll.131,4530 -l10n_be_hr_payroll.132,4530 -l10n_be_hr_payroll.133,4530 -l10n_be_hr_payroll.134,4530 -l10n_be_hr_payroll.135,4530 -l10n_be_hr_payroll.136,4530 -l10n_be_hr_payroll.137,4530 -l10n_be_hr_payroll.138,4530 -l10n_be_hr_payroll.139,4530 -l10n_be_hr_payroll.140,4530 -l10n_be_hr_payroll.141,4530 -l10n_be_hr_payroll.142,4530 -l10n_be_hr_payroll.143,4530 -l10n_be_hr_payroll.144,4530 -l10n_be_hr_payroll.145,4530 -l10n_be_hr_payroll.146,4530 -l10n_be_hr_payroll.147,4530 -l10n_be_hr_payroll.148,4530 -l10n_be_hr_payroll.149,4530 -l10n_be_hr_payroll.150,4530 -l10n_be_hr_payroll.151,4530 -l10n_be_hr_payroll.152,4530 -l10n_be_hr_payroll.153,4530 -l10n_be_hr_payroll.154,4530 -l10n_be_hr_payroll.155,4530 -l10n_be_hr_payroll.156,4530 -l10n_be_hr_payroll.157,4530 -l10n_be_hr_payroll.158,4530 -l10n_be_hr_payroll.159,4530 -l10n_be_hr_payroll.160,4530 -l10n_be_hr_payroll.161,4530 -l10n_be_hr_payroll.162,4530 -l10n_be_hr_payroll.163,4530 -l10n_be_hr_payroll.164,4530 -l10n_be_hr_payroll.165,4530 -l10n_be_hr_payroll.166,4530 -l10n_be_hr_payroll.167,4530 -l10n_be_hr_payroll.168,4530 -l10n_be_hr_payroll.169,4530 -l10n_be_hr_payroll.170,4530 -l10n_be_hr_payroll.171,4530 -l10n_be_hr_payroll.172,4530 -l10n_be_hr_payroll.173,4530 -l10n_be_hr_payroll.174,4530 -l10n_be_hr_payroll.175,4530 -l10n_be_hr_payroll.176,4530 -l10n_be_hr_payroll.177,4530 -l10n_be_hr_payroll.178,4530 -l10n_be_hr_payroll.179,4530 -l10n_be_hr_payroll.180,4530 -l10n_be_hr_payroll.181,4530 -l10n_be_hr_payroll.182,4530 -l10n_be_hr_payroll.183,4530 -l10n_be_hr_payroll.184,4530 -l10n_be_hr_payroll.185,4530 -l10n_be_hr_payroll.186,4530 -l10n_be_hr_payroll.187,4530 -l10n_be_hr_payroll.188,4530 -l10n_be_hr_payroll.189,4530 -l10n_be_hr_payroll.190,4530 -l10n_be_hr_payroll.191,4530 -l10n_be_hr_payroll.192,4530 -l10n_be_hr_payroll.193,4530 -l10n_be_hr_payroll.194,4530 -l10n_be_hr_payroll.195,4530 -l10n_be_hr_payroll.196,4530 -l10n_be_hr_payroll.197,4530 -l10n_be_hr_payroll.198,4530 -l10n_be_hr_payroll.199,4530 -l10n_be_hr_payroll.200,4530 -l10n_be_hr_payroll.201,4530 -l10n_be_hr_payroll.202,4530 -l10n_be_hr_payroll.203,4530 -l10n_be_hr_payroll.204,4530 -l10n_be_hr_payroll.205,4530 -l10n_be_hr_payroll.206,4530 -l10n_be_hr_payroll.207,4530 -l10n_be_hr_payroll.208,4530 -l10n_be_hr_payroll.209,4530 -l10n_be_hr_payroll.210,4530 -l10n_be_hr_payroll.211,4530 -l10n_be_hr_payroll.212,4530 -l10n_be_hr_payroll.213,4530 -l10n_be_hr_payroll.214,4530 -l10n_be_hr_payroll.215,4530 -l10n_be_hr_payroll.216,4530 -l10n_be_hr_payroll.217,4530 -l10n_be_hr_payroll.218,4530 -l10n_be_hr_payroll.219,4530 -l10n_be_hr_payroll.220,4530 -l10n_be_hr_payroll.221,4530 -l10n_be_hr_payroll.222,4530 -l10n_be_hr_payroll.223,4530 -l10n_be_hr_payroll.224,4530 -l10n_be_hr_payroll.225,4530 -l10n_be_hr_payroll.226,4530 -l10n_be_hr_payroll.227,4530 -l10n_be_hr_payroll.228,4530 -l10n_be_hr_payroll.229,4530 -l10n_be_hr_payroll.230,4530 -l10n_be_hr_payroll.231,4530 -l10n_be_hr_payroll.232,4530 -l10n_be_hr_payroll.233,4530 -l10n_be_hr_payroll.234,4530 -l10n_be_hr_payroll.235,4530 -l10n_be_hr_payroll.236,4530 -l10n_be_hr_payroll.237,4530 -l10n_be_hr_payroll.238,4530 -l10n_be_hr_payroll.239,4530 -l10n_be_hr_payroll.240,4530 -l10n_be_hr_payroll.241,4530 -l10n_be_hr_payroll.242,4530 -l10n_be_hr_payroll.243,4530 -l10n_be_hr_payroll.244,4530 -l10n_be_hr_payroll.245,4530 -l10n_be_hr_payroll.246,4530 -l10n_be_hr_payroll.247,4530 -l10n_be_hr_payroll.248,4530 -l10n_be_hr_payroll.249,4530 -l10n_be_hr_payroll.250,4530 -l10n_be_hr_payroll.251,4530 -l10n_be_hr_payroll.252,4530 -l10n_be_hr_payroll.253,4530 -l10n_be_hr_payroll.254,4530 -l10n_be_hr_payroll.255,4530 -l10n_be_hr_payroll.256,4530 -l10n_be_hr_payroll.257,4530 -l10n_be_hr_payroll.258,4530 -l10n_be_hr_payroll.259,4530 -l10n_be_hr_payroll.260,4530 -l10n_be_hr_payroll.261,4530 -l10n_be_hr_payroll.262,4530 -l10n_be_hr_payroll.263,4530 -l10n_be_hr_payroll.264,4530 -l10n_be_hr_payroll.265,4530 -l10n_be_hr_payroll.266,4530 -l10n_be_hr_payroll.267,4530 -l10n_be_hr_payroll.268,4530 -l10n_be_hr_payroll.269,4530 -l10n_be_hr_payroll.270,4530 -l10n_be_hr_payroll.271,4530 -l10n_be_hr_payroll.272,4530 -l10n_be_hr_payroll.273,4530 -l10n_be_hr_payroll.274,4530 -l10n_be_hr_payroll.275,4530 -l10n_be_hr_payroll.276,4530 -l10n_be_hr_payroll.277,4530 -l10n_be_hr_payroll.278,4530 -l10n_be_hr_payroll.279,4530 -l10n_be_hr_payroll.280,4530 -l10n_be_hr_payroll.281,4530 -l10n_be_hr_payroll.282,4530 -l10n_be_hr_payroll.283,4530 -l10n_be_hr_payroll.284,4530 -l10n_be_hr_payroll.285,4530 -l10n_be_hr_payroll.286,4530 -l10n_be_hr_payroll.287,4530 -l10n_be_hr_payroll.288,4530 -l10n_be_hr_payroll.289,4530 -l10n_be_hr_payroll.290,4530 -l10n_be_hr_payroll.291,4530 -l10n_be_hr_payroll.292,4530 -l10n_be_hr_payroll.293,4530 -l10n_be_hr_payroll.294,4530 -l10n_be_hr_payroll.295,4530 -l10n_be_hr_payroll.296,4530 -l10n_be_hr_payroll.297,4530 -l10n_be_hr_payroll.298,4530 -l10n_be_hr_payroll.299,4530 -l10n_be_hr_payroll.300,4530 -l10n_be_hr_payroll.301,4530 -l10n_be_hr_payroll.302,4530 -l10n_be_hr_payroll.303,4530 -l10n_be_hr_payroll.304,4530 -l10n_be_hr_payroll.305,4530 -l10n_be_hr_payroll.306,4530 -l10n_be_hr_payroll.307,4530 -l10n_be_hr_payroll.308,4530 -l10n_be_hr_payroll.309,4530 -l10n_be_hr_payroll.310,4530 -l10n_be_hr_payroll.311,4530 -l10n_be_hr_payroll.312,4530 -l10n_be_hr_payroll.313,4530 -l10n_be_hr_payroll.314,4530 -l10n_be_hr_payroll.315,4530 -l10n_be_hr_payroll.316,4530 -l10n_be_hr_payroll.317,4530 -l10n_be_hr_payroll.318,4530 -l10n_be_hr_payroll.319,4530 -l10n_be_hr_payroll.320,4530 -l10n_be_hr_payroll.321,4530 -l10n_be_hr_payroll.322,4530 -l10n_be_hr_payroll.323,4530 -l10n_be_hr_payroll.324,4530 -l10n_be_hr_payroll.325,4530 -l10n_be_hr_payroll.326,4530 -l10n_be_hr_payroll.327,4530 -l10n_be_hr_payroll.328,4530 -l10n_be_hr_payroll.329,4530 -l10n_be_hr_payroll.330,4530 -l10n_be_hr_payroll.331,4530 -l10n_be_hr_payroll.332,4530 -l10n_be_hr_payroll.333,4530 -l10n_be_hr_payroll.334,4530 -l10n_be_hr_payroll.335,4530 -l10n_be_hr_payroll.336,4530 -l10n_be_hr_payroll.337,4530 -l10n_be_hr_payroll.338,4530 -l10n_be_hr_payroll.339,4530 -l10n_be_hr_payroll.340,4530 -l10n_be_hr_payroll.341,4530 -l10n_be_hr_payroll.342,4530 -l10n_be_hr_payroll.343,4530 -l10n_be_hr_payroll.344,4530 -l10n_be_hr_payroll.345,4530 -l10n_be_hr_payroll.346,4530 -l10n_be_hr_payroll.347,4530 -l10n_be_hr_payroll.348,4530 -l10n_be_hr_payroll.349,4530 -l10n_be_hr_payroll.350,4530 -l10n_be_hr_payroll.351,4530 -l10n_be_hr_payroll.352,4530 -l10n_be_hr_payroll.353,4530 -l10n_be_hr_payroll.354,4530 -l10n_be_hr_payroll.355,4530 -l10n_be_hr_payroll.356,4530 -l10n_be_hr_payroll.357,4530 -l10n_be_hr_payroll.358,4530 -l10n_be_hr_payroll.359,4530 -l10n_be_hr_payroll.360,4530 -l10n_be_hr_payroll.361,4530 -l10n_be_hr_payroll.362,4530 -l10n_be_hr_payroll.363,4530 -l10n_be_hr_payroll.364,4530 -l10n_be_hr_payroll.365,4530 -l10n_be_hr_payroll.366,4530 -l10n_be_hr_payroll.367,4530 -l10n_be_hr_payroll.368,4530 -l10n_be_hr_payroll.369,4530 -l10n_be_hr_payroll.370,4530 -l10n_be_hr_payroll.371,4530 -l10n_be_hr_payroll.372,4530 -l10n_be_hr_payroll.373,4530 -l10n_be_hr_payroll.374,4530 -l10n_be_hr_payroll.375,4530 -l10n_be_hr_payroll.376,4530 -l10n_be_hr_payroll.377,4530 -l10n_be_hr_payroll.378,4530 -l10n_be_hr_payroll.379,4530 -l10n_be_hr_payroll.380,4530 -l10n_be_hr_payroll.381,4530 -l10n_be_hr_payroll.382,4530 -l10n_be_hr_payroll.383,4530 -l10n_be_hr_payroll.384,4530 -l10n_be_hr_payroll.385,4530 -l10n_be_hr_payroll.386,4530 -l10n_be_hr_payroll.387,4530 -l10n_be_hr_payroll.388,4530 -l10n_be_hr_payroll.389,4530 -l10n_be_hr_payroll.390,4530 -l10n_be_hr_payroll.391,4530 -l10n_be_hr_payroll.392,4530 -l10n_be_hr_payroll.393,4530 -l10n_be_hr_payroll.394,4530 -l10n_be_hr_payroll.395,4530 -l10n_be_hr_payroll.396,4530 -l10n_be_hr_payroll.397,4530 -l10n_be_hr_payroll.398,4530 -l10n_be_hr_payroll.399,4530 -l10n_be_hr_payroll.400,4530 -l10n_be_hr_payroll.401,4530 -l10n_be_hr_payroll.402,4530 -l10n_be_hr_payroll.403,4530 -l10n_be_hr_payroll.404,4530 -l10n_be_hr_payroll.405,4530 -l10n_be_hr_payroll.406,4530 -l10n_be_hr_payroll.407,4530 -l10n_be_hr_payroll.408,4530 -l10n_be_hr_payroll.409,4530 -l10n_be_hr_payroll.410,4530 -l10n_be_hr_payroll.411,4530 -l10n_be_hr_payroll.412,4530 -l10n_be_hr_payroll.413,4530 -l10n_be_hr_payroll.414,4530 -l10n_be_hr_payroll.415,4530 -l10n_be_hr_payroll.416,4530 -l10n_be_hr_payroll.417,4530 -l10n_be_hr_payroll.418,4530 -l10n_be_hr_payroll.419,4530 -l10n_be_hr_payroll.420,4530 -l10n_be_hr_payroll.421,4530 -l10n_be_hr_payroll.422,4530 -l10n_be_hr_payroll.423,4530 -l10n_be_hr_payroll.424,4530 -l10n_be_hr_payroll.425,4530 -l10n_be_hr_payroll.426,4530 -l10n_be_hr_payroll.427,4530 -l10n_be_hr_payroll.428,4530 -l10n_be_hr_payroll.429,4530 -l10n_be_hr_payroll.430,4530 -l10n_be_hr_payroll.431,4530 -l10n_be_hr_payroll.432,4530 -l10n_be_hr_payroll.433,4530 -l10n_be_hr_payroll.434,4530 -l10n_be_hr_payroll.435,4530 -l10n_be_hr_payroll.436,4530 -l10n_be_hr_payroll.437,4530 -l10n_be_hr_payroll.438,4530 -l10n_be_hr_payroll.439,4530 -l10n_be_hr_payroll.440,4530 -l10n_be_hr_payroll.441,4530 -l10n_be_hr_payroll.442,4530 -l10n_be_hr_payroll.443,4530 -l10n_be_hr_payroll.444,4530 -l10n_be_hr_payroll.445,4530 -l10n_be_hr_payroll.446,4530 -l10n_be_hr_payroll.447,4530 -l10n_be_hr_payroll.448,4530 -l10n_be_hr_payroll.449,4530 -l10n_be_hr_payroll.450,4530 -l10n_be_hr_payroll.451,4530 -l10n_be_hr_payroll.452,4530 -l10n_be_hr_payroll.453,4530 -l10n_be_hr_payroll.454,4530 -l10n_be_hr_payroll.455,4530 -l10n_be_hr_payroll.456,4530 -l10n_be_hr_payroll.457,4530 -l10n_be_hr_payroll.458,4530 -l10n_be_hr_payroll.459,4530 -l10n_be_hr_payroll.460,4530 -l10n_be_hr_payroll.461,4530 -l10n_be_hr_payroll.462,4530 -l10n_be_hr_payroll.463,4530 -l10n_be_hr_payroll.464,4530 -l10n_be_hr_payroll.465,4530 -l10n_be_hr_payroll.466,4530 -l10n_be_hr_payroll.467,4530 -l10n_be_hr_payroll.468,4530 -l10n_be_hr_payroll.469,4530 -l10n_be_hr_payroll.470,4530 -l10n_be_hr_payroll.471,4530 -l10n_be_hr_payroll.472,4530 -l10n_be_hr_payroll.473,4530 -l10n_be_hr_payroll.474,4530 -l10n_be_hr_payroll.475,4530 -l10n_be_hr_payroll.476,4530 -l10n_be_hr_payroll.477,4530 -l10n_be_hr_payroll.478,4530 -l10n_be_hr_payroll.479,4530 -l10n_be_hr_payroll.480,4530 -l10n_be_hr_payroll.481,4530 -l10n_be_hr_payroll.482,4530 -l10n_be_hr_payroll.483,4530 -l10n_be_hr_payroll.484,4530 -l10n_be_hr_payroll.485,4530 -l10n_be_hr_payroll.486,4530 -l10n_be_hr_payroll.487,4530 -l10n_be_hr_payroll.488,4530 -l10n_be_hr_payroll.489,4530 -l10n_be_hr_payroll.490,4530 -l10n_be_hr_payroll.491,4530 -l10n_be_hr_payroll.492,4530 -l10n_be_hr_payroll.493,4530 -l10n_be_hr_payroll.494,4530 -l10n_be_hr_payroll.495,4530 -l10n_be_hr_payroll.496,4530 -l10n_be_hr_payroll.497,4530 -l10n_be_hr_payroll.498,4530 -l10n_be_hr_payroll.499,4530 -l10n_be_hr_payroll.500,4530 -l10n_be_hr_payroll.501,4530 -l10n_be_hr_payroll.502,4530 -l10n_be_hr_payroll.503,4530 -l10n_be_hr_payroll.504,4530 -l10n_be_hr_payroll.505,4530 -l10n_be_hr_payroll.506,4530 -l10n_be_hr_payroll.507,4530 -l10n_be_hr_payroll.508,4530 -l10n_be_hr_payroll.509,4530 -l10n_be_hr_payroll.510,4530 -l10n_be_hr_payroll.511,4530 -l10n_be_hr_payroll.512,4530 -l10n_be_hr_payroll.513,4530 -l10n_be_hr_payroll.514,4530 -l10n_be_hr_payroll.515,4530 -l10n_be_hr_payroll.516,4530 -l10n_be_hr_payroll.517,4530 -l10n_be_hr_payroll.518,4530 -l10n_be_hr_payroll.519,4530 -l10n_be_hr_payroll.520,4530 -l10n_be_hr_payroll.521,4530 -l10n_be_hr_payroll.522,4530 -l10n_be_hr_payroll.523,4530 -l10n_be_hr_payroll.524,4530 -l10n_be_hr_payroll.525,4530 -l10n_be_hr_payroll.526,4530 -l10n_be_hr_payroll.527,4530 -l10n_be_hr_payroll.528,4530 -l10n_be_hr_payroll.529,4530 -l10n_be_hr_payroll.530,4530 -l10n_be_hr_payroll.531,4530 -l10n_be_hr_payroll.532,4530 -l10n_be_hr_payroll.533,4530 -l10n_be_hr_payroll.534,4530 -l10n_be_hr_payroll.535,4530 -l10n_be_hr_payroll.536,4530 -l10n_be_hr_payroll.537,4530 -l10n_be_hr_payroll.538,4530 -l10n_be_hr_payroll.539,4530 -l10n_be_hr_payroll.540,4530 -l10n_be_hr_payroll.541,4530 -l10n_be_hr_payroll.542,4530 -l10n_be_hr_payroll.543,4530 -l10n_be_hr_payroll.544,4530 -l10n_be_hr_payroll.545,4530 -l10n_be_hr_payroll.546,4530 -l10n_be_hr_payroll.547,4530 -l10n_be_hr_payroll.548,4530 -l10n_be_hr_payroll.549,4530 -l10n_be_hr_payroll.550,4530 -l10n_be_hr_payroll.551,4530 -l10n_be_hr_payroll.552,4530 -l10n_be_hr_payroll.553,4530 -l10n_be_hr_payroll.554,4530 -l10n_be_hr_payroll.555,4530 -l10n_be_hr_payroll.556,4530 -l10n_be_hr_payroll.557,4530 -l10n_be_hr_payroll.558,4530 -l10n_be_hr_payroll.559,4530 -l10n_be_hr_payroll.560,4530 -l10n_be_hr_payroll.561,4530 -l10n_be_hr_payroll.562,4530 -l10n_be_hr_payroll.563,4530 -l10n_be_hr_payroll.564,4530 -l10n_be_hr_payroll.565,4530 -l10n_be_hr_payroll.566,4530 -l10n_be_hr_payroll.567,4530 -l10n_be_hr_payroll.568,4530 -l10n_be_hr_payroll.569,4530 -l10n_be_hr_payroll.570,4530 -l10n_be_hr_payroll.571,4530 -l10n_be_hr_payroll.572,4530 -l10n_be_hr_payroll.573,4530 -l10n_be_hr_payroll.574,4530 -l10n_be_hr_payroll.575,4530 -l10n_be_hr_payroll.576,4530 -l10n_be_hr_payroll.577,4530 -l10n_be_hr_payroll.578,4530 -l10n_be_hr_payroll.579,4530 -l10n_be_hr_payroll.580,4530 -l10n_be_hr_payroll.581,4530 -l10n_be_hr_payroll.582,4530 -l10n_be_hr_payroll.583,4530 -l10n_be_hr_payroll.584,4530 -l10n_be_hr_payroll.585,4530 -l10n_be_hr_payroll.586,4530 -l10n_be_hr_payroll.587,4530 -l10n_be_hr_payroll.588,4530 -l10n_be_hr_payroll.589,4530 -l10n_be_hr_payroll.590,4530 -l10n_be_hr_payroll.591,4530 -l10n_be_hr_payroll.592,4530 -l10n_be_hr_payroll.593,4530 -l10n_be_hr_payroll.594,4530 -l10n_be_hr_payroll.595,4530 -l10n_be_hr_payroll.596,4530 -l10n_be_hr_payroll.597,4530 -l10n_be_hr_payroll.598,4530 -l10n_be_hr_payroll.599,4530 -l10n_be_hr_payroll.600,4530 -l10n_be_hr_payroll.601,4530 -l10n_be_hr_payroll.602,4530 -l10n_be_hr_payroll.603,4530 -l10n_be_hr_payroll.604,4530 -l10n_be_hr_payroll.605,4530 -l10n_be_hr_payroll.606,4530 -l10n_be_hr_payroll.607,4530 -l10n_be_hr_payroll.608,4530 -l10n_be_hr_payroll.609,4530 -l10n_be_hr_payroll.610,4530 -l10n_be_hr_payroll.611,4530 -l10n_be_hr_payroll.612,4530 -l10n_be_hr_payroll.613,4530 -l10n_be_hr_payroll.614,4530 -l10n_be_hr_payroll.615,4530 -l10n_be_hr_payroll.616,4530 -l10n_be_hr_payroll.617,4530 -l10n_be_hr_payroll.618,4530 -l10n_be_hr_payroll.619,4530 -l10n_be_hr_payroll.620,4530 -l10n_be_hr_payroll.621,4530 -l10n_be_hr_payroll.622,4530 -l10n_be_hr_payroll.623,4530 -l10n_be_hr_payroll.624,4530 -l10n_be_hr_payroll.625,4530 -l10n_be_hr_payroll.626,4530 -l10n_be_hr_payroll.627,4530 -l10n_be_hr_payroll.628,4530 -l10n_be_hr_payroll.629,4530 -l10n_be_hr_payroll.630,4530 -l10n_be_hr_payroll.631,4530 -l10n_be_hr_payroll.632,4530 -l10n_be_hr_payroll.633,4530 -l10n_be_hr_payroll.634,4530 -l10n_be_hr_payroll.635,4530 -l10n_be_hr_payroll.636,4530 -l10n_be_hr_payroll.637,4530 -l10n_be_hr_payroll.638,4530 -l10n_be_hr_payroll.639,4530 -l10n_be_hr_payroll.640,4530 -l10n_be_hr_payroll.641,4530 -l10n_be_hr_payroll.642,4530 -l10n_be_hr_payroll.643,4530 -l10n_be_hr_payroll.644,4530 -l10n_be_hr_payroll.645,4530 -l10n_be_hr_payroll.646,4530 -l10n_be_hr_payroll.647,4530 -l10n_be_hr_payroll.648,4530 -l10n_be_hr_payroll.649,4530 -l10n_be_hr_payroll.650,4530 -l10n_be_hr_payroll.651,4530 -l10n_be_hr_payroll.652,4530 -l10n_be_hr_payroll.653,4530 -l10n_be_hr_payroll.654,4530 -l10n_be_hr_payroll.655,4530 -l10n_be_hr_payroll.656,4530 -l10n_be_hr_payroll.657,4530 -l10n_be_hr_payroll.658,4530 -l10n_be_hr_payroll.659,4530 -l10n_be_hr_payroll.660,4530 -l10n_be_hr_payroll.661,4530 -l10n_be_hr_payroll.662,4530 -l10n_be_hr_payroll.663,4530 -l10n_be_hr_payroll.664,4530 -l10n_be_hr_payroll.665,4530 -l10n_be_hr_payroll.666,4530 -l10n_be_hr_payroll.667,4530 -l10n_be_hr_payroll.668,4530 -l10n_be_hr_payroll.669,4530 -l10n_be_hr_payroll.670,4530 -l10n_be_hr_payroll.671,4530 -l10n_be_hr_payroll.672,4530 -l10n_be_hr_payroll.673,4530 -l10n_be_hr_payroll.674,4530 -l10n_be_hr_payroll.675,4530 -l10n_be_hr_payroll.676,4530 -l10n_be_hr_payroll.677,4530 -l10n_be_hr_payroll.678,4530 -l10n_be_hr_payroll.679,4530 -l10n_be_hr_payroll.680,4530 -l10n_be_hr_payroll.681,4530 -l10n_be_hr_payroll.682,4530 -l10n_be_hr_payroll.683,4530 -l10n_be_hr_payroll.684,4530 -l10n_be_hr_payroll.685,4530 -l10n_be_hr_payroll.686,4530 -l10n_be_hr_payroll.687,4530 -l10n_be_hr_payroll.688,4530 -l10n_be_hr_payroll.689,4530 -l10n_be_hr_payroll.690,4530 -l10n_be_hr_payroll.691,4530 -l10n_be_hr_payroll.692,4530 -l10n_be_hr_payroll.693,4530 -l10n_be_hr_payroll.694,4530 -l10n_be_hr_payroll.695,4530 -l10n_be_hr_payroll.696,4530 -l10n_be_hr_payroll.697,4530 -l10n_be_hr_payroll.698,4530 -l10n_be_hr_payroll.699,4530 -l10n_be_hr_payroll.700,4530 -l10n_be_hr_payroll.701,4530 -l10n_be_hr_payroll.702,4530 -l10n_be_hr_payroll.703,4530 -l10n_be_hr_payroll.704,4530 -l10n_be_hr_payroll.705,4530 -l10n_be_hr_payroll.706,4530 -l10n_be_hr_payroll.707,4530 -l10n_be_hr_payroll.708,4530 -l10n_be_hr_payroll.709,4530 -l10n_be_hr_payroll.710,4530 -l10n_be_hr_payroll.711,4530 -l10n_be_hr_payroll.712,4530 -l10n_be_hr_payroll.713,4530 -l10n_be_hr_payroll.714,4530 -l10n_be_hr_payroll.715,4530 -l10n_be_hr_payroll.716,4530 -l10n_be_hr_payroll.717,4530 -l10n_be_hr_payroll.718,4530 -l10n_be_hr_payroll.719,4530 -l10n_be_hr_payroll.720,4530 -l10n_be_hr_payroll.721,4530 -l10n_be_hr_payroll.722,4530 -l10n_be_hr_payroll.723,4530 -l10n_be_hr_payroll.724,4530 -l10n_be_hr_payroll.725,4530 -l10n_be_hr_payroll.726,4530 -l10n_be_hr_payroll.727,4530 -l10n_be_hr_payroll.728,4530 -l10n_be_hr_payroll.729,4530 -l10n_be_hr_payroll.730,4530 -l10n_be_hr_payroll.731,4530 -l10n_be_hr_payroll.732,4530 -l10n_be_hr_payroll.733,4530 -l10n_be_hr_payroll.734,4530 -l10n_be_hr_payroll.735,4530 -l10n_be_hr_payroll.736,4530 -l10n_be_hr_payroll.737,4530 -l10n_be_hr_payroll.738,4530 -l10n_be_hr_payroll.739,4530 -l10n_be_hr_payroll.740,4530 -l10n_be_hr_payroll.741,4530 -l10n_be_hr_payroll.742,4530 -l10n_be_hr_payroll.743,4530 -l10n_be_hr_payroll.744,4530 -l10n_be_hr_payroll.745,4530 -l10n_be_hr_payroll.746,4530 -l10n_be_hr_payroll.747,4530 -l10n_be_hr_payroll.748,4530 -l10n_be_hr_payroll.749,4530 -l10n_be_hr_payroll.750,4530 -l10n_be_hr_payroll.751,4530 -l10n_be_hr_payroll.752,4530 -l10n_be_hr_payroll.753,4530 -l10n_be_hr_payroll.754,4530 -l10n_be_hr_payroll.755,4530 -l10n_be_hr_payroll.756,4530 -l10n_be_hr_payroll.757,4530 -l10n_be_hr_payroll.758,4530 -l10n_be_hr_payroll.759,4530 -l10n_be_hr_payroll.760,4530 -l10n_be_hr_payroll.761,4530 -l10n_be_hr_payroll.762,4530 -l10n_be_hr_payroll.763,4530 -l10n_be_hr_payroll.764,4530 -l10n_be_hr_payroll.765,4530 -l10n_be_hr_payroll.766,4530 -l10n_be_hr_payroll.767,4530 -l10n_be_hr_payroll.768,4530 -l10n_be_hr_payroll.769,4530 -l10n_be_hr_payroll.770,4530 -l10n_be_hr_payroll.771,4530 -l10n_be_hr_payroll.772,4530 -l10n_be_hr_payroll.773,4530 -l10n_be_hr_payroll.774,4530 -l10n_be_hr_payroll.775,4530 -l10n_be_hr_payroll.776,4530 -l10n_be_hr_payroll.777,4530 -l10n_be_hr_payroll.778,4530 -l10n_be_hr_payroll.779,4530 -l10n_be_hr_payroll.780,4530 -l10n_be_hr_payroll.781,4530 -l10n_be_hr_payroll.782,4530 -l10n_be_hr_payroll.783,4530 -l10n_be_hr_payroll.784,4530 -l10n_be_hr_payroll.785,4530 -l10n_be_hr_payroll.786,4530 -l10n_be_hr_payroll.787,4530 -l10n_be_hr_payroll.788,4530 -l10n_be_hr_payroll.789,4530 -l10n_be_hr_payroll.790,4530 -l10n_be_hr_payroll.791,4530 -l10n_be_hr_payroll.792,4530 -l10n_be_hr_payroll.793,4530 -l10n_be_hr_payroll.794,4530 -l10n_be_hr_payroll.795,4530 -l10n_be_hr_payroll.796,4530 -l10n_be_hr_payroll.797,4530 -l10n_be_hr_payroll.798,4530 -l10n_be_hr_payroll.799,4530 -l10n_be_hr_payroll.800,4530 -l10n_be_hr_payroll.801,4530 -l10n_be_hr_payroll.802,4530 -l10n_be_hr_payroll.803,4530 -l10n_be_hr_payroll.804,4530 -l10n_be_hr_payroll.805,4530 -l10n_be_hr_payroll.806,4530 -l10n_be_hr_payroll.807,4530 -l10n_be_hr_payroll.808,4530 -l10n_be_hr_payroll.809,4530 -l10n_be_hr_payroll.810,4530 -l10n_be_hr_payroll.811,4530 -l10n_be_hr_payroll.812,4530 -l10n_be_hr_payroll.813,4530 -l10n_be_hr_payroll.814,4530 -l10n_be_hr_payroll.815,4530 -l10n_be_hr_payroll.816,4530 -l10n_be_hr_payroll.817,4530 -l10n_be_hr_payroll.818,4530 -l10n_be_hr_payroll.819,4530 -l10n_be_hr_payroll.820,4530 -l10n_be_hr_payroll.821,4530 -l10n_be_hr_payroll.822,4530 -l10n_be_hr_payroll.823,4530 -l10n_be_hr_payroll.824,4530 -l10n_be_hr_payroll.825,4530 -l10n_be_hr_payroll.826,4530 -l10n_be_hr_payroll.827,4530 -l10n_be_hr_payroll.828,4530 -l10n_be_hr_payroll.829,4530 -l10n_be_hr_payroll.830,4530 -l10n_be_hr_payroll.831,4530 -l10n_be_hr_payroll.832,4530 -l10n_be_hr_payroll.833,4530 -l10n_be_hr_payroll.834,4530 -l10n_be_hr_payroll.835,4530 -l10n_be_hr_payroll.836,4530 -l10n_be_hr_payroll.837,4530 -l10n_be_hr_payroll.838,4530 -l10n_be_hr_payroll.839,4530 -l10n_be_hr_payroll.840,4530 -l10n_be_hr_payroll.841,4530 -l10n_be_hr_payroll.842,4530 -l10n_be_hr_payroll.843,4530 -l10n_be_hr_payroll.844,4530 -l10n_be_hr_payroll.845,4530 -l10n_be_hr_payroll.846,4530 -l10n_be_hr_payroll.847,4530 -l10n_be_hr_payroll.848,4530 -l10n_be_hr_payroll.849,4530 -l10n_be_hr_payroll.850,4530 -l10n_be_hr_payroll.851,4530 -l10n_be_hr_payroll.852,4530 -l10n_be_hr_payroll.853,4530 -l10n_be_hr_payroll.854,4530 -l10n_be_hr_payroll.855,4530 -l10n_be_hr_payroll.856,4530 -l10n_be_hr_payroll.857,4530 -l10n_be_hr_payroll.858,4530 -l10n_be_hr_payroll.859,4530 -l10n_be_hr_payroll.860,4530 -l10n_be_hr_payroll.861,4530 -l10n_be_hr_payroll.862,4530 -l10n_be_hr_payroll.863,4530 -l10n_be_hr_payroll.864,4530 -l10n_be_hr_payroll.865,4530 -l10n_be_hr_payroll.866,4530 -l10n_be_hr_payroll.867,4530 -l10n_be_hr_payroll.868,4530 -l10n_be_hr_payroll.869,4530 -l10n_be_hr_payroll.870,4530 -l10n_be_hr_payroll.871,4530 -l10n_be_hr_payroll.872,4530 -l10n_be_hr_payroll.873,4530 -l10n_be_hr_payroll.874,4530 -l10n_be_hr_payroll.875,4530 -l10n_be_hr_payroll.876,4530 -l10n_be_hr_payroll.877,4530 -l10n_be_hr_payroll.878,4530 -l10n_be_hr_payroll.879,4530 -l10n_be_hr_payroll.880,4530 -l10n_be_hr_payroll.881,4530 -l10n_be_hr_payroll.882,4530 -l10n_be_hr_payroll.883,4530 -l10n_be_hr_payroll.884,4530 -l10n_be_hr_payroll.885,4530 -l10n_be_hr_payroll.886,4530 -l10n_be_hr_payroll.887,4530 -l10n_be_hr_payroll.888,4530 -l10n_be_hr_payroll.889,4530 -l10n_be_hr_payroll.890,4530 -l10n_be_hr_payroll.891,4530 -l10n_be_hr_payroll.892,4530 -l10n_be_hr_payroll.893,4530 -l10n_be_hr_payroll.894,4530 -l10n_be_hr_payroll.895,4530 -l10n_be_hr_payroll.896,4530 -l10n_be_hr_payroll.897,4530 -l10n_be_hr_payroll.898,4530 -l10n_be_hr_payroll.899,4530 -l10n_be_hr_payroll.900,4530 -l10n_be_hr_payroll.901,4530 -l10n_be_hr_payroll.902,4530 -l10n_be_hr_payroll.903,4530 -l10n_be_hr_payroll.904,4530 -l10n_be_hr_payroll.905,4530 -l10n_be_hr_payroll.906,4530 -l10n_be_hr_payroll.907,4530 -l10n_be_hr_payroll.908,4530 -l10n_be_hr_payroll.909,4530 -l10n_be_hr_payroll.910,4530 -l10n_be_hr_payroll.911,4530 -l10n_be_hr_payroll.912,4530 -l10n_be_hr_payroll.913,4530 -l10n_be_hr_payroll.914,4530 -l10n_be_hr_payroll.915,4530 -l10n_be_hr_payroll.916,4530 -l10n_be_hr_payroll.917,4530 -l10n_be_hr_payroll.918,4530 -l10n_be_hr_payroll.919,4530 -l10n_be_hr_payroll.920,4530 -l10n_be_hr_payroll.921,4530 -l10n_be_hr_payroll.922,4530 -l10n_be_hr_payroll.923,4530 -l10n_be_hr_payroll.924,4530 -l10n_be_hr_payroll.925,4530 -l10n_be_hr_payroll.926,4530 -l10n_be_hr_payroll.927,4530 -l10n_be_hr_payroll.928,4530 -l10n_be_hr_payroll.929,4530 -l10n_be_hr_payroll.930,4530 -l10n_be_hr_payroll.931,4530 -l10n_be_hr_payroll.932,4530 -l10n_be_hr_payroll.933,4530 -l10n_be_hr_payroll.934,4530 -l10n_be_hr_payroll.935,4530 -l10n_be_hr_payroll.936,4530 -l10n_be_hr_payroll.937,4530 -l10n_be_hr_payroll.938,4530 -l10n_be_hr_payroll.939,4530 -l10n_be_hr_payroll.940,4530 -l10n_be_hr_payroll.941,4530 -l10n_be_hr_payroll.942,4530 -l10n_be_hr_payroll.943,4530 -l10n_be_hr_payroll.944,4530 -l10n_be_hr_payroll.945,4530 -l10n_be_hr_payroll.946,4530 -l10n_be_hr_payroll.947,4530 -l10n_be_hr_payroll.948,4530 -l10n_be_hr_payroll.949,4530 -l10n_be_hr_payroll.950,4530 -l10n_be_hr_payroll.951,4530 -l10n_be_hr_payroll.952,4530 -l10n_be_hr_payroll.953,4530 -l10n_be_hr_payroll.954,4530 -l10n_be_hr_payroll.955,4530 -l10n_be_hr_payroll.956,4530 -l10n_be_hr_payroll.957,4530 -l10n_be_hr_payroll.958,4530 -l10n_be_hr_payroll.959,4530 -l10n_be_hr_payroll.960,4530 -l10n_be_hr_payroll.961,4530 -l10n_be_hr_payroll.962,4530 -l10n_be_hr_payroll.963,4530 -l10n_be_hr_payroll.964,4530 -l10n_be_hr_payroll.965,4530 -l10n_be_hr_payroll.966,4530 -l10n_be_hr_payroll.967,4530 -l10n_be_hr_payroll.968,4530 -l10n_be_hr_payroll.969,4530 -l10n_be_hr_payroll.970,4530 -l10n_be_hr_payroll.971,4530 -l10n_be_hr_payroll.972,4530 -l10n_be_hr_payroll.973,4530 -l10n_be_hr_payroll.974,4530 -l10n_be_hr_payroll.975,4530 -l10n_be_hr_payroll.976,4530 -l10n_be_hr_payroll.977,4530 -l10n_be_hr_payroll.978,4530 -l10n_be_hr_payroll.979,4530 -l10n_be_hr_payroll.980,4530 -l10n_be_hr_payroll.981,4530 -l10n_be_hr_payroll.982,4530 -l10n_be_hr_payroll.983,4530 -l10n_be_hr_payroll.984,4530 -l10n_be_hr_payroll.985,4530 -l10n_be_hr_payroll.986,4530 -l10n_be_hr_payroll.987,4530 -l10n_be_hr_payroll.988,4530 -l10n_be_hr_payroll.989,4530 -l10n_be_hr_payroll.990,4530 -l10n_be_hr_payroll.991,4530 -l10n_be_hr_payroll.992,4530 -l10n_be_hr_payroll.993,4530 -l10n_be_hr_payroll.994,4530 -l10n_be_hr_payroll.995,4530 -l10n_be_hr_payroll.996,4530 -l10n_be_hr_payroll.997,4530 -l10n_be_hr_payroll.998,4530 -l10n_be_hr_payroll.999,4530 -l10n_be_hr_payroll.1000,4530 -l10n_be_hr_payroll.1001,4530 -l10n_be_hr_payroll.1002,4530 -l10n_be_hr_payroll.1003,4530 -l10n_be_hr_payroll.1004,4530 -l10n_be_hr_payroll.1005,4530 -l10n_be_hr_payroll.1006,4530 -l10n_be_hr_payroll.1007,4530 -l10n_be_hr_payroll.1008,4530 -l10n_be_hr_payroll.1009,4530 -l10n_be_hr_payroll.1010,4530 -l10n_be_hr_payroll.1011,4530 -l10n_be_hr_payroll.1012,4530 -l10n_be_hr_payroll.1013,4530 -l10n_be_hr_payroll.1014,4530 -l10n_be_hr_payroll.1015,4530 -l10n_be_hr_payroll.1016,4530 -l10n_be_hr_payroll.1017,4530 -l10n_be_hr_payroll.1018,4530 -l10n_be_hr_payroll.1019,4530 -l10n_be_hr_payroll.1020,4530 -l10n_be_hr_payroll.1021,4530 -l10n_be_hr_payroll.1022,4530 -l10n_be_hr_payroll.1023,4530 -l10n_be_hr_payroll.1024,4530 -l10n_be_hr_payroll.1025,4530 -l10n_be_hr_payroll.1026,4530 -l10n_be_hr_payroll.1027,4530 -l10n_be_hr_payroll.1028,4530 -l10n_be_hr_payroll.1029,4530 -l10n_be_hr_payroll.1030,4530 -l10n_be_hr_payroll.1031,4530 -l10n_be_hr_payroll.1032,4530 -l10n_be_hr_payroll.1033,4530 -l10n_be_hr_payroll.1034,4530 -l10n_be_hr_payroll.1035,4530 -l10n_be_hr_payroll.1036,4530 -l10n_be_hr_payroll.1037,4530 -l10n_be_hr_payroll.1038,4530 -l10n_be_hr_payroll.1039,4530 -l10n_be_hr_payroll.1040,4530 -l10n_be_hr_payroll.1041,4530 -l10n_be_hr_payroll.1042,4530 -l10n_be_hr_payroll.1043,4530 -l10n_be_hr_payroll.1044,4530 -l10n_be_hr_payroll.1045,4530 -l10n_be_hr_payroll.1046,4530 -l10n_be_hr_payroll.1047,4530 -l10n_be_hr_payroll.1048,4530 -l10n_be_hr_payroll.1049,4530 -l10n_be_hr_payroll.1050,4530 -l10n_be_hr_payroll.1051,4530 -l10n_be_hr_payroll.1052,4530 -l10n_be_hr_payroll.1053,4530 -l10n_be_hr_payroll.1054,4530 -l10n_be_hr_payroll.1055,4530 -l10n_be_hr_payroll.1056,4530 -l10n_be_hr_payroll.1057,4530 -l10n_be_hr_payroll.1058,4530 -l10n_be_hr_payroll.1059,4530 -l10n_be_hr_payroll.1060,4530 -l10n_be_hr_payroll.1061,4530 -l10n_be_hr_payroll.1062,4530 -l10n_be_hr_payroll.1063,4530 -l10n_be_hr_payroll.1064,4530 -l10n_be_hr_payroll.1065,4530 -l10n_be_hr_payroll.1066,4530 -l10n_be_hr_payroll.1067,4530 -l10n_be_hr_payroll.1068,4530 -l10n_be_hr_payroll.1069,4530 -l10n_be_hr_payroll.1070,4530 -l10n_be_hr_payroll.1071,4530 -l10n_be_hr_payroll.1072,4530 -l10n_be_hr_payroll.1073,4530 -l10n_be_hr_payroll.1074,4530 -l10n_be_hr_payroll.1075,4530 -l10n_be_hr_payroll.1076,4530 -l10n_be_hr_payroll.1077,4530 -l10n_be_hr_payroll.1078,4530 -l10n_be_hr_payroll.1079,4530 -l10n_be_hr_payroll.1080,4530 -l10n_be_hr_payroll.1081,4530 -l10n_be_hr_payroll.1082,4530 -l10n_be_hr_payroll.1083,4530 -l10n_be_hr_payroll.1084,4530 -l10n_be_hr_payroll.1085,4530 -l10n_be_hr_payroll.1086,4530 -l10n_be_hr_payroll.1087,4530 -l10n_be_hr_payroll.1088,4530 -l10n_be_hr_payroll.1089,4530 -l10n_be_hr_payroll.1090,4530 -l10n_be_hr_payroll.1091,4530 -l10n_be_hr_payroll.1092,4530 -l10n_be_hr_payroll.1093,4530 -l10n_be_hr_payroll.1094,4530 -l10n_be_hr_payroll.1095,4530 -l10n_be_hr_payroll.1096,4530 -l10n_be_hr_payroll.1097,4530 -l10n_be_hr_payroll.1098,4530 -l10n_be_hr_payroll.1099,4530 -l10n_be_hr_payroll.1100,4530 -l10n_be_hr_payroll.1101,4530 -l10n_be_hr_payroll.1102,4530 -l10n_be_hr_payroll.1103,4530 -l10n_be_hr_payroll.1104,4530 -l10n_be_hr_payroll.1105,4530 -l10n_be_hr_payroll.1106,4530 -l10n_be_hr_payroll.1107,4530 -l10n_be_hr_payroll.1108,4530 -l10n_be_hr_payroll.1109,4530 -l10n_be_hr_payroll.1110,4530 -l10n_be_hr_payroll.1111,4530 -l10n_be_hr_payroll.1112,4530 -l10n_be_hr_payroll.1113,4530 -l10n_be_hr_payroll.1114,4530 -l10n_be_hr_payroll.1115,4530 -l10n_be_hr_payroll.1116,4530 -l10n_be_hr_payroll.1117,4530 -l10n_be_hr_payroll.1118,4530 -l10n_be_hr_payroll.1119,4530 -l10n_be_hr_payroll.1120,4530 -l10n_be_hr_payroll.1121,4530 -l10n_be_hr_payroll.1122,4530 -l10n_be_hr_payroll.1123,4530 -l10n_be_hr_payroll.1124,4530 -l10n_be_hr_payroll.1125,4530 -l10n_be_hr_payroll.1126,4530 -l10n_be_hr_payroll.1127,4530 -l10n_be_hr_payroll.1128,4530 -l10n_be_hr_payroll.1129,4530 -l10n_be_hr_payroll.1130,4530 -l10n_be_hr_payroll.1131,4530 -l10n_be_hr_payroll.1132,4530 -l10n_be_hr_payroll.1133,4530 -l10n_be_hr_payroll.1134,4530 -l10n_be_hr_payroll.1135,4530 -l10n_be_hr_payroll.1136,4530 -l10n_be_hr_payroll.1137,4530 -l10n_be_hr_payroll.1138,4530 -l10n_be_hr_payroll.1139,4530 -l10n_be_hr_payroll.1140,4530 -l10n_be_hr_payroll.1141,4530 -l10n_be_hr_payroll.1142,4530 -l10n_be_hr_payroll.1143,4530 -l10n_be_hr_payroll.1144,4530 -l10n_be_hr_payroll.1145,4530 -l10n_be_hr_payroll.1146,4530 -l10n_be_hr_payroll.1147,4530 -l10n_be_hr_payroll.1148,4530 -l10n_be_hr_payroll.1149,4530 -l10n_be_hr_payroll.1150,4530 -l10n_be_hr_payroll.1151,4530 -l10n_be_hr_payroll.1152,4530 -l10n_be_hr_payroll.1153,4530 -l10n_be_hr_payroll.1154,4530 -l10n_be_hr_payroll.1155,4530 -l10n_be_hr_payroll.1156,4530 -l10n_be_hr_payroll.1157,4530 -l10n_be_hr_payroll.1158,4530 -l10n_be_hr_payroll.1159,4530 -l10n_be_hr_payroll.1160,4530 -l10n_be_hr_payroll.1161,4530 -l10n_be_hr_payroll.1162,4530 -l10n_be_hr_payroll.1163,4530 -l10n_be_hr_payroll.1164,4530 -l10n_be_hr_payroll.1165,4530 -l10n_be_hr_payroll.1166,4530 -l10n_be_hr_payroll.1167,4530 -l10n_be_hr_payroll.1168,4530 -l10n_be_hr_payroll.1169,4530 -l10n_be_hr_payroll.1170,4530 -l10n_be_hr_payroll.1171,4530 -l10n_be_hr_payroll.1172,4530 -l10n_be_hr_payroll.1173,4530 -l10n_be_hr_payroll.1174,4530 -l10n_be_hr_payroll.1175,4530 -l10n_be_hr_payroll.1176,4530 -l10n_be_hr_payroll.1177,4530 -l10n_be_hr_payroll.1178,4530 -l10n_be_hr_payroll.1179,4530 -l10n_be_hr_payroll.1180,4530 -l10n_be_hr_payroll.1181,4530 -l10n_be_hr_payroll.1182,4530 -l10n_be_hr_payroll.1183,4530 -l10n_be_hr_payroll.1184,4530 -l10n_be_hr_payroll.1185,4530 -l10n_be_hr_payroll.1186,4530 -l10n_be_hr_payroll.1187,4530 -l10n_be_hr_payroll.1188,4530 -l10n_be_hr_payroll.1189,4530 -l10n_be_hr_payroll.1190,4530 -l10n_be_hr_payroll.1191,4530 -l10n_be_hr_payroll.1192,4530 -l10n_be_hr_payroll.1193,4530 -l10n_be_hr_payroll.1194,4530 -l10n_be_hr_payroll.1195,4530 -l10n_be_hr_payroll.1196,4530 -l10n_be_hr_payroll.1197,4530 -l10n_be_hr_payroll.1198,4530 -l10n_be_hr_payroll.1199,4530 -l10n_be_hr_payroll.1200,4530 -l10n_be_hr_payroll.1201,4530 -l10n_be_hr_payroll.1202,4530 -l10n_be_hr_payroll.1203,4530 -l10n_be_hr_payroll.1204,4530 -l10n_be_hr_payroll.1205,4530 -l10n_be_hr_payroll.1206,4530 -l10n_be_hr_payroll.1207,4530 -l10n_be_hr_payroll.1208,4530 -l10n_be_hr_payroll.1209,4530 -l10n_be_hr_payroll.1210,4530 -l10n_be_hr_payroll.1211,4530 -l10n_be_hr_payroll.1212,4530 -l10n_be_hr_payroll.1213,4530 -l10n_be_hr_payroll.1214,4530 -l10n_be_hr_payroll.1215,4530 -l10n_be_hr_payroll.1216,4530 -l10n_be_hr_payroll.1217,4530 -l10n_be_hr_payroll.1218,4530 -l10n_be_hr_payroll.1219,4530 -l10n_be_hr_payroll.1220,4530 -l10n_be_hr_payroll.1221,4530 -l10n_be_hr_payroll.1222,4530 -l10n_be_hr_payroll.1223,4530 -l10n_be_hr_payroll.1224,4530 -l10n_be_hr_payroll.1225,4530 -l10n_be_hr_payroll.1226,4530 -l10n_be_hr_payroll.1227,4530 -l10n_be_hr_payroll.1228,4530 -l10n_be_hr_payroll.1229,4530 -l10n_be_hr_payroll.1230,4530 -l10n_be_hr_payroll.1231,4530 -l10n_be_hr_payroll.1232,4530 -l10n_be_hr_payroll.1233,4530 -l10n_be_hr_payroll.1234,4530 -l10n_be_hr_payroll.1235,4530 -l10n_be_hr_payroll.1236,4530 -l10n_be_hr_payroll.1237,4530 -l10n_be_hr_payroll.1238,4530 -l10n_be_hr_payroll.1239,4530 -l10n_be_hr_payroll.1240,4530 -l10n_be_hr_payroll.1241,4530 -l10n_be_hr_payroll.1242,4530 -l10n_be_hr_payroll.1243,4530 -l10n_be_hr_payroll.1244,4530 -l10n_be_hr_payroll.1245,4530 -l10n_be_hr_payroll.1246,4530 -l10n_be_hr_payroll.1247,4530 -l10n_be_hr_payroll.1248,4530 -l10n_be_hr_payroll.1249,4530 -l10n_be_hr_payroll.1250,4530 -l10n_be_hr_payroll.1251,4530 -l10n_be_hr_payroll.1252,4530 -l10n_be_hr_payroll.1253,4530 -l10n_be_hr_payroll.1254,4530 -l10n_be_hr_payroll.1255,4530 -l10n_be_hr_payroll.1256,4530 -l10n_be_hr_payroll.1257,4530 -l10n_be_hr_payroll.1258,4530 -l10n_be_hr_payroll.1259,4530 -l10n_be_hr_payroll.1260,4530 -l10n_be_hr_payroll.1261,4530 -l10n_be_hr_payroll.1262,4530 -l10n_be_hr_payroll.1263,4530 -l10n_be_hr_payroll.1264,4530 -l10n_be_hr_payroll.1265,4530 -l10n_be_hr_payroll.1266,4530 -l10n_be_hr_payroll.1267,4530 -l10n_be_hr_payroll.1268,4530 -l10n_be_hr_payroll.1269,4530 -l10n_be_hr_payroll.1270,4530 -l10n_be_hr_payroll.1271,4530 -l10n_be_hr_payroll.1272,4530 -l10n_be_hr_payroll.1273,4530 -l10n_be_hr_payroll.1274,4530 -l10n_be_hr_payroll.1275,4530 -l10n_be_hr_payroll.1276,4530 -l10n_be_hr_payroll.1277,4530 -l10n_be_hr_payroll.1278,4530 -l10n_be_hr_payroll.1279,4530 -l10n_be_hr_payroll.1280,4530 -l10n_be_hr_payroll.1281,4530 -l10n_be_hr_payroll.1282,4530 -l10n_be_hr_payroll.1283,4530 -l10n_be_hr_payroll.1284,4530 -l10n_be_hr_payroll.1285,4530 -l10n_be_hr_payroll.1286,4530 -l10n_be_hr_payroll.1287,4530 -l10n_be_hr_payroll.1288,4530 -l10n_be_hr_payroll.1289,4530 -l10n_be_hr_payroll.1290,4530 -l10n_be_hr_payroll.1291,4530 -l10n_be_hr_payroll.1292,4530 -l10n_be_hr_payroll.1293,4530 -l10n_be_hr_payroll.1294,4530 -l10n_be_hr_payroll.1295,4530 -l10n_be_hr_payroll.1296,4530 -l10n_be_hr_payroll.1297,4530 -l10n_be_hr_payroll.1298,4530 -l10n_be_hr_payroll.1299,4530 -l10n_be_hr_payroll.1300,4530 -l10n_be_hr_payroll.1301,4530 -l10n_be_hr_payroll.1302,4530 -l10n_be_hr_payroll.1303,4530 -l10n_be_hr_payroll.1304,4530 -l10n_be_hr_payroll.1305,4530 -l10n_be_hr_payroll.1306,4530 -l10n_be_hr_payroll.1307,4530 -l10n_be_hr_payroll.1308,4530 -l10n_be_hr_payroll.1309,4530 -l10n_be_hr_payroll.1310,4530 -l10n_be_hr_payroll.1311,4530 -l10n_be_hr_payroll.1312,4530 -l10n_be_hr_payroll.1313,4530 -l10n_be_hr_payroll.1314,4530 -l10n_be_hr_payroll.1315,4530 -l10n_be_hr_payroll.1316,4530 -l10n_be_hr_payroll.1317,4530 -l10n_be_hr_payroll.1318,4530 -l10n_be_hr_payroll.1319,4530 -l10n_be_hr_payroll.1320,4530 -l10n_be_hr_payroll.1321,4530 -l10n_be_hr_payroll.1322,4530 -l10n_be_hr_payroll.1323,4530 -l10n_be_hr_payroll.1324,4530 -l10n_be_hr_payroll.1325,4530 -l10n_be_hr_payroll.1326,4530 -l10n_be_hr_payroll.1327,4530 -l10n_be_hr_payroll.1328,4530 -l10n_be_hr_payroll.1329,4530 -l10n_be_hr_payroll.1330,4530 -l10n_be_hr_payroll.1331,4530 -l10n_be_hr_payroll.1332,4530 -l10n_be_hr_payroll.1333,4530 -l10n_be_hr_payroll.1334,4530 -l10n_be_hr_payroll.1335,4530 -l10n_be_hr_payroll.1336,4530 -l10n_be_hr_payroll.1337,4530 -l10n_be_hr_payroll.1338,4530 -l10n_be_hr_payroll.1339,4530 -l10n_be_hr_payroll.1340,4530 -l10n_be_hr_payroll.1341,4530 -l10n_be_hr_payroll.1342,4530 -l10n_be_hr_payroll.1343,4530 -l10n_be_hr_payroll.1344,4530 -l10n_be_hr_payroll.1345,4530 -l10n_be_hr_payroll.1346,4530 -l10n_be_hr_payroll.1347,4530 -l10n_be_hr_payroll.1348,4530 -l10n_be_hr_payroll.1349,4530 -l10n_be_hr_payroll.1350,4530 -l10n_be_hr_payroll.1351,4530 -l10n_be_hr_payroll.1352,4530 -l10n_be_hr_payroll.1353,4530 -l10n_be_hr_payroll.1354,4530 -l10n_be_hr_payroll.1355,4530 -l10n_be_hr_payroll.1356,4530 -l10n_be_hr_payroll.1357,4530 -l10n_be_hr_payroll.1358,4530 -l10n_be_hr_payroll.1359,4530 -l10n_be_hr_payroll.1360,4530 -l10n_be_hr_payroll.1361,4530 -l10n_be_hr_payroll.1362,4530 -l10n_be_hr_payroll.1363,4530 -l10n_be_hr_payroll.1364,4530 -l10n_be_hr_payroll.1365,4530 -l10n_be_hr_payroll.1366,4530 -l10n_be_hr_payroll.1367,4530 -l10n_be_hr_payroll.1368,4530 -l10n_be_hr_payroll.1369,4530 -l10n_be_hr_payroll.1370,4530 -l10n_be_hr_payroll.1371,4530 -l10n_be_hr_payroll.1372,4530 -l10n_be_hr_payroll.1373,4530 -l10n_be_hr_payroll.1374,4530 -l10n_be_hr_payroll.1375,4530 -l10n_be_hr_payroll.1376,4530 -l10n_be_hr_payroll.1377,4530 -l10n_be_hr_payroll.1378,4530 -l10n_be_hr_payroll.1379,4530 -l10n_be_hr_payroll.1380,4530 -l10n_be_hr_payroll.1381,4530 -l10n_be_hr_payroll.1382,4530 -l10n_be_hr_payroll.1383,4530 -l10n_be_hr_payroll.1384,4530 -l10n_be_hr_payroll.1385,4530 -l10n_be_hr_payroll.1386,4530 -l10n_be_hr_payroll.1387,4530 -l10n_be_hr_payroll.1388,4530 -l10n_be_hr_payroll.1389,4530 -l10n_be_hr_payroll.1390,4530 -l10n_be_hr_payroll.1391,4530 -l10n_be_hr_payroll.1392,4530 -l10n_be_hr_payroll.1393,4530 -l10n_be_hr_payroll.1394,4530 -l10n_be_hr_payroll.1395,4530 -l10n_be_hr_payroll.1396,4530 -l10n_be_hr_payroll.1397,4530 -l10n_be_hr_payroll.1398,4530 -l10n_be_hr_payroll.1399,4530 -l10n_be_hr_payroll.1400,4530 -l10n_be_hr_payroll.1401,4530 -l10n_be_hr_payroll.1402,4530 -l10n_be_hr_payroll.1403,4530 -l10n_be_hr_payroll.1404,4530 -l10n_be_hr_payroll.1405,4530 -l10n_be_hr_payroll.1406,4530 -l10n_be_hr_payroll.1407,4530 -l10n_be_hr_payroll.1408,4530 -l10n_be_hr_payroll.1409,4530 +l10n_be_hr_payroll.1,453000 +l10n_be_hr_payroll.2,453000 +l10n_be_hr_payroll.3,453000 +l10n_be_hr_payroll.4,453000 +l10n_be_hr_payroll.5,453000 +l10n_be_hr_payroll.6,453000 +l10n_be_hr_payroll.7,453000 +l10n_be_hr_payroll.8,453000 +l10n_be_hr_payroll.9,453000 +l10n_be_hr_payroll.10,453000 +l10n_be_hr_payroll.11,453000 +l10n_be_hr_payroll.12,453000 +l10n_be_hr_payroll.13,453000 +l10n_be_hr_payroll.14,453000 +l10n_be_hr_payroll.15,453000 +l10n_be_hr_payroll.16,453000 +l10n_be_hr_payroll.17,453000 +l10n_be_hr_payroll.18,453000 +l10n_be_hr_payroll.19,453000 +l10n_be_hr_payroll.20,453000 +l10n_be_hr_payroll.21,453000 +l10n_be_hr_payroll.22,453000 +l10n_be_hr_payroll.23,453000 +l10n_be_hr_payroll.24,453000 +l10n_be_hr_payroll.25,453000 +l10n_be_hr_payroll.26,453000 +l10n_be_hr_payroll.27,453000 +l10n_be_hr_payroll.28,453000 +l10n_be_hr_payroll.29,453000 +l10n_be_hr_payroll.30,453000 +l10n_be_hr_payroll.31,453000 +l10n_be_hr_payroll.32,453000 +l10n_be_hr_payroll.33,453000 +l10n_be_hr_payroll.34,453000 +l10n_be_hr_payroll.35,453000 +l10n_be_hr_payroll.36,453000 +l10n_be_hr_payroll.37,453000 +l10n_be_hr_payroll.38,453000 +l10n_be_hr_payroll.39,453000 +l10n_be_hr_payroll.40,453000 +l10n_be_hr_payroll.41,453000 +l10n_be_hr_payroll.42,453000 +l10n_be_hr_payroll.43,453000 +l10n_be_hr_payroll.44,453000 +l10n_be_hr_payroll.45,453000 +l10n_be_hr_payroll.46,453000 +l10n_be_hr_payroll.47,453000 +l10n_be_hr_payroll.48,453000 +l10n_be_hr_payroll.49,453000 +l10n_be_hr_payroll.50,453000 +l10n_be_hr_payroll.51,453000 +l10n_be_hr_payroll.52,453000 +l10n_be_hr_payroll.53,453000 +l10n_be_hr_payroll.54,453000 +l10n_be_hr_payroll.55,453000 +l10n_be_hr_payroll.56,453000 +l10n_be_hr_payroll.57,453000 +l10n_be_hr_payroll.58,453000 +l10n_be_hr_payroll.59,453000 +l10n_be_hr_payroll.60,453000 +l10n_be_hr_payroll.61,453000 +l10n_be_hr_payroll.62,453000 +l10n_be_hr_payroll.63,453000 +l10n_be_hr_payroll.64,453000 +l10n_be_hr_payroll.65,453000 +l10n_be_hr_payroll.66,453000 +l10n_be_hr_payroll.67,453000 +l10n_be_hr_payroll.68,453000 +l10n_be_hr_payroll.69,453000 +l10n_be_hr_payroll.70,453000 +l10n_be_hr_payroll.71,453000 +l10n_be_hr_payroll.72,453000 +l10n_be_hr_payroll.73,453000 +l10n_be_hr_payroll.74,453000 +l10n_be_hr_payroll.75,453000 +l10n_be_hr_payroll.76,453000 +l10n_be_hr_payroll.77,453000 +l10n_be_hr_payroll.78,453000 +l10n_be_hr_payroll.79,453000 +l10n_be_hr_payroll.80,453000 +l10n_be_hr_payroll.81,453000 +l10n_be_hr_payroll.82,453000 +l10n_be_hr_payroll.83,453000 +l10n_be_hr_payroll.84,453000 +l10n_be_hr_payroll.85,453000 +l10n_be_hr_payroll.86,453000 +l10n_be_hr_payroll.87,453000 +l10n_be_hr_payroll.88,453000 +l10n_be_hr_payroll.89,453000 +l10n_be_hr_payroll.90,453000 +l10n_be_hr_payroll.91,453000 +l10n_be_hr_payroll.92,453000 +l10n_be_hr_payroll.93,453000 +l10n_be_hr_payroll.94,453000 +l10n_be_hr_payroll.95,453000 +l10n_be_hr_payroll.96,453000 +l10n_be_hr_payroll.97,453000 +l10n_be_hr_payroll.98,453000 +l10n_be_hr_payroll.99,453000 +l10n_be_hr_payroll.100,453000 +l10n_be_hr_payroll.101,453000 +l10n_be_hr_payroll.102,453000 +l10n_be_hr_payroll.103,453000 +l10n_be_hr_payroll.104,453000 +l10n_be_hr_payroll.105,453000 +l10n_be_hr_payroll.106,453000 +l10n_be_hr_payroll.107,453000 +l10n_be_hr_payroll.108,453000 +l10n_be_hr_payroll.109,453000 +l10n_be_hr_payroll.110,453000 +l10n_be_hr_payroll.111,453000 +l10n_be_hr_payroll.112,453000 +l10n_be_hr_payroll.113,453000 +l10n_be_hr_payroll.114,453000 +l10n_be_hr_payroll.115,453000 +l10n_be_hr_payroll.116,453000 +l10n_be_hr_payroll.117,453000 +l10n_be_hr_payroll.118,453000 +l10n_be_hr_payroll.119,453000 +l10n_be_hr_payroll.120,453000 +l10n_be_hr_payroll.121,453000 +l10n_be_hr_payroll.122,453000 +l10n_be_hr_payroll.123,453000 +l10n_be_hr_payroll.124,453000 +l10n_be_hr_payroll.125,453000 +l10n_be_hr_payroll.126,453000 +l10n_be_hr_payroll.127,453000 +l10n_be_hr_payroll.128,453000 +l10n_be_hr_payroll.129,453000 +l10n_be_hr_payroll.130,453000 +l10n_be_hr_payroll.131,453000 +l10n_be_hr_payroll.132,453000 +l10n_be_hr_payroll.133,453000 +l10n_be_hr_payroll.134,453000 +l10n_be_hr_payroll.135,453000 +l10n_be_hr_payroll.136,453000 +l10n_be_hr_payroll.137,453000 +l10n_be_hr_payroll.138,453000 +l10n_be_hr_payroll.139,453000 +l10n_be_hr_payroll.140,453000 +l10n_be_hr_payroll.141,453000 +l10n_be_hr_payroll.142,453000 +l10n_be_hr_payroll.143,453000 +l10n_be_hr_payroll.144,453000 +l10n_be_hr_payroll.145,453000 +l10n_be_hr_payroll.146,453000 +l10n_be_hr_payroll.147,453000 +l10n_be_hr_payroll.148,453000 +l10n_be_hr_payroll.149,453000 +l10n_be_hr_payroll.150,453000 +l10n_be_hr_payroll.151,453000 +l10n_be_hr_payroll.152,453000 +l10n_be_hr_payroll.153,453000 +l10n_be_hr_payroll.154,453000 +l10n_be_hr_payroll.155,453000 +l10n_be_hr_payroll.156,453000 +l10n_be_hr_payroll.157,453000 +l10n_be_hr_payroll.158,453000 +l10n_be_hr_payroll.159,453000 +l10n_be_hr_payroll.160,453000 +l10n_be_hr_payroll.161,453000 +l10n_be_hr_payroll.162,453000 +l10n_be_hr_payroll.163,453000 +l10n_be_hr_payroll.164,453000 +l10n_be_hr_payroll.165,453000 +l10n_be_hr_payroll.166,453000 +l10n_be_hr_payroll.167,453000 +l10n_be_hr_payroll.168,453000 +l10n_be_hr_payroll.169,453000 +l10n_be_hr_payroll.170,453000 +l10n_be_hr_payroll.171,453000 +l10n_be_hr_payroll.172,453000 +l10n_be_hr_payroll.173,453000 +l10n_be_hr_payroll.174,453000 +l10n_be_hr_payroll.175,453000 +l10n_be_hr_payroll.176,453000 +l10n_be_hr_payroll.177,453000 +l10n_be_hr_payroll.178,453000 +l10n_be_hr_payroll.179,453000 +l10n_be_hr_payroll.180,453000 +l10n_be_hr_payroll.181,453000 +l10n_be_hr_payroll.182,453000 +l10n_be_hr_payroll.183,453000 +l10n_be_hr_payroll.184,453000 +l10n_be_hr_payroll.185,453000 +l10n_be_hr_payroll.186,453000 +l10n_be_hr_payroll.187,453000 +l10n_be_hr_payroll.188,453000 +l10n_be_hr_payroll.189,453000 +l10n_be_hr_payroll.190,453000 +l10n_be_hr_payroll.191,453000 +l10n_be_hr_payroll.192,453000 +l10n_be_hr_payroll.193,453000 +l10n_be_hr_payroll.194,453000 +l10n_be_hr_payroll.195,453000 +l10n_be_hr_payroll.196,453000 +l10n_be_hr_payroll.197,453000 +l10n_be_hr_payroll.198,453000 +l10n_be_hr_payroll.199,453000 +l10n_be_hr_payroll.200,453000 +l10n_be_hr_payroll.201,453000 +l10n_be_hr_payroll.202,453000 +l10n_be_hr_payroll.203,453000 +l10n_be_hr_payroll.204,453000 +l10n_be_hr_payroll.205,453000 +l10n_be_hr_payroll.206,453000 +l10n_be_hr_payroll.207,453000 +l10n_be_hr_payroll.208,453000 +l10n_be_hr_payroll.209,453000 +l10n_be_hr_payroll.210,453000 +l10n_be_hr_payroll.211,453000 +l10n_be_hr_payroll.212,453000 +l10n_be_hr_payroll.213,453000 +l10n_be_hr_payroll.214,453000 +l10n_be_hr_payroll.215,453000 +l10n_be_hr_payroll.216,453000 +l10n_be_hr_payroll.217,453000 +l10n_be_hr_payroll.218,453000 +l10n_be_hr_payroll.219,453000 +l10n_be_hr_payroll.220,453000 +l10n_be_hr_payroll.221,453000 +l10n_be_hr_payroll.222,453000 +l10n_be_hr_payroll.223,453000 +l10n_be_hr_payroll.224,453000 +l10n_be_hr_payroll.225,453000 +l10n_be_hr_payroll.226,453000 +l10n_be_hr_payroll.227,453000 +l10n_be_hr_payroll.228,453000 +l10n_be_hr_payroll.229,453000 +l10n_be_hr_payroll.230,453000 +l10n_be_hr_payroll.231,453000 +l10n_be_hr_payroll.232,453000 +l10n_be_hr_payroll.233,453000 +l10n_be_hr_payroll.234,453000 +l10n_be_hr_payroll.235,453000 +l10n_be_hr_payroll.236,453000 +l10n_be_hr_payroll.237,453000 +l10n_be_hr_payroll.238,453000 +l10n_be_hr_payroll.239,453000 +l10n_be_hr_payroll.240,453000 +l10n_be_hr_payroll.241,453000 +l10n_be_hr_payroll.242,453000 +l10n_be_hr_payroll.243,453000 +l10n_be_hr_payroll.244,453000 +l10n_be_hr_payroll.245,453000 +l10n_be_hr_payroll.246,453000 +l10n_be_hr_payroll.247,453000 +l10n_be_hr_payroll.248,453000 +l10n_be_hr_payroll.249,453000 +l10n_be_hr_payroll.250,453000 +l10n_be_hr_payroll.251,453000 +l10n_be_hr_payroll.252,453000 +l10n_be_hr_payroll.253,453000 +l10n_be_hr_payroll.254,453000 +l10n_be_hr_payroll.255,453000 +l10n_be_hr_payroll.256,453000 +l10n_be_hr_payroll.257,453000 +l10n_be_hr_payroll.258,453000 +l10n_be_hr_payroll.259,453000 +l10n_be_hr_payroll.260,453000 +l10n_be_hr_payroll.261,453000 +l10n_be_hr_payroll.262,453000 +l10n_be_hr_payroll.263,453000 +l10n_be_hr_payroll.264,453000 +l10n_be_hr_payroll.265,453000 +l10n_be_hr_payroll.266,453000 +l10n_be_hr_payroll.267,453000 +l10n_be_hr_payroll.268,453000 +l10n_be_hr_payroll.269,453000 +l10n_be_hr_payroll.270,453000 +l10n_be_hr_payroll.271,453000 +l10n_be_hr_payroll.272,453000 +l10n_be_hr_payroll.273,453000 +l10n_be_hr_payroll.274,453000 +l10n_be_hr_payroll.275,453000 +l10n_be_hr_payroll.276,453000 +l10n_be_hr_payroll.277,453000 +l10n_be_hr_payroll.278,453000 +l10n_be_hr_payroll.279,453000 +l10n_be_hr_payroll.280,453000 +l10n_be_hr_payroll.281,453000 +l10n_be_hr_payroll.282,453000 +l10n_be_hr_payroll.283,453000 +l10n_be_hr_payroll.284,453000 +l10n_be_hr_payroll.285,453000 +l10n_be_hr_payroll.286,453000 +l10n_be_hr_payroll.287,453000 +l10n_be_hr_payroll.288,453000 +l10n_be_hr_payroll.289,453000 +l10n_be_hr_payroll.290,453000 +l10n_be_hr_payroll.291,453000 +l10n_be_hr_payroll.292,453000 +l10n_be_hr_payroll.293,453000 +l10n_be_hr_payroll.294,453000 +l10n_be_hr_payroll.295,453000 +l10n_be_hr_payroll.296,453000 +l10n_be_hr_payroll.297,453000 +l10n_be_hr_payroll.298,453000 +l10n_be_hr_payroll.299,453000 +l10n_be_hr_payroll.300,453000 +l10n_be_hr_payroll.301,453000 +l10n_be_hr_payroll.302,453000 +l10n_be_hr_payroll.303,453000 +l10n_be_hr_payroll.304,453000 +l10n_be_hr_payroll.305,453000 +l10n_be_hr_payroll.306,453000 +l10n_be_hr_payroll.307,453000 +l10n_be_hr_payroll.308,453000 +l10n_be_hr_payroll.309,453000 +l10n_be_hr_payroll.310,453000 +l10n_be_hr_payroll.311,453000 +l10n_be_hr_payroll.312,453000 +l10n_be_hr_payroll.313,453000 +l10n_be_hr_payroll.314,453000 +l10n_be_hr_payroll.315,453000 +l10n_be_hr_payroll.316,453000 +l10n_be_hr_payroll.317,453000 +l10n_be_hr_payroll.318,453000 +l10n_be_hr_payroll.319,453000 +l10n_be_hr_payroll.320,453000 +l10n_be_hr_payroll.321,453000 +l10n_be_hr_payroll.322,453000 +l10n_be_hr_payroll.323,453000 +l10n_be_hr_payroll.324,453000 +l10n_be_hr_payroll.325,453000 +l10n_be_hr_payroll.326,453000 +l10n_be_hr_payroll.327,453000 +l10n_be_hr_payroll.328,453000 +l10n_be_hr_payroll.329,453000 +l10n_be_hr_payroll.330,453000 +l10n_be_hr_payroll.331,453000 +l10n_be_hr_payroll.332,453000 +l10n_be_hr_payroll.333,453000 +l10n_be_hr_payroll.334,453000 +l10n_be_hr_payroll.335,453000 +l10n_be_hr_payroll.336,453000 +l10n_be_hr_payroll.337,453000 +l10n_be_hr_payroll.338,453000 +l10n_be_hr_payroll.339,453000 +l10n_be_hr_payroll.340,453000 +l10n_be_hr_payroll.341,453000 +l10n_be_hr_payroll.342,453000 +l10n_be_hr_payroll.343,453000 +l10n_be_hr_payroll.344,453000 +l10n_be_hr_payroll.345,453000 +l10n_be_hr_payroll.346,453000 +l10n_be_hr_payroll.347,453000 +l10n_be_hr_payroll.348,453000 +l10n_be_hr_payroll.349,453000 +l10n_be_hr_payroll.350,453000 +l10n_be_hr_payroll.351,453000 +l10n_be_hr_payroll.352,453000 +l10n_be_hr_payroll.353,453000 +l10n_be_hr_payroll.354,453000 +l10n_be_hr_payroll.355,453000 +l10n_be_hr_payroll.356,453000 +l10n_be_hr_payroll.357,453000 +l10n_be_hr_payroll.358,453000 +l10n_be_hr_payroll.359,453000 +l10n_be_hr_payroll.360,453000 +l10n_be_hr_payroll.361,453000 +l10n_be_hr_payroll.362,453000 +l10n_be_hr_payroll.363,453000 +l10n_be_hr_payroll.364,453000 +l10n_be_hr_payroll.365,453000 +l10n_be_hr_payroll.366,453000 +l10n_be_hr_payroll.367,453000 +l10n_be_hr_payroll.368,453000 +l10n_be_hr_payroll.369,453000 +l10n_be_hr_payroll.370,453000 +l10n_be_hr_payroll.371,453000 +l10n_be_hr_payroll.372,453000 +l10n_be_hr_payroll.373,453000 +l10n_be_hr_payroll.374,453000 +l10n_be_hr_payroll.375,453000 +l10n_be_hr_payroll.376,453000 +l10n_be_hr_payroll.377,453000 +l10n_be_hr_payroll.378,453000 +l10n_be_hr_payroll.379,453000 +l10n_be_hr_payroll.380,453000 +l10n_be_hr_payroll.381,453000 +l10n_be_hr_payroll.382,453000 +l10n_be_hr_payroll.383,453000 +l10n_be_hr_payroll.384,453000 +l10n_be_hr_payroll.385,453000 +l10n_be_hr_payroll.386,453000 +l10n_be_hr_payroll.387,453000 +l10n_be_hr_payroll.388,453000 +l10n_be_hr_payroll.389,453000 +l10n_be_hr_payroll.390,453000 +l10n_be_hr_payroll.391,453000 +l10n_be_hr_payroll.392,453000 +l10n_be_hr_payroll.393,453000 +l10n_be_hr_payroll.394,453000 +l10n_be_hr_payroll.395,453000 +l10n_be_hr_payroll.396,453000 +l10n_be_hr_payroll.397,453000 +l10n_be_hr_payroll.398,453000 +l10n_be_hr_payroll.399,453000 +l10n_be_hr_payroll.400,453000 +l10n_be_hr_payroll.401,453000 +l10n_be_hr_payroll.402,453000 +l10n_be_hr_payroll.403,453000 +l10n_be_hr_payroll.404,453000 +l10n_be_hr_payroll.405,453000 +l10n_be_hr_payroll.406,453000 +l10n_be_hr_payroll.407,453000 +l10n_be_hr_payroll.408,453000 +l10n_be_hr_payroll.409,453000 +l10n_be_hr_payroll.410,453000 +l10n_be_hr_payroll.411,453000 +l10n_be_hr_payroll.412,453000 +l10n_be_hr_payroll.413,453000 +l10n_be_hr_payroll.414,453000 +l10n_be_hr_payroll.415,453000 +l10n_be_hr_payroll.416,453000 +l10n_be_hr_payroll.417,453000 +l10n_be_hr_payroll.418,453000 +l10n_be_hr_payroll.419,453000 +l10n_be_hr_payroll.420,453000 +l10n_be_hr_payroll.421,453000 +l10n_be_hr_payroll.422,453000 +l10n_be_hr_payroll.423,453000 +l10n_be_hr_payroll.424,453000 +l10n_be_hr_payroll.425,453000 +l10n_be_hr_payroll.426,453000 +l10n_be_hr_payroll.427,453000 +l10n_be_hr_payroll.428,453000 +l10n_be_hr_payroll.429,453000 +l10n_be_hr_payroll.430,453000 +l10n_be_hr_payroll.431,453000 +l10n_be_hr_payroll.432,453000 +l10n_be_hr_payroll.433,453000 +l10n_be_hr_payroll.434,453000 +l10n_be_hr_payroll.435,453000 +l10n_be_hr_payroll.436,453000 +l10n_be_hr_payroll.437,453000 +l10n_be_hr_payroll.438,453000 +l10n_be_hr_payroll.439,453000 +l10n_be_hr_payroll.440,453000 +l10n_be_hr_payroll.441,453000 +l10n_be_hr_payroll.442,453000 +l10n_be_hr_payroll.443,453000 +l10n_be_hr_payroll.444,453000 +l10n_be_hr_payroll.445,453000 +l10n_be_hr_payroll.446,453000 +l10n_be_hr_payroll.447,453000 +l10n_be_hr_payroll.448,453000 +l10n_be_hr_payroll.449,453000 +l10n_be_hr_payroll.450,453000 +l10n_be_hr_payroll.451,453000 +l10n_be_hr_payroll.452,453000 +l10n_be_hr_payroll.453,453000 +l10n_be_hr_payroll.454,453000 +l10n_be_hr_payroll.455,453000 +l10n_be_hr_payroll.456,453000 +l10n_be_hr_payroll.457,453000 +l10n_be_hr_payroll.458,453000 +l10n_be_hr_payroll.459,453000 +l10n_be_hr_payroll.460,453000 +l10n_be_hr_payroll.461,453000 +l10n_be_hr_payroll.462,453000 +l10n_be_hr_payroll.463,453000 +l10n_be_hr_payroll.464,453000 +l10n_be_hr_payroll.465,453000 +l10n_be_hr_payroll.466,453000 +l10n_be_hr_payroll.467,453000 +l10n_be_hr_payroll.468,453000 +l10n_be_hr_payroll.469,453000 +l10n_be_hr_payroll.470,453000 +l10n_be_hr_payroll.471,453000 +l10n_be_hr_payroll.472,453000 +l10n_be_hr_payroll.473,453000 +l10n_be_hr_payroll.474,453000 +l10n_be_hr_payroll.475,453000 +l10n_be_hr_payroll.476,453000 +l10n_be_hr_payroll.477,453000 +l10n_be_hr_payroll.478,453000 +l10n_be_hr_payroll.479,453000 +l10n_be_hr_payroll.480,453000 +l10n_be_hr_payroll.481,453000 +l10n_be_hr_payroll.482,453000 +l10n_be_hr_payroll.483,453000 +l10n_be_hr_payroll.484,453000 +l10n_be_hr_payroll.485,453000 +l10n_be_hr_payroll.486,453000 +l10n_be_hr_payroll.487,453000 +l10n_be_hr_payroll.488,453000 +l10n_be_hr_payroll.489,453000 +l10n_be_hr_payroll.490,453000 +l10n_be_hr_payroll.491,453000 +l10n_be_hr_payroll.492,453000 +l10n_be_hr_payroll.493,453000 +l10n_be_hr_payroll.494,453000 +l10n_be_hr_payroll.495,453000 +l10n_be_hr_payroll.496,453000 +l10n_be_hr_payroll.497,453000 +l10n_be_hr_payroll.498,453000 +l10n_be_hr_payroll.499,453000 +l10n_be_hr_payroll.500,453000 +l10n_be_hr_payroll.501,453000 +l10n_be_hr_payroll.502,453000 +l10n_be_hr_payroll.503,453000 +l10n_be_hr_payroll.504,453000 +l10n_be_hr_payroll.505,453000 +l10n_be_hr_payroll.506,453000 +l10n_be_hr_payroll.507,453000 +l10n_be_hr_payroll.508,453000 +l10n_be_hr_payroll.509,453000 +l10n_be_hr_payroll.510,453000 +l10n_be_hr_payroll.511,453000 +l10n_be_hr_payroll.512,453000 +l10n_be_hr_payroll.513,453000 +l10n_be_hr_payroll.514,453000 +l10n_be_hr_payroll.515,453000 +l10n_be_hr_payroll.516,453000 +l10n_be_hr_payroll.517,453000 +l10n_be_hr_payroll.518,453000 +l10n_be_hr_payroll.519,453000 +l10n_be_hr_payroll.520,453000 +l10n_be_hr_payroll.521,453000 +l10n_be_hr_payroll.522,453000 +l10n_be_hr_payroll.523,453000 +l10n_be_hr_payroll.524,453000 +l10n_be_hr_payroll.525,453000 +l10n_be_hr_payroll.526,453000 +l10n_be_hr_payroll.527,453000 +l10n_be_hr_payroll.528,453000 +l10n_be_hr_payroll.529,453000 +l10n_be_hr_payroll.530,453000 +l10n_be_hr_payroll.531,453000 +l10n_be_hr_payroll.532,453000 +l10n_be_hr_payroll.533,453000 +l10n_be_hr_payroll.534,453000 +l10n_be_hr_payroll.535,453000 +l10n_be_hr_payroll.536,453000 +l10n_be_hr_payroll.537,453000 +l10n_be_hr_payroll.538,453000 +l10n_be_hr_payroll.539,453000 +l10n_be_hr_payroll.540,453000 +l10n_be_hr_payroll.541,453000 +l10n_be_hr_payroll.542,453000 +l10n_be_hr_payroll.543,453000 +l10n_be_hr_payroll.544,453000 +l10n_be_hr_payroll.545,453000 +l10n_be_hr_payroll.546,453000 +l10n_be_hr_payroll.547,453000 +l10n_be_hr_payroll.548,453000 +l10n_be_hr_payroll.549,453000 +l10n_be_hr_payroll.550,453000 +l10n_be_hr_payroll.551,453000 +l10n_be_hr_payroll.552,453000 +l10n_be_hr_payroll.553,453000 +l10n_be_hr_payroll.554,453000 +l10n_be_hr_payroll.555,453000 +l10n_be_hr_payroll.556,453000 +l10n_be_hr_payroll.557,453000 +l10n_be_hr_payroll.558,453000 +l10n_be_hr_payroll.559,453000 +l10n_be_hr_payroll.560,453000 +l10n_be_hr_payroll.561,453000 +l10n_be_hr_payroll.562,453000 +l10n_be_hr_payroll.563,453000 +l10n_be_hr_payroll.564,453000 +l10n_be_hr_payroll.565,453000 +l10n_be_hr_payroll.566,453000 +l10n_be_hr_payroll.567,453000 +l10n_be_hr_payroll.568,453000 +l10n_be_hr_payroll.569,453000 +l10n_be_hr_payroll.570,453000 +l10n_be_hr_payroll.571,453000 +l10n_be_hr_payroll.572,453000 +l10n_be_hr_payroll.573,453000 +l10n_be_hr_payroll.574,453000 +l10n_be_hr_payroll.575,453000 +l10n_be_hr_payroll.576,453000 +l10n_be_hr_payroll.577,453000 +l10n_be_hr_payroll.578,453000 +l10n_be_hr_payroll.579,453000 +l10n_be_hr_payroll.580,453000 +l10n_be_hr_payroll.581,453000 +l10n_be_hr_payroll.582,453000 +l10n_be_hr_payroll.583,453000 +l10n_be_hr_payroll.584,453000 +l10n_be_hr_payroll.585,453000 +l10n_be_hr_payroll.586,453000 +l10n_be_hr_payroll.587,453000 +l10n_be_hr_payroll.588,453000 +l10n_be_hr_payroll.589,453000 +l10n_be_hr_payroll.590,453000 +l10n_be_hr_payroll.591,453000 +l10n_be_hr_payroll.592,453000 +l10n_be_hr_payroll.593,453000 +l10n_be_hr_payroll.594,453000 +l10n_be_hr_payroll.595,453000 +l10n_be_hr_payroll.596,453000 +l10n_be_hr_payroll.597,453000 +l10n_be_hr_payroll.598,453000 +l10n_be_hr_payroll.599,453000 +l10n_be_hr_payroll.600,453000 +l10n_be_hr_payroll.601,453000 +l10n_be_hr_payroll.602,453000 +l10n_be_hr_payroll.603,453000 +l10n_be_hr_payroll.604,453000 +l10n_be_hr_payroll.605,453000 +l10n_be_hr_payroll.606,453000 +l10n_be_hr_payroll.607,453000 +l10n_be_hr_payroll.608,453000 +l10n_be_hr_payroll.609,453000 +l10n_be_hr_payroll.610,453000 +l10n_be_hr_payroll.611,453000 +l10n_be_hr_payroll.612,453000 +l10n_be_hr_payroll.613,453000 +l10n_be_hr_payroll.614,453000 +l10n_be_hr_payroll.615,453000 +l10n_be_hr_payroll.616,453000 +l10n_be_hr_payroll.617,453000 +l10n_be_hr_payroll.618,453000 +l10n_be_hr_payroll.619,453000 +l10n_be_hr_payroll.620,453000 +l10n_be_hr_payroll.621,453000 +l10n_be_hr_payroll.622,453000 +l10n_be_hr_payroll.623,453000 +l10n_be_hr_payroll.624,453000 +l10n_be_hr_payroll.625,453000 +l10n_be_hr_payroll.626,453000 +l10n_be_hr_payroll.627,453000 +l10n_be_hr_payroll.628,453000 +l10n_be_hr_payroll.629,453000 +l10n_be_hr_payroll.630,453000 +l10n_be_hr_payroll.631,453000 +l10n_be_hr_payroll.632,453000 +l10n_be_hr_payroll.633,453000 +l10n_be_hr_payroll.634,453000 +l10n_be_hr_payroll.635,453000 +l10n_be_hr_payroll.636,453000 +l10n_be_hr_payroll.637,453000 +l10n_be_hr_payroll.638,453000 +l10n_be_hr_payroll.639,453000 +l10n_be_hr_payroll.640,453000 +l10n_be_hr_payroll.641,453000 +l10n_be_hr_payroll.642,453000 +l10n_be_hr_payroll.643,453000 +l10n_be_hr_payroll.644,453000 +l10n_be_hr_payroll.645,453000 +l10n_be_hr_payroll.646,453000 +l10n_be_hr_payroll.647,453000 +l10n_be_hr_payroll.648,453000 +l10n_be_hr_payroll.649,453000 +l10n_be_hr_payroll.650,453000 +l10n_be_hr_payroll.651,453000 +l10n_be_hr_payroll.652,453000 +l10n_be_hr_payroll.653,453000 +l10n_be_hr_payroll.654,453000 +l10n_be_hr_payroll.655,453000 +l10n_be_hr_payroll.656,453000 +l10n_be_hr_payroll.657,453000 +l10n_be_hr_payroll.658,453000 +l10n_be_hr_payroll.659,453000 +l10n_be_hr_payroll.660,453000 +l10n_be_hr_payroll.661,453000 +l10n_be_hr_payroll.662,453000 +l10n_be_hr_payroll.663,453000 +l10n_be_hr_payroll.664,453000 +l10n_be_hr_payroll.665,453000 +l10n_be_hr_payroll.666,453000 +l10n_be_hr_payroll.667,453000 +l10n_be_hr_payroll.668,453000 +l10n_be_hr_payroll.669,453000 +l10n_be_hr_payroll.670,453000 +l10n_be_hr_payroll.671,453000 +l10n_be_hr_payroll.672,453000 +l10n_be_hr_payroll.673,453000 +l10n_be_hr_payroll.674,453000 +l10n_be_hr_payroll.675,453000 +l10n_be_hr_payroll.676,453000 +l10n_be_hr_payroll.677,453000 +l10n_be_hr_payroll.678,453000 +l10n_be_hr_payroll.679,453000 +l10n_be_hr_payroll.680,453000 +l10n_be_hr_payroll.681,453000 +l10n_be_hr_payroll.682,453000 +l10n_be_hr_payroll.683,453000 +l10n_be_hr_payroll.684,453000 +l10n_be_hr_payroll.685,453000 +l10n_be_hr_payroll.686,453000 +l10n_be_hr_payroll.687,453000 +l10n_be_hr_payroll.688,453000 +l10n_be_hr_payroll.689,453000 +l10n_be_hr_payroll.690,453000 +l10n_be_hr_payroll.691,453000 +l10n_be_hr_payroll.692,453000 +l10n_be_hr_payroll.693,453000 +l10n_be_hr_payroll.694,453000 +l10n_be_hr_payroll.695,453000 +l10n_be_hr_payroll.696,453000 +l10n_be_hr_payroll.697,453000 +l10n_be_hr_payroll.698,453000 +l10n_be_hr_payroll.699,453000 +l10n_be_hr_payroll.700,453000 +l10n_be_hr_payroll.701,453000 +l10n_be_hr_payroll.702,453000 +l10n_be_hr_payroll.703,453000 +l10n_be_hr_payroll.704,453000 +l10n_be_hr_payroll.705,453000 +l10n_be_hr_payroll.706,453000 +l10n_be_hr_payroll.707,453000 +l10n_be_hr_payroll.708,453000 +l10n_be_hr_payroll.709,453000 +l10n_be_hr_payroll.710,453000 +l10n_be_hr_payroll.711,453000 +l10n_be_hr_payroll.712,453000 +l10n_be_hr_payroll.713,453000 +l10n_be_hr_payroll.714,453000 +l10n_be_hr_payroll.715,453000 +l10n_be_hr_payroll.716,453000 +l10n_be_hr_payroll.717,453000 +l10n_be_hr_payroll.718,453000 +l10n_be_hr_payroll.719,453000 +l10n_be_hr_payroll.720,453000 +l10n_be_hr_payroll.721,453000 +l10n_be_hr_payroll.722,453000 +l10n_be_hr_payroll.723,453000 +l10n_be_hr_payroll.724,453000 +l10n_be_hr_payroll.725,453000 +l10n_be_hr_payroll.726,453000 +l10n_be_hr_payroll.727,453000 +l10n_be_hr_payroll.728,453000 +l10n_be_hr_payroll.729,453000 +l10n_be_hr_payroll.730,453000 +l10n_be_hr_payroll.731,453000 +l10n_be_hr_payroll.732,453000 +l10n_be_hr_payroll.733,453000 +l10n_be_hr_payroll.734,453000 +l10n_be_hr_payroll.735,453000 +l10n_be_hr_payroll.736,453000 +l10n_be_hr_payroll.737,453000 +l10n_be_hr_payroll.738,453000 +l10n_be_hr_payroll.739,453000 +l10n_be_hr_payroll.740,453000 +l10n_be_hr_payroll.741,453000 +l10n_be_hr_payroll.742,453000 +l10n_be_hr_payroll.743,453000 +l10n_be_hr_payroll.744,453000 +l10n_be_hr_payroll.745,453000 +l10n_be_hr_payroll.746,453000 +l10n_be_hr_payroll.747,453000 +l10n_be_hr_payroll.748,453000 +l10n_be_hr_payroll.749,453000 +l10n_be_hr_payroll.750,453000 +l10n_be_hr_payroll.751,453000 +l10n_be_hr_payroll.752,453000 +l10n_be_hr_payroll.753,453000 +l10n_be_hr_payroll.754,453000 +l10n_be_hr_payroll.755,453000 +l10n_be_hr_payroll.756,453000 +l10n_be_hr_payroll.757,453000 +l10n_be_hr_payroll.758,453000 +l10n_be_hr_payroll.759,453000 +l10n_be_hr_payroll.760,453000 +l10n_be_hr_payroll.761,453000 +l10n_be_hr_payroll.762,453000 +l10n_be_hr_payroll.763,453000 +l10n_be_hr_payroll.764,453000 +l10n_be_hr_payroll.765,453000 +l10n_be_hr_payroll.766,453000 +l10n_be_hr_payroll.767,453000 +l10n_be_hr_payroll.768,453000 +l10n_be_hr_payroll.769,453000 +l10n_be_hr_payroll.770,453000 +l10n_be_hr_payroll.771,453000 +l10n_be_hr_payroll.772,453000 +l10n_be_hr_payroll.773,453000 +l10n_be_hr_payroll.774,453000 +l10n_be_hr_payroll.775,453000 +l10n_be_hr_payroll.776,453000 +l10n_be_hr_payroll.777,453000 +l10n_be_hr_payroll.778,453000 +l10n_be_hr_payroll.779,453000 +l10n_be_hr_payroll.780,453000 +l10n_be_hr_payroll.781,453000 +l10n_be_hr_payroll.782,453000 +l10n_be_hr_payroll.783,453000 +l10n_be_hr_payroll.784,453000 +l10n_be_hr_payroll.785,453000 +l10n_be_hr_payroll.786,453000 +l10n_be_hr_payroll.787,453000 +l10n_be_hr_payroll.788,453000 +l10n_be_hr_payroll.789,453000 +l10n_be_hr_payroll.790,453000 +l10n_be_hr_payroll.791,453000 +l10n_be_hr_payroll.792,453000 +l10n_be_hr_payroll.793,453000 +l10n_be_hr_payroll.794,453000 +l10n_be_hr_payroll.795,453000 +l10n_be_hr_payroll.796,453000 +l10n_be_hr_payroll.797,453000 +l10n_be_hr_payroll.798,453000 +l10n_be_hr_payroll.799,453000 +l10n_be_hr_payroll.800,453000 +l10n_be_hr_payroll.801,453000 +l10n_be_hr_payroll.802,453000 +l10n_be_hr_payroll.803,453000 +l10n_be_hr_payroll.804,453000 +l10n_be_hr_payroll.805,453000 +l10n_be_hr_payroll.806,453000 +l10n_be_hr_payroll.807,453000 +l10n_be_hr_payroll.808,453000 +l10n_be_hr_payroll.809,453000 +l10n_be_hr_payroll.810,453000 +l10n_be_hr_payroll.811,453000 +l10n_be_hr_payroll.812,453000 +l10n_be_hr_payroll.813,453000 +l10n_be_hr_payroll.814,453000 +l10n_be_hr_payroll.815,453000 +l10n_be_hr_payroll.816,453000 +l10n_be_hr_payroll.817,453000 +l10n_be_hr_payroll.818,453000 +l10n_be_hr_payroll.819,453000 +l10n_be_hr_payroll.820,453000 +l10n_be_hr_payroll.821,453000 +l10n_be_hr_payroll.822,453000 +l10n_be_hr_payroll.823,453000 +l10n_be_hr_payroll.824,453000 +l10n_be_hr_payroll.825,453000 +l10n_be_hr_payroll.826,453000 +l10n_be_hr_payroll.827,453000 +l10n_be_hr_payroll.828,453000 +l10n_be_hr_payroll.829,453000 +l10n_be_hr_payroll.830,453000 +l10n_be_hr_payroll.831,453000 +l10n_be_hr_payroll.832,453000 +l10n_be_hr_payroll.833,453000 +l10n_be_hr_payroll.834,453000 +l10n_be_hr_payroll.835,453000 +l10n_be_hr_payroll.836,453000 +l10n_be_hr_payroll.837,453000 +l10n_be_hr_payroll.838,453000 +l10n_be_hr_payroll.839,453000 +l10n_be_hr_payroll.840,453000 +l10n_be_hr_payroll.841,453000 +l10n_be_hr_payroll.842,453000 +l10n_be_hr_payroll.843,453000 +l10n_be_hr_payroll.844,453000 +l10n_be_hr_payroll.845,453000 +l10n_be_hr_payroll.846,453000 +l10n_be_hr_payroll.847,453000 +l10n_be_hr_payroll.848,453000 +l10n_be_hr_payroll.849,453000 +l10n_be_hr_payroll.850,453000 +l10n_be_hr_payroll.851,453000 +l10n_be_hr_payroll.852,453000 +l10n_be_hr_payroll.853,453000 +l10n_be_hr_payroll.854,453000 +l10n_be_hr_payroll.855,453000 +l10n_be_hr_payroll.856,453000 +l10n_be_hr_payroll.857,453000 +l10n_be_hr_payroll.858,453000 +l10n_be_hr_payroll.859,453000 +l10n_be_hr_payroll.860,453000 +l10n_be_hr_payroll.861,453000 +l10n_be_hr_payroll.862,453000 +l10n_be_hr_payroll.863,453000 +l10n_be_hr_payroll.864,453000 +l10n_be_hr_payroll.865,453000 +l10n_be_hr_payroll.866,453000 +l10n_be_hr_payroll.867,453000 +l10n_be_hr_payroll.868,453000 +l10n_be_hr_payroll.869,453000 +l10n_be_hr_payroll.870,453000 +l10n_be_hr_payroll.871,453000 +l10n_be_hr_payroll.872,453000 +l10n_be_hr_payroll.873,453000 +l10n_be_hr_payroll.874,453000 +l10n_be_hr_payroll.875,453000 +l10n_be_hr_payroll.876,453000 +l10n_be_hr_payroll.877,453000 +l10n_be_hr_payroll.878,453000 +l10n_be_hr_payroll.879,453000 +l10n_be_hr_payroll.880,453000 +l10n_be_hr_payroll.881,453000 +l10n_be_hr_payroll.882,453000 +l10n_be_hr_payroll.883,453000 +l10n_be_hr_payroll.884,453000 +l10n_be_hr_payroll.885,453000 +l10n_be_hr_payroll.886,453000 +l10n_be_hr_payroll.887,453000 +l10n_be_hr_payroll.888,453000 +l10n_be_hr_payroll.889,453000 +l10n_be_hr_payroll.890,453000 +l10n_be_hr_payroll.891,453000 +l10n_be_hr_payroll.892,453000 +l10n_be_hr_payroll.893,453000 +l10n_be_hr_payroll.894,453000 +l10n_be_hr_payroll.895,453000 +l10n_be_hr_payroll.896,453000 +l10n_be_hr_payroll.897,453000 +l10n_be_hr_payroll.898,453000 +l10n_be_hr_payroll.899,453000 +l10n_be_hr_payroll.900,453000 +l10n_be_hr_payroll.901,453000 +l10n_be_hr_payroll.902,453000 +l10n_be_hr_payroll.903,453000 +l10n_be_hr_payroll.904,453000 +l10n_be_hr_payroll.905,453000 +l10n_be_hr_payroll.906,453000 +l10n_be_hr_payroll.907,453000 +l10n_be_hr_payroll.908,453000 +l10n_be_hr_payroll.909,453000 +l10n_be_hr_payroll.910,453000 +l10n_be_hr_payroll.911,453000 +l10n_be_hr_payroll.912,453000 +l10n_be_hr_payroll.913,453000 +l10n_be_hr_payroll.914,453000 +l10n_be_hr_payroll.915,453000 +l10n_be_hr_payroll.916,453000 +l10n_be_hr_payroll.917,453000 +l10n_be_hr_payroll.918,453000 +l10n_be_hr_payroll.919,453000 +l10n_be_hr_payroll.920,453000 +l10n_be_hr_payroll.921,453000 +l10n_be_hr_payroll.922,453000 +l10n_be_hr_payroll.923,453000 +l10n_be_hr_payroll.924,453000 +l10n_be_hr_payroll.925,453000 +l10n_be_hr_payroll.926,453000 +l10n_be_hr_payroll.927,453000 +l10n_be_hr_payroll.928,453000 +l10n_be_hr_payroll.929,453000 +l10n_be_hr_payroll.930,453000 +l10n_be_hr_payroll.931,453000 +l10n_be_hr_payroll.932,453000 +l10n_be_hr_payroll.933,453000 +l10n_be_hr_payroll.934,453000 +l10n_be_hr_payroll.935,453000 +l10n_be_hr_payroll.936,453000 +l10n_be_hr_payroll.937,453000 +l10n_be_hr_payroll.938,453000 +l10n_be_hr_payroll.939,453000 +l10n_be_hr_payroll.940,453000 +l10n_be_hr_payroll.941,453000 +l10n_be_hr_payroll.942,453000 +l10n_be_hr_payroll.943,453000 +l10n_be_hr_payroll.944,453000 +l10n_be_hr_payroll.945,453000 +l10n_be_hr_payroll.946,453000 +l10n_be_hr_payroll.947,453000 +l10n_be_hr_payroll.948,453000 +l10n_be_hr_payroll.949,453000 +l10n_be_hr_payroll.950,453000 +l10n_be_hr_payroll.951,453000 +l10n_be_hr_payroll.952,453000 +l10n_be_hr_payroll.953,453000 +l10n_be_hr_payroll.954,453000 +l10n_be_hr_payroll.955,453000 +l10n_be_hr_payroll.956,453000 +l10n_be_hr_payroll.957,453000 +l10n_be_hr_payroll.958,453000 +l10n_be_hr_payroll.959,453000 +l10n_be_hr_payroll.960,453000 +l10n_be_hr_payroll.961,453000 +l10n_be_hr_payroll.962,453000 +l10n_be_hr_payroll.963,453000 +l10n_be_hr_payroll.964,453000 +l10n_be_hr_payroll.965,453000 +l10n_be_hr_payroll.966,453000 +l10n_be_hr_payroll.967,453000 +l10n_be_hr_payroll.968,453000 +l10n_be_hr_payroll.969,453000 +l10n_be_hr_payroll.970,453000 +l10n_be_hr_payroll.971,453000 +l10n_be_hr_payroll.972,453000 +l10n_be_hr_payroll.973,453000 +l10n_be_hr_payroll.974,453000 +l10n_be_hr_payroll.975,453000 +l10n_be_hr_payroll.976,453000 +l10n_be_hr_payroll.977,453000 +l10n_be_hr_payroll.978,453000 +l10n_be_hr_payroll.979,453000 +l10n_be_hr_payroll.980,453000 +l10n_be_hr_payroll.981,453000 +l10n_be_hr_payroll.982,453000 +l10n_be_hr_payroll.983,453000 +l10n_be_hr_payroll.984,453000 +l10n_be_hr_payroll.985,453000 +l10n_be_hr_payroll.986,453000 +l10n_be_hr_payroll.987,453000 +l10n_be_hr_payroll.988,453000 +l10n_be_hr_payroll.989,453000 +l10n_be_hr_payroll.990,453000 +l10n_be_hr_payroll.991,453000 +l10n_be_hr_payroll.992,453000 +l10n_be_hr_payroll.993,453000 +l10n_be_hr_payroll.994,453000 +l10n_be_hr_payroll.995,453000 +l10n_be_hr_payroll.996,453000 +l10n_be_hr_payroll.997,453000 +l10n_be_hr_payroll.998,453000 +l10n_be_hr_payroll.999,453000 +l10n_be_hr_payroll.1000,453000 +l10n_be_hr_payroll.1001,453000 +l10n_be_hr_payroll.1002,453000 +l10n_be_hr_payroll.1003,453000 +l10n_be_hr_payroll.1004,453000 +l10n_be_hr_payroll.1005,453000 +l10n_be_hr_payroll.1006,453000 +l10n_be_hr_payroll.1007,453000 +l10n_be_hr_payroll.1008,453000 +l10n_be_hr_payroll.1009,453000 +l10n_be_hr_payroll.1010,453000 +l10n_be_hr_payroll.1011,453000 +l10n_be_hr_payroll.1012,453000 +l10n_be_hr_payroll.1013,453000 +l10n_be_hr_payroll.1014,453000 +l10n_be_hr_payroll.1015,453000 +l10n_be_hr_payroll.1016,453000 +l10n_be_hr_payroll.1017,453000 +l10n_be_hr_payroll.1018,453000 +l10n_be_hr_payroll.1019,453000 +l10n_be_hr_payroll.1020,453000 +l10n_be_hr_payroll.1021,453000 +l10n_be_hr_payroll.1022,453000 +l10n_be_hr_payroll.1023,453000 +l10n_be_hr_payroll.1024,453000 +l10n_be_hr_payroll.1025,453000 +l10n_be_hr_payroll.1026,453000 +l10n_be_hr_payroll.1027,453000 +l10n_be_hr_payroll.1028,453000 +l10n_be_hr_payroll.1029,453000 +l10n_be_hr_payroll.1030,453000 +l10n_be_hr_payroll.1031,453000 +l10n_be_hr_payroll.1032,453000 +l10n_be_hr_payroll.1033,453000 +l10n_be_hr_payroll.1034,453000 +l10n_be_hr_payroll.1035,453000 +l10n_be_hr_payroll.1036,453000 +l10n_be_hr_payroll.1037,453000 +l10n_be_hr_payroll.1038,453000 +l10n_be_hr_payroll.1039,453000 +l10n_be_hr_payroll.1040,453000 +l10n_be_hr_payroll.1041,453000 +l10n_be_hr_payroll.1042,453000 +l10n_be_hr_payroll.1043,453000 +l10n_be_hr_payroll.1044,453000 +l10n_be_hr_payroll.1045,453000 +l10n_be_hr_payroll.1046,453000 +l10n_be_hr_payroll.1047,453000 +l10n_be_hr_payroll.1048,453000 +l10n_be_hr_payroll.1049,453000 +l10n_be_hr_payroll.1050,453000 +l10n_be_hr_payroll.1051,453000 +l10n_be_hr_payroll.1052,453000 +l10n_be_hr_payroll.1053,453000 +l10n_be_hr_payroll.1054,453000 +l10n_be_hr_payroll.1055,453000 +l10n_be_hr_payroll.1056,453000 +l10n_be_hr_payroll.1057,453000 +l10n_be_hr_payroll.1058,453000 +l10n_be_hr_payroll.1059,453000 +l10n_be_hr_payroll.1060,453000 +l10n_be_hr_payroll.1061,453000 +l10n_be_hr_payroll.1062,453000 +l10n_be_hr_payroll.1063,453000 +l10n_be_hr_payroll.1064,453000 +l10n_be_hr_payroll.1065,453000 +l10n_be_hr_payroll.1066,453000 +l10n_be_hr_payroll.1067,453000 +l10n_be_hr_payroll.1068,453000 +l10n_be_hr_payroll.1069,453000 +l10n_be_hr_payroll.1070,453000 +l10n_be_hr_payroll.1071,453000 +l10n_be_hr_payroll.1072,453000 +l10n_be_hr_payroll.1073,453000 +l10n_be_hr_payroll.1074,453000 +l10n_be_hr_payroll.1075,453000 +l10n_be_hr_payroll.1076,453000 +l10n_be_hr_payroll.1077,453000 +l10n_be_hr_payroll.1078,453000 +l10n_be_hr_payroll.1079,453000 +l10n_be_hr_payroll.1080,453000 +l10n_be_hr_payroll.1081,453000 +l10n_be_hr_payroll.1082,453000 +l10n_be_hr_payroll.1083,453000 +l10n_be_hr_payroll.1084,453000 +l10n_be_hr_payroll.1085,453000 +l10n_be_hr_payroll.1086,453000 +l10n_be_hr_payroll.1087,453000 +l10n_be_hr_payroll.1088,453000 +l10n_be_hr_payroll.1089,453000 +l10n_be_hr_payroll.1090,453000 +l10n_be_hr_payroll.1091,453000 +l10n_be_hr_payroll.1092,453000 +l10n_be_hr_payroll.1093,453000 +l10n_be_hr_payroll.1094,453000 +l10n_be_hr_payroll.1095,453000 +l10n_be_hr_payroll.1096,453000 +l10n_be_hr_payroll.1097,453000 +l10n_be_hr_payroll.1098,453000 +l10n_be_hr_payroll.1099,453000 +l10n_be_hr_payroll.1100,453000 +l10n_be_hr_payroll.1101,453000 +l10n_be_hr_payroll.1102,453000 +l10n_be_hr_payroll.1103,453000 +l10n_be_hr_payroll.1104,453000 +l10n_be_hr_payroll.1105,453000 +l10n_be_hr_payroll.1106,453000 +l10n_be_hr_payroll.1107,453000 +l10n_be_hr_payroll.1108,453000 +l10n_be_hr_payroll.1109,453000 +l10n_be_hr_payroll.1110,453000 +l10n_be_hr_payroll.1111,453000 +l10n_be_hr_payroll.1112,453000 +l10n_be_hr_payroll.1113,453000 +l10n_be_hr_payroll.1114,453000 +l10n_be_hr_payroll.1115,453000 +l10n_be_hr_payroll.1116,453000 +l10n_be_hr_payroll.1117,453000 +l10n_be_hr_payroll.1118,453000 +l10n_be_hr_payroll.1119,453000 +l10n_be_hr_payroll.1120,453000 +l10n_be_hr_payroll.1121,453000 +l10n_be_hr_payroll.1122,453000 +l10n_be_hr_payroll.1123,453000 +l10n_be_hr_payroll.1124,453000 +l10n_be_hr_payroll.1125,453000 +l10n_be_hr_payroll.1126,453000 +l10n_be_hr_payroll.1127,453000 +l10n_be_hr_payroll.1128,453000 +l10n_be_hr_payroll.1129,453000 +l10n_be_hr_payroll.1130,453000 +l10n_be_hr_payroll.1131,453000 +l10n_be_hr_payroll.1132,453000 +l10n_be_hr_payroll.1133,453000 +l10n_be_hr_payroll.1134,453000 +l10n_be_hr_payroll.1135,453000 +l10n_be_hr_payroll.1136,453000 +l10n_be_hr_payroll.1137,453000 +l10n_be_hr_payroll.1138,453000 +l10n_be_hr_payroll.1139,453000 +l10n_be_hr_payroll.1140,453000 +l10n_be_hr_payroll.1141,453000 +l10n_be_hr_payroll.1142,453000 +l10n_be_hr_payroll.1143,453000 +l10n_be_hr_payroll.1144,453000 +l10n_be_hr_payroll.1145,453000 +l10n_be_hr_payroll.1146,453000 +l10n_be_hr_payroll.1147,453000 +l10n_be_hr_payroll.1148,453000 +l10n_be_hr_payroll.1149,453000 +l10n_be_hr_payroll.1150,453000 +l10n_be_hr_payroll.1151,453000 +l10n_be_hr_payroll.1152,453000 +l10n_be_hr_payroll.1153,453000 +l10n_be_hr_payroll.1154,453000 +l10n_be_hr_payroll.1155,453000 +l10n_be_hr_payroll.1156,453000 +l10n_be_hr_payroll.1157,453000 +l10n_be_hr_payroll.1158,453000 +l10n_be_hr_payroll.1159,453000 +l10n_be_hr_payroll.1160,453000 +l10n_be_hr_payroll.1161,453000 +l10n_be_hr_payroll.1162,453000 +l10n_be_hr_payroll.1163,453000 +l10n_be_hr_payroll.1164,453000 +l10n_be_hr_payroll.1165,453000 +l10n_be_hr_payroll.1166,453000 +l10n_be_hr_payroll.1167,453000 +l10n_be_hr_payroll.1168,453000 +l10n_be_hr_payroll.1169,453000 +l10n_be_hr_payroll.1170,453000 +l10n_be_hr_payroll.1171,453000 +l10n_be_hr_payroll.1172,453000 +l10n_be_hr_payroll.1173,453000 +l10n_be_hr_payroll.1174,453000 +l10n_be_hr_payroll.1175,453000 +l10n_be_hr_payroll.1176,453000 +l10n_be_hr_payroll.1177,453000 +l10n_be_hr_payroll.1178,453000 +l10n_be_hr_payroll.1179,453000 +l10n_be_hr_payroll.1180,453000 +l10n_be_hr_payroll.1181,453000 +l10n_be_hr_payroll.1182,453000 +l10n_be_hr_payroll.1183,453000 +l10n_be_hr_payroll.1184,453000 +l10n_be_hr_payroll.1185,453000 +l10n_be_hr_payroll.1186,453000 +l10n_be_hr_payroll.1187,453000 +l10n_be_hr_payroll.1188,453000 +l10n_be_hr_payroll.1189,453000 +l10n_be_hr_payroll.1190,453000 +l10n_be_hr_payroll.1191,453000 +l10n_be_hr_payroll.1192,453000 +l10n_be_hr_payroll.1193,453000 +l10n_be_hr_payroll.1194,453000 +l10n_be_hr_payroll.1195,453000 +l10n_be_hr_payroll.1196,453000 +l10n_be_hr_payroll.1197,453000 +l10n_be_hr_payroll.1198,453000 +l10n_be_hr_payroll.1199,453000 +l10n_be_hr_payroll.1200,453000 +l10n_be_hr_payroll.1201,453000 +l10n_be_hr_payroll.1202,453000 +l10n_be_hr_payroll.1203,453000 +l10n_be_hr_payroll.1204,453000 +l10n_be_hr_payroll.1205,453000 +l10n_be_hr_payroll.1206,453000 +l10n_be_hr_payroll.1207,453000 +l10n_be_hr_payroll.1208,453000 +l10n_be_hr_payroll.1209,453000 +l10n_be_hr_payroll.1210,453000 +l10n_be_hr_payroll.1211,453000 +l10n_be_hr_payroll.1212,453000 +l10n_be_hr_payroll.1213,453000 +l10n_be_hr_payroll.1214,453000 +l10n_be_hr_payroll.1215,453000 +l10n_be_hr_payroll.1216,453000 +l10n_be_hr_payroll.1217,453000 +l10n_be_hr_payroll.1218,453000 +l10n_be_hr_payroll.1219,453000 +l10n_be_hr_payroll.1220,453000 +l10n_be_hr_payroll.1221,453000 +l10n_be_hr_payroll.1222,453000 +l10n_be_hr_payroll.1223,453000 +l10n_be_hr_payroll.1224,453000 +l10n_be_hr_payroll.1225,453000 +l10n_be_hr_payroll.1226,453000 +l10n_be_hr_payroll.1227,453000 +l10n_be_hr_payroll.1228,453000 +l10n_be_hr_payroll.1229,453000 +l10n_be_hr_payroll.1230,453000 +l10n_be_hr_payroll.1231,453000 +l10n_be_hr_payroll.1232,453000 +l10n_be_hr_payroll.1233,453000 +l10n_be_hr_payroll.1234,453000 +l10n_be_hr_payroll.1235,453000 +l10n_be_hr_payroll.1236,453000 +l10n_be_hr_payroll.1237,453000 +l10n_be_hr_payroll.1238,453000 +l10n_be_hr_payroll.1239,453000 +l10n_be_hr_payroll.1240,453000 +l10n_be_hr_payroll.1241,453000 +l10n_be_hr_payroll.1242,453000 +l10n_be_hr_payroll.1243,453000 +l10n_be_hr_payroll.1244,453000 +l10n_be_hr_payroll.1245,453000 +l10n_be_hr_payroll.1246,453000 +l10n_be_hr_payroll.1247,453000 +l10n_be_hr_payroll.1248,453000 +l10n_be_hr_payroll.1249,453000 +l10n_be_hr_payroll.1250,453000 +l10n_be_hr_payroll.1251,453000 +l10n_be_hr_payroll.1252,453000 +l10n_be_hr_payroll.1253,453000 +l10n_be_hr_payroll.1254,453000 +l10n_be_hr_payroll.1255,453000 +l10n_be_hr_payroll.1256,453000 +l10n_be_hr_payroll.1257,453000 +l10n_be_hr_payroll.1258,453000 +l10n_be_hr_payroll.1259,453000 +l10n_be_hr_payroll.1260,453000 +l10n_be_hr_payroll.1261,453000 +l10n_be_hr_payroll.1262,453000 +l10n_be_hr_payroll.1263,453000 +l10n_be_hr_payroll.1264,453000 +l10n_be_hr_payroll.1265,453000 +l10n_be_hr_payroll.1266,453000 +l10n_be_hr_payroll.1267,453000 +l10n_be_hr_payroll.1268,453000 +l10n_be_hr_payroll.1269,453000 +l10n_be_hr_payroll.1270,453000 +l10n_be_hr_payroll.1271,453000 +l10n_be_hr_payroll.1272,453000 +l10n_be_hr_payroll.1273,453000 +l10n_be_hr_payroll.1274,453000 +l10n_be_hr_payroll.1275,453000 +l10n_be_hr_payroll.1276,453000 +l10n_be_hr_payroll.1277,453000 +l10n_be_hr_payroll.1278,453000 +l10n_be_hr_payroll.1279,453000 +l10n_be_hr_payroll.1280,453000 +l10n_be_hr_payroll.1281,453000 +l10n_be_hr_payroll.1282,453000 +l10n_be_hr_payroll.1283,453000 +l10n_be_hr_payroll.1284,453000 +l10n_be_hr_payroll.1285,453000 +l10n_be_hr_payroll.1286,453000 +l10n_be_hr_payroll.1287,453000 +l10n_be_hr_payroll.1288,453000 +l10n_be_hr_payroll.1289,453000 +l10n_be_hr_payroll.1290,453000 +l10n_be_hr_payroll.1291,453000 +l10n_be_hr_payroll.1292,453000 +l10n_be_hr_payroll.1293,453000 +l10n_be_hr_payroll.1294,453000 +l10n_be_hr_payroll.1295,453000 +l10n_be_hr_payroll.1296,453000 +l10n_be_hr_payroll.1297,453000 +l10n_be_hr_payroll.1298,453000 +l10n_be_hr_payroll.1299,453000 +l10n_be_hr_payroll.1300,453000 +l10n_be_hr_payroll.1301,453000 +l10n_be_hr_payroll.1302,453000 +l10n_be_hr_payroll.1303,453000 +l10n_be_hr_payroll.1304,453000 +l10n_be_hr_payroll.1305,453000 +l10n_be_hr_payroll.1306,453000 +l10n_be_hr_payroll.1307,453000 +l10n_be_hr_payroll.1308,453000 +l10n_be_hr_payroll.1309,453000 +l10n_be_hr_payroll.1310,453000 +l10n_be_hr_payroll.1311,453000 +l10n_be_hr_payroll.1312,453000 +l10n_be_hr_payroll.1313,453000 +l10n_be_hr_payroll.1314,453000 +l10n_be_hr_payroll.1315,453000 +l10n_be_hr_payroll.1316,453000 +l10n_be_hr_payroll.1317,453000 +l10n_be_hr_payroll.1318,453000 +l10n_be_hr_payroll.1319,453000 +l10n_be_hr_payroll.1320,453000 +l10n_be_hr_payroll.1321,453000 +l10n_be_hr_payroll.1322,453000 +l10n_be_hr_payroll.1323,453000 +l10n_be_hr_payroll.1324,453000 +l10n_be_hr_payroll.1325,453000 +l10n_be_hr_payroll.1326,453000 +l10n_be_hr_payroll.1327,453000 +l10n_be_hr_payroll.1328,453000 +l10n_be_hr_payroll.1329,453000 +l10n_be_hr_payroll.1330,453000 +l10n_be_hr_payroll.1331,453000 +l10n_be_hr_payroll.1332,453000 +l10n_be_hr_payroll.1333,453000 +l10n_be_hr_payroll.1334,453000 +l10n_be_hr_payroll.1335,453000 +l10n_be_hr_payroll.1336,453000 +l10n_be_hr_payroll.1337,453000 +l10n_be_hr_payroll.1338,453000 +l10n_be_hr_payroll.1339,453000 +l10n_be_hr_payroll.1340,453000 +l10n_be_hr_payroll.1341,453000 +l10n_be_hr_payroll.1342,453000 +l10n_be_hr_payroll.1343,453000 +l10n_be_hr_payroll.1344,453000 +l10n_be_hr_payroll.1345,453000 +l10n_be_hr_payroll.1346,453000 +l10n_be_hr_payroll.1347,453000 +l10n_be_hr_payroll.1348,453000 +l10n_be_hr_payroll.1349,453000 +l10n_be_hr_payroll.1350,453000 +l10n_be_hr_payroll.1351,453000 +l10n_be_hr_payroll.1352,453000 +l10n_be_hr_payroll.1353,453000 +l10n_be_hr_payroll.1354,453000 +l10n_be_hr_payroll.1355,453000 +l10n_be_hr_payroll.1356,453000 +l10n_be_hr_payroll.1357,453000 +l10n_be_hr_payroll.1358,453000 +l10n_be_hr_payroll.1359,453000 +l10n_be_hr_payroll.1360,453000 +l10n_be_hr_payroll.1361,453000 +l10n_be_hr_payroll.1362,453000 +l10n_be_hr_payroll.1363,453000 +l10n_be_hr_payroll.1364,453000 +l10n_be_hr_payroll.1365,453000 +l10n_be_hr_payroll.1366,453000 +l10n_be_hr_payroll.1367,453000 +l10n_be_hr_payroll.1368,453000 +l10n_be_hr_payroll.1369,453000 +l10n_be_hr_payroll.1370,453000 +l10n_be_hr_payroll.1371,453000 +l10n_be_hr_payroll.1372,453000 +l10n_be_hr_payroll.1373,453000 +l10n_be_hr_payroll.1374,453000 +l10n_be_hr_payroll.1375,453000 +l10n_be_hr_payroll.1376,453000 +l10n_be_hr_payroll.1377,453000 +l10n_be_hr_payroll.1378,453000 +l10n_be_hr_payroll.1379,453000 +l10n_be_hr_payroll.1380,453000 +l10n_be_hr_payroll.1381,453000 +l10n_be_hr_payroll.1382,453000 +l10n_be_hr_payroll.1383,453000 +l10n_be_hr_payroll.1384,453000 +l10n_be_hr_payroll.1385,453000 +l10n_be_hr_payroll.1386,453000 +l10n_be_hr_payroll.1387,453000 +l10n_be_hr_payroll.1388,453000 +l10n_be_hr_payroll.1389,453000 +l10n_be_hr_payroll.1390,453000 +l10n_be_hr_payroll.1391,453000 +l10n_be_hr_payroll.1392,453000 +l10n_be_hr_payroll.1393,453000 +l10n_be_hr_payroll.1394,453000 +l10n_be_hr_payroll.1395,453000 +l10n_be_hr_payroll.1396,453000 +l10n_be_hr_payroll.1397,453000 +l10n_be_hr_payroll.1398,453000 +l10n_be_hr_payroll.1399,453000 +l10n_be_hr_payroll.1400,453000 +l10n_be_hr_payroll.1401,453000 +l10n_be_hr_payroll.1402,453000 +l10n_be_hr_payroll.1403,453000 +l10n_be_hr_payroll.1404,453000 +l10n_be_hr_payroll.1405,453000 +l10n_be_hr_payroll.1406,453000 +l10n_be_hr_payroll.1407,453000 +l10n_be_hr_payroll.1408,453000 +l10n_be_hr_payroll.1409,453000 diff --git a/addons/l10n_be_invoice_bba/invoice.py b/addons/l10n_be_invoice_bba/invoice.py index 854593a87cc..499e6e6c4ac 100644 --- a/addons/l10n_be_invoice_bba/invoice.py +++ b/addons/l10n_be_invoice_bba/invoice.py @@ -141,7 +141,7 @@ class account_invoice(osv.osv): elif algorithm == 'random': if not self.check_bbacomm(reference): base = random.randint(1, 9999999999) - bbacomm = str(base).rjust(7, '0') + bbacomm = str(base).rjust(10, '0') base = int(bbacomm) mod = base % 97 or 97 mod = str(mod).rjust(2, '0') diff --git a/addons/l10n_multilang/account.py b/addons/l10n_multilang/account.py index 55770c5ec14..3f171cfc2de 100644 --- a/addons/l10n_multilang/account.py +++ b/addons/l10n_multilang/account.py @@ -72,6 +72,7 @@ class account_fiscal_position(osv.osv): _inherit = 'account.fiscal.position' _columns = { 'name': fields.char('Fiscal Position', size=64, required=True, translate=True), + 'note': fields.text('Notes', translate=True), } @@ -79,6 +80,7 @@ class account_fiscal_position_template(osv.osv): _inherit = 'account.fiscal.position.template' _columns = { 'name': fields.char('Fiscal Position Template', size=64, required=True, translate=True), + 'note': fields.text('Notes', translate=True), } diff --git a/addons/mail/mail_followers.py b/addons/mail/mail_followers.py index ffc49414b2e..e4028111a73 100644 --- a/addons/mail/mail_followers.py +++ b/addons/mail/mail_followers.py @@ -176,7 +176,7 @@ class mail_notification(osv.Model): references = message.parent_id.message_id if message.parent_id else False # create email values - max_recipients = 100 + max_recipients = 50 chunks = [email_pids[x:x + max_recipients] for x in xrange(0, len(email_pids), max_recipients)] email_ids = [] for chunk in chunks: @@ -188,7 +188,7 @@ class mail_notification(osv.Model): 'references': references, } email_ids.append(self.pool.get('mail.mail').create(cr, uid, mail_values, context=context)) - if force_send and len(chunks) < 6: # for more than 500 followers, use the queue system + if force_send and len(chunks) < 2: # for more than 50 followers, use the queue system self.pool.get('mail.mail').send(cr, uid, email_ids, context=context) return True diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py index 4ae47a96774..186787c121a 100644 --- a/addons/mail/mail_group.py +++ b/addons/mail/mail_group.py @@ -211,3 +211,16 @@ class mail_group(osv.Model): return [] else: return super(mail_group, self).get_suggested_thread(cr, uid, removed_suggested_threads, context) + + def message_get_email_values(self, cr, uid, id, notif_mail=None, context=None): + res = super(mail_group, self).message_get_email_values(cr, uid, id, notif_mail=notif_mail, context=context) + group = self.browse(cr, uid, id, context=context) + res.update({ + 'headers': { + 'Precedence': 'list', + } + }) + if group.alias_domain: + res['headers']['List-Id'] = '%s.%s' % (group.alias_name, group.alias_domain) + res['headers']['List-Post'] = '' % (group.alias_name, group.alias_domain) + return res diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index a4814140479..cc12bde2436 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -204,12 +204,15 @@ class mail_mail(osv.Model): """ body = self.send_get_mail_body(cr, uid, mail, partner=partner, context=context) body_alternative = tools.html2plaintext(body) - return { + res = { 'body': body, 'body_alternative': body_alternative, 'subject': self.send_get_mail_subject(cr, uid, mail, partner=partner, context=context), 'email_to': self.send_get_mail_to(cr, uid, mail, partner=partner, context=context), } + if mail.model and mail.res_id and self.pool.get(mail.model) and hasattr(self.pool[mail.model], 'message_get_email_values'): + res.update(self.pool[mail.model].message_get_email_values(cr, uid, mail.res_id, mail, context=context)) + return res def send(self, cr, uid, ids, auto_commit=False, raise_exception=False, context=None): """ Sends the selected emails immediately, ignoring their current @@ -268,6 +271,9 @@ class mail_mail(osv.Model): # build an RFC2822 email.message.Message object and send it without queuing res = None for email in email_list: + email_headers = dict(headers) + if email.get('headers'): + email_headers.update(email['headers']) msg = ir_mail_server.build_email( email_from=mail.email_from, email_to=email.get('email_to'), @@ -282,7 +288,7 @@ class mail_mail(osv.Model): object_id=mail.res_id and ('%s-%s' % (mail.res_id, mail.model)), subtype='html', subtype_alternative='plain', - headers=headers) + headers=email_headers) res = ir_mail_server.send_email(cr, uid, msg, mail_server_id=mail.mail_server_id.id, context=context) diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 36d6ecbf630..8231e887b71 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -34,6 +34,7 @@ import pytz import socket import time import xmlrpclib +import re from email.message import Message from urllib import urlencode @@ -48,6 +49,8 @@ from openerp.tools.translate import _ _logger = logging.getLogger(__name__) +mail_header_msgid_re = re.compile('<[^<>]+>') + def decode_header(message, header, separator=' '): return separator.join(map(decode, filter(None, message.get_all(header, [])))) @@ -694,6 +697,16 @@ class mail_thread(osv.AbstractModel): if record.alias_domain and record.alias_name else False for record in self.browse(cr, SUPERUSER_ID, ids, context=context)] + def message_get_email_values(self, cr, uid, id, notif_mail=None, context=None): + """ Temporary method to create custom notification email values for a given + model and document. This should be better to have a headers field on + the mail.mail model, computed when creating the notification email, but + this cannot be done in a stable version. + + TDE FIXME: rethink this ulgy thing. """ + res = dict() + return res + #------------------------------------------------------ # Mail gateway #------------------------------------------------------ @@ -1301,13 +1314,13 @@ class mail_thread(osv.AbstractModel): msg_dict['date'] = stored_date.strftime(tools.DEFAULT_SERVER_DATETIME_FORMAT) if message.get('In-Reply-To'): - parent_ids = self.pool.get('mail.message').search(cr, uid, [('message_id', '=', decode(message['In-Reply-To']))]) + parent_ids = self.pool.get('mail.message').search(cr, uid, [('message_id', '=', decode(message['In-Reply-To'].strip()))]) if parent_ids: msg_dict['parent_id'] = parent_ids[0] if message.get('References') and 'parent_id' not in msg_dict: - parent_ids = self.pool.get('mail.message').search(cr, uid, [('message_id', 'in', - [x.strip() for x in decode(message['References']).split()])]) + msg_list = mail_header_msgid_re.findall(decode(message['References'])) + parent_ids = self.pool.get('mail.message').search(cr, uid, [('message_id', 'in', [x.strip() for x in msg_list])]) if parent_ids: msg_dict['parent_id'] = parent_ids[0] diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index cb068d566c1..e14a8f3dfe5 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -267,10 +267,7 @@ class mail_compose_message(osv.TransientModel): # mass mailing: rendering override wizard static values if mass_mail_mode and wizard.model: # always keep a copy, reset record name (avoid browsing records) - mail_values.update(notification=True, record_name=False) - if hasattr(self.pool[wizard.model], 'message_new'): - mail_values['model'] = wizard.model - mail_values['res_id'] = res_id + mail_values.update(notification=True, model=wizard.model, res_id=res_id, record_name=False) # auto deletion of mail_mail if 'mail_auto_delete' in context: mail_values['auto_delete'] = context.get('mail_auto_delete') diff --git a/addons/mass_mailing/models/mail_mail.py b/addons/mass_mailing/models/mail_mail.py index a67f88a2a28..0e44399a256 100644 --- a/addons/mass_mailing/models/mail_mail.py +++ b/addons/mass_mailing/models/mail_mail.py @@ -84,7 +84,8 @@ class MailMail(osv.Model): def send_get_email_dict(self, cr, uid, mail, partner=None, context=None): res = super(MailMail, self).send_get_email_dict(cr, uid, mail, partner, context=context) if mail.mailing_id and res.get('body') and res.get('email_to'): - email_to = tools.email_split(res.get('email_to')[0]) + emails = tools.email_split(res.get('email_to')[0]) + email_to = emails and emails[0] or False unsubscribe_url = self._get_unsubscribe_url(cr, uid, mail, email_to, context=context) if unsubscribe_url: res['body'] = tools.append_content_to_html(res['body'], unsubscribe_url, plaintext=False, container_tag='p') diff --git a/addons/mass_mailing/views/mass_mailing.xml b/addons/mass_mailing/views/mass_mailing.xml index c7b6eb6f9de..8771a10f04f 100644 --- a/addons/mass_mailing/views/mass_mailing.xml +++ b/addons/mass_mailing/views/mass_mailing.xml @@ -591,6 +591,7 @@ + diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index f5b6cf466a5..ca4109c1b9a 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -1071,8 +1071,8 @@ class mrp_production(osv.osv): return False # Take routing location as a Source Location. source_location_id = production.location_src_id.id - if production.bom_id.routing_id and production.bom_id.routing_id.location_id: - source_location_id = production.bom_id.routing_id.location_id.id + if production.routing_id and production.routing_id.location_id: + source_location_id = production.routing_id.location_id.id destination_location_id = production.product_id.property_stock_production.id if not source_location_id: diff --git a/addons/product/product.py b/addons/product/product.py index db86047c10a..b7090841dde 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -675,6 +675,17 @@ class product_template(osv.osv): if not context or "create_product_product" not in context: self.create_variant_ids(cr, uid, [product_template_id], context=context) self._set_standard_price(cr, uid, product_template_id, vals.get('standard_price', 0.0), context=context) + + # TODO: this is needed to set given values to first variant after creation + # these fields should be moved to product as lead to confusion + related_vals = {} + if vals.get('ean13'): + related_vals['ean13'] = vals['ean13'] + if vals.get('default_code'): + related_vals['default_code'] = vals['default_code'] + if related_vals: + self.write(cr, uid, product_template_id, related_vals, context=context) + return product_template_id def write(self, cr, uid, ids, vals, context=None): diff --git a/addons/product_email_template/models/invoice.py b/addons/product_email_template/models/invoice.py index d9e82e42012..d5876b510f1 100644 --- a/addons/product_email_template/models/invoice.py +++ b/addons/product_email_template/models/invoice.py @@ -27,7 +27,7 @@ class account_invoice(osv.Model): template_values = Composer.onchange_template_id( cr, uid, composer_id, line.product_id.email_template_id.id, 'comment', 'account.invoice', invoice.id )['value'] - template_values['attachment_ids'] = [(4, id) for id in template_values.get('attachment_ids', '[]')] + template_values['attachment_ids'] = [(4, id) for id in template_values.get('attachment_ids', [])] Composer.write(cr, uid, [composer_id], template_values, context=context) Composer.send_mail(cr, uid, [composer_id], context=context) return True diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index 54f78ba8c8b..695aa80af2a 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -50,8 +50,8 @@ project.task + ref('base.partner_root'), + ref('base.partner_demo')])]"/> diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index 5aecc397f25..3324bcad7d0 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -19,9 +19,6 @@ # along with this program. If not, see . # ############################################################################## -from datetime import datetime -from dateutil.relativedelta import relativedelta -import time from openerp.osv import fields, osv from openerp.tools.translate import _ @@ -55,7 +52,7 @@ class purchase_requisition(osv.osv): 'procurement_id': fields.many2one('procurement.order', 'Procurement', ondelete='set null'), 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse'), 'state': fields.selection([('draft', 'Draft'), ('in_progress', 'Confirmed'), ('open', 'Bid Selection'), ('done', 'PO Created'), ('cancel', 'Cancelled')], - 'Status', track_visibility='onchange', required=True), + 'Status', track_visibility='onchange', required=True), 'multiple_rfq_per_supplier': fields.boolean('Multiple RFQ per supplier'), 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'), 'picking_type_id': fields.many2one('stock.picking.type', 'Picking Type', required=True), @@ -63,7 +60,7 @@ class purchase_requisition(osv.osv): def _get_picking_in(self, cr, uid, context=None): obj_data = self.pool.get('ir.model.data') - return obj_data.get_object_reference(cr, uid, 'stock','picking_type_in')[1] + return obj_data.get_object_reference(cr, uid, 'stock', 'picking_type_in')[1] _defaults = { 'state': 'draft', @@ -85,8 +82,7 @@ class purchase_requisition(osv.osv): def tender_cancel(self, cr, uid, ids, context=None): purchase_order_obj = self.pool.get('purchase.order') - #try to set all associated quotations to cancel state - purchase_ids = [] + # try to set all associated quotations to cancel state for tender in self.browse(cr, uid, ids, context=context): for purchase_order in tender.purchase_ids: purchase_order_obj.action_cancel(cr, uid, [purchase_order.id], context=context) @@ -163,8 +159,11 @@ class purchase_requisition(osv.osv): date_order = requisition.ordering_date or fields.date.context_today(self, cr, uid, context=context) qty = product_uom._compute_qty(cr, uid, requisition_line.product_uom_id.id, requisition_line.product_qty, default_uom_po_id) supplier_pricelist = supplier.property_product_pricelist_purchase and supplier.property_product_pricelist_purchase.id or False - vals = po_line_obj.onchange_product_id(cr, uid, [], supplier_pricelist, product.id, qty, default_uom_po_id, - supplier.id, date_order=date_order, fiscal_position_id=supplier.property_account_position, date_planned=requisition_line.schedule_date, + vals = po_line_obj.onchange_product_id( + cr, uid, [], supplier_pricelist, product.id, qty, default_uom_po_id, + supplier.id, date_order=date_order, + fiscal_position_id=supplier.property_account_position, + date_planned=requisition_line.schedule_date, name=False, price_unit=False, state='draft', context=context)['value'] vals.update({ 'order_id': purchase_id, @@ -233,8 +232,6 @@ class purchase_requisition(osv.osv): """ Generate all purchase order based on selected lines, should only be called on one tender at a time """ - if context is None: - contex = {} po = self.pool.get('purchase.order') poline = self.pool.get('purchase.order.line') id_per_supplier = {} @@ -267,8 +264,7 @@ class purchase_requisition(osv.osv): id_per_supplier[po_line.partner_id.id] = [po_line] #generate po based on supplier and cancel all previous RFQ - ctx = context.copy() - ctx['force_requisition_id'] = True + ctx = dict(context or {}, force_requisition_id=True) for supplier, product_line in id_per_supplier.items(): #copy a quotation for this supplier and change order_line then validate it quotation_id = po.search(cr, uid, [('requisition_id', '=', tender.id), ('partner_id', '=', supplier)], limit=1)[0] @@ -429,12 +425,9 @@ class procurement_order(osv.osv): return super(procurement_order, self)._run(cr, uid, procurement, context=context) def _check(self, cr, uid, procurement, context=None): - requisition_obj = self.pool.get('purchase.requisition') if procurement.rule_id and procurement.rule_id.action == 'buy' and procurement.product_id.purchase_requisition: if procurement.requisition_id.state == 'done': if any([purchase.shipped for purchase in procurement.requisition_id.purchase_ids]): return True return False return super(procurement_order, self)._check(cr, uid, procurement, context=context) - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/report_intrastat/views/report_intrastatinvoice.xml b/addons/report_intrastat/views/report_intrastatinvoice.xml index abf4bdd56ba..4da858f6ff5 100644 --- a/addons/report_intrastat/views/report_intrastatinvoice.xml +++ b/addons/report_intrastat/views/report_intrastatinvoice.xml @@ -56,7 +56,7 @@ - + diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 45c32a33b22..397bc0deccc 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -128,13 +128,12 @@ class sale_order(osv.osv): sale_clause = '' no_invoiced = False for arg in args: - if arg[1] == '=': - if arg[2]: - clause += 'AND inv.state = \'paid\'' - else: - clause += 'AND inv.state != \'cancel\' AND sale.state != \'cancel\' AND inv.state <> \'paid\' AND rel.order_id = sale.id ' - sale_clause = ', sale_order AS sale ' - no_invoiced = True + if (arg[1] == '=' and arg[2]) or (arg[1] == '!=' and not arg[2]): + clause += 'AND inv.state = \'paid\'' + else: + clause += 'AND inv.state != \'cancel\' AND sale.state != \'cancel\' AND inv.state <> \'paid\' AND rel.order_id = sale.id ' + sale_clause = ', sale_order AS sale ' + no_invoiced = True cursor.execute('SELECT rel.order_id ' \ 'FROM sale_order_invoice_rel AS rel, account_invoice AS inv '+ sale_clause + \ diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index e94231ba901..32bc27a0940 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -747,7 +747,7 @@ --> - + @@ -1286,7 +1286,7 @@ ir.actions.act_window form tree,form - + {'product_receive': True, 'search_default_future': True} diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index 876f444ea57..638b2aefed4 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -46,7 +46,7 @@ class WebsiteSurvey(http.Controller): # In case of auth required, block public user if survey.auth_required and uid == request.website.user_id.id: - return request.website.render("website.403") + return request.website.render("survey.auth_required", {'survey': survey}) # In case of non open surveys if survey.stage_id.closed: diff --git a/addons/survey/security/survey_security.xml b/addons/survey/security/survey_security.xml index fd047e5c2d4..7375cf227ab 100644 --- a/addons/survey/security/survey_security.xml +++ b/addons/survey/security/survey_security.xml @@ -14,18 +14,7 @@ - - Public access to surveys - - [('auth_required', '=', False)] - - - - - - - - + Access to survey for regular users [('stage_id.closed', '=', False)] @@ -36,7 +25,7 @@ - + Survey Manager access rights [(1, '=', 1)] @@ -47,7 +36,7 @@ - + Public access to user_input [('create_uid', '=', user.id)] @@ -58,7 +47,7 @@ - + Access to user_input for regular users [('create_uid', '=', user.id)] @@ -69,7 +58,7 @@ - + Survey Manager access rights [(1, '=', 1)] diff --git a/addons/survey/static/src/js/survey_result.js b/addons/survey/static/src/js/survey_result.js index 7c9b935582a..6a7ccad1431 100644 --- a/addons/survey/static/src/js/survey_result.js +++ b/addons/survey/static/src/js/survey_result.js @@ -26,7 +26,6 @@ $(document).ready(function () { var question_id = $(pagination).attr("data-question_id"); var limit = $(pagination).attr("data-record_limit"); //Number of Record Par Page. If you want to change number of record per page, change record_limit in pagination template. $('#table_question_'+ question_id +' tbody tr:lt('+limit+')').removeClass('hidden'); - $('#pagination_'+question_id+' li:first').addClass('active'); $('#pagination_'+question_id+' li a').click(function(event){ event.preventDefault(); $('#pagination_'+question_id+' li').removeClass('active'); @@ -41,6 +40,7 @@ $(document).ready(function () { $('#table_question_'+question_id+' tbody tr:lt('+ limit * num +'):gt('+min+')').removeClass('hidden'); } }); + $('#pagination_'+question_id+' li:first').addClass('active').find('a').click(); }); //initialize MultiBar Chart diff --git a/addons/survey/views/survey_templates.xml b/addons/survey/views/survey_templates.xml index 9a342fa128d..9ae973b9345 100644 --- a/addons/survey/views/survey_templates.xml +++ b/addons/survey/views/survey_templates.xml @@ -31,6 +31,20 @@ + + +