[merge]
bzr revid: rvalyi@gmail.com-20100709124725-4ptd3k4563ibe662 bzr revid: rvalyi@gmail.com-20100709133938-4m9k8nsvn4gjri24 bzr revid: rvalyi@gmail.com-20100709143843-c63tnhepvgu6ts3x
This commit is contained in:
+50
-11
@@ -638,6 +638,7 @@ class account_journal(osv.osv):
|
||||
'user_id': lambda self,cr,uid,context: uid,
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||
}
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
obj=[]
|
||||
if 'company_id' in vals:
|
||||
@@ -719,14 +720,41 @@ class account_journal(osv.osv):
|
||||
ids = self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
|
||||
return self.name_get(cr, user, ids, context=context)
|
||||
|
||||
def onchange_type(self, cr, uid, ids, type):
|
||||
res={}
|
||||
for line in self.browse(cr, uid, ids):
|
||||
if type == 'situation':
|
||||
res= {'value':{'centralisation': True}}
|
||||
else:
|
||||
res= {'value':{'centralisation': False}}
|
||||
return res
|
||||
def onchange_type(self, cr, uid, ids, type, currency):
|
||||
data_pool = self.pool.get('ir.model.data')
|
||||
user_pool = self.pool.get('res.users')
|
||||
|
||||
type_map = {
|
||||
'sale':'account_sp_journal_view',
|
||||
'sale_refund':'account_sp_refund_journal_view',
|
||||
'purchase':'account_sp_journal_view',
|
||||
'purchase_refund':'account_sp_refund_journal_view',
|
||||
'expense':'account_sp_journal_view',
|
||||
'cash':'account_journal_bank_view',
|
||||
'bank':'account_journal_bank_view',
|
||||
'general':'account_journal_view',
|
||||
'situation':'account_journal_view'
|
||||
}
|
||||
|
||||
res = {}
|
||||
|
||||
view_id = type_map.get(type, 'general')
|
||||
|
||||
user = user_pool.browse(cr, uid, uid)
|
||||
if type in ('cash', 'bank') and currency and user.company_id.currency_id.id != currency:
|
||||
view_id = 'account_journal_bank_view_multi'
|
||||
|
||||
data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=',view_id)])
|
||||
data = data_pool.browse(cr, uid, data_id[0])
|
||||
|
||||
res.update({
|
||||
'centralisation':type == 'situation',
|
||||
'view_id':data.res_id,
|
||||
})
|
||||
|
||||
return {
|
||||
'value':res
|
||||
}
|
||||
|
||||
account_journal()
|
||||
|
||||
@@ -2385,6 +2413,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||
obj_acc_template = self.pool.get('account.account.template')
|
||||
obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
|
||||
obj_fiscal_position = self.pool.get('account.fiscal.position')
|
||||
data_pool = self.pool.get('ir.model.data')
|
||||
|
||||
# Creating Account
|
||||
obj_acc_root = obj_multi.chart_template_id.account_root_id
|
||||
@@ -2495,7 +2524,10 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||
|
||||
# Creating Journals
|
||||
vals_journal={}
|
||||
view_id = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Journal View')])[0]
|
||||
data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_view')])
|
||||
data = data_pool.browse(cr, uid, data_id[0])
|
||||
view_id = data.res_id
|
||||
|
||||
seq_id = obj_sequence.search(cr, uid, [('name','=','Account Journal')])[0]
|
||||
|
||||
if obj_multi.seq_journal:
|
||||
@@ -2532,8 +2564,15 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||
obj_journal.create(cr,uid,vals_journal)
|
||||
|
||||
# Bank Journals
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Cash Journal View')])[0]
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Multi-Currency Cash Journal View')])[0]
|
||||
data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
|
||||
data = data_pool.browse(cr, uid, data_id[0])
|
||||
view_id_cash = data.res_id
|
||||
#view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: why put fix name
|
||||
|
||||
data_id = data_pool.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view_multi')])
|
||||
data = data_pool.browse(cr, uid, data_id[0])
|
||||
ref_acc_bank = data.res_id
|
||||
#ref_acc_bank = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fix name
|
||||
ref_acc_bank = obj_multi.chart_template_id.bank_account_view_id
|
||||
|
||||
current_num = 1
|
||||
|
||||
@@ -159,7 +159,7 @@ class account_bank_statement(osv.osv):
|
||||
'period_id': _get_period,
|
||||
}
|
||||
|
||||
def button_confirm(self, cr, uid, ids, context={}):
|
||||
def button_confirm_bank(self, cr, uid, ids, context={}):
|
||||
done = []
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
|
||||
@@ -67,19 +67,25 @@ class account_cash_statement(osv.osv):
|
||||
|
||||
_inherit = 'account.bank.statement'
|
||||
|
||||
def _get_starting_balance(self, cr, uid, ids, name, arg, context=None):
|
||||
def _get_starting_balance(self, cr, uid, ids, context=None):
|
||||
|
||||
""" Find starting balance "
|
||||
""" Find starting balance
|
||||
@param name: Names of fields.
|
||||
@param arg: User defined arguments
|
||||
@return: Dictionary of values.
|
||||
"""
|
||||
"""
|
||||
res ={}
|
||||
for statement in self.browse(cr, uid, ids):
|
||||
amount_total=0.0
|
||||
|
||||
if statement.journal_id.type not in('cash'):
|
||||
continue
|
||||
|
||||
for line in statement.starting_details_ids:
|
||||
amount_total+= line.pieces * line.number
|
||||
res[statement.id]=amount_total
|
||||
res[statement.id] = {
|
||||
'balance_start':amount_total
|
||||
}
|
||||
return res
|
||||
|
||||
def _balance_end_cash(self, cr, uid, ids, name, arg, context=None):
|
||||
@@ -116,7 +122,7 @@ class account_cash_statement(osv.osv):
|
||||
""" To get default journal for the object"
|
||||
@param name: Names of fields.
|
||||
@return: journal
|
||||
"""
|
||||
"""
|
||||
company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
|
||||
journal = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', company_id)])
|
||||
if journal:
|
||||
@@ -166,11 +172,10 @@ class account_cash_statement(osv.osv):
|
||||
company_id = company_pool.search(cr, uid, [])[0]
|
||||
|
||||
return company_id
|
||||
|
||||
|
||||
_columns = {
|
||||
'company_id':fields.many2one('res.company', 'Company', required=False),
|
||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True),
|
||||
'balance_start': fields.function(_get_starting_balance, store=True, method=True, string='Opening Balance', type='float',digits=(16,2), help="Opening balance based on cashBox"),
|
||||
'balance_end_real': fields.float('Closing Balance', digits=(16,2), states={'confirm':[('readonly', True)]}, help="closing balance entered by the cashbox verifier"),
|
||||
'state': fields.selection(
|
||||
[('draft', 'Draft'),
|
||||
@@ -178,7 +183,7 @@ class account_cash_statement(osv.osv):
|
||||
('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"),
|
||||
'total_entry_encoding':fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"),
|
||||
'closing_date':fields.datetime("Closed On"),
|
||||
'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on transactions"),
|
||||
'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Opening Balance and Transactions"),
|
||||
'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"),
|
||||
'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
|
||||
'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),
|
||||
@@ -205,8 +210,31 @@ class account_cash_statement(osv.osv):
|
||||
for i in starting_details_ids:
|
||||
if i and i[0] and i[1]:
|
||||
i[0], i[1] = 0, 0
|
||||
res = super(account_cash_statement, self).create(cr, uid, vals, context=context)
|
||||
return res
|
||||
res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context)
|
||||
res = self._get_starting_balance(cr, uid, [res_id])
|
||||
for rs in res:
|
||||
super(account_cash_statement, self).write(cr, uid, rs, res.get(rs))
|
||||
return res_id
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
"""
|
||||
Update redord(s) comes in {ids}, with new value comes as {vals}
|
||||
return True on success, False otherwise
|
||||
|
||||
@param cr: cursor to database
|
||||
@param user: id of current user
|
||||
@param ids: list of record ids to be update
|
||||
@param vals: dict of new values to be set
|
||||
@param context: context arguments, like lang, time zone
|
||||
|
||||
@return: True on success, False otherwise
|
||||
"""
|
||||
|
||||
super(account_cash_statement, self).write(cr, uid, ids, vals)
|
||||
res = self._get_starting_balance(cr, uid, ids)
|
||||
for rs in res:
|
||||
super(account_cash_statement, self).write(cr, uid, rs, res.get(rs))
|
||||
return True
|
||||
|
||||
def onchange_journal_id(self, cr, uid, statement_id, journal_id, context={}):
|
||||
""" Changes balance start and starting details if journal_id changes"
|
||||
@@ -285,7 +313,7 @@ class account_cash_statement(osv.osv):
|
||||
self.write(cr, uid, ids, vals)
|
||||
return True
|
||||
|
||||
def button_confirm(self, cr, uid, ids, context={}):
|
||||
def button_confirm_cash(self, cr, uid, ids, context={}):
|
||||
|
||||
""" Check the starting and ending detail of statement
|
||||
@return: True
|
||||
@@ -296,20 +324,24 @@ class account_cash_statement(osv.osv):
|
||||
account_move_obj = self.pool.get('account.move')
|
||||
account_move_line_obj = self.pool.get('account.move.line')
|
||||
account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
|
||||
|
||||
|
||||
company_currency_id = res_users_obj.browse(cr, uid, uid, context=context).company_id.currency_id.id
|
||||
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
|
||||
self.write(cr, uid, [st.id], {'balance_end_real':st.balance_end})
|
||||
st.balance_end_real = st.balance_end
|
||||
|
||||
if not st.state == 'open':
|
||||
continue
|
||||
|
||||
if not self._equal_balance(cr, uid, ids, st, context):
|
||||
raise osv.except_osv(_('Error !'), _('Cash balance is not matching with closing balance !'))
|
||||
|
||||
if not (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001):
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('The statement balance is incorrect !\n') +
|
||||
_('The expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
|
||||
raise osv.except_osv(_('Error !'), _('CashBox Balance is not matching with Calculated Balance !'))
|
||||
|
||||
# if not (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001):
|
||||
# raise osv.except_osv(_('Error !'),
|
||||
# _('The statement balance is incorrect !\n') +
|
||||
# _('The expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
|
||||
if (not st.journal_id.default_credit_account_id) \
|
||||
or (not st.journal_id.default_debit_account_id):
|
||||
raise osv.except_osv(_('Configuration Error !'),
|
||||
@@ -435,7 +467,7 @@ class account_cash_statement(osv.osv):
|
||||
|
||||
if move.reconcile_id and move.reconcile_id.line_ids:
|
||||
torec += map(lambda x: x.id, move.reconcile_id.line_ids)
|
||||
#try:
|
||||
|
||||
if abs(move.reconcile_amount-move.amount)<0.0001:
|
||||
|
||||
writeoff_acc_id = False
|
||||
@@ -447,13 +479,16 @@ class account_cash_statement(osv.osv):
|
||||
account_move_line_obj.reconcile(cr, uid, torec, 'statement', writeoff_acc_id=writeoff_acc_id, writeoff_period_id=st.period_id.id, writeoff_journal_id=st.journal_id.id, context=context)
|
||||
else:
|
||||
account_move_line_obj.reconcile_partial(cr, uid, torec, 'statement', context)
|
||||
#except:
|
||||
# raise osv.except_osv(_('Error !'), _('Unable to reconcile entry "%s": %.2f') % (move.name, move.amount))
|
||||
|
||||
if st.journal_id.entry_posted:
|
||||
account_move_obj.write(cr, uid, [move_id], {'state':'posted'})
|
||||
done.append(st.id)
|
||||
self.write(cr, uid, done, {'state':'confirm'}, context=context)
|
||||
|
||||
vals = {
|
||||
'state':'confirm',
|
||||
'closing_date':time.strftime("%Y-%m-%d %H:%M:%S")
|
||||
}
|
||||
self.write(cr, uid, done, vals, context=context)
|
||||
return True
|
||||
|
||||
def button_cancel(self, cr, uid, ids, context={}):
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
<field name="number"/>
|
||||
<field name="type" invisible="1"/>
|
||||
<field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" width="50"/>
|
||||
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change Currency"/>
|
||||
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change"/>
|
||||
<newline/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" groups="base.group_user"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
|
||||
@@ -490,7 +490,7 @@
|
||||
|
||||
<act_window domain="[('account_analytic_id', '=', active_id)]" id="act_account_analytic_account_2_account_invoice_line" name="Invoice lines" res_model="account.invoice.line" src_model="account.analytic.account"/>
|
||||
|
||||
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Receivables & Payables" res_model="account.move.line" src_model="account.invoice"/>
|
||||
<act_window domain="[('partner_id', '=', partner_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_invoice_account_move_unreconciled" name="Unreconciled Entries" res_model="account.move.line" src_model="account.invoice"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<menuitem id="menu_finance_bank_and_cash" name="Bank and Cash" parent="menu_finance" sequence="3"/>
|
||||
<!-- <menuitem id="menu_accounting" name="Accounting" parent="menu_finance" sequence="5"/>-->
|
||||
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="menu_finance" sequence="8" groups="group_account_user"/>
|
||||
<menuitem id="periodical_processing_journal_entries_validation" name="Journal Entries Validation" parent="menu_finance_periodical_processing"/>
|
||||
<menuitem id="periodical_processing_journal_entries_validation" name="Entries to Review" parent="menu_finance_periodical_processing"/>
|
||||
<menuitem id="periodical_processing_reconciliation" name="Reconciliation" parent="menu_finance_periodical_processing"/>
|
||||
<!-- <menuitem id="periodical_processing_recurrent_entries" name="Recurrent Entries" parent="menu_finance_periodical_processing"/>-->
|
||||
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
|
||||
|
||||
@@ -332,7 +332,7 @@
|
||||
<group colspan="4" col="6">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="type" on_change="onchange_type(type)"/>
|
||||
<field name="type" on_change="onchange_type(type, currency)"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="General Information">
|
||||
@@ -358,14 +358,11 @@
|
||||
<separator string="Validations" colspan="4"/>
|
||||
<field name="allow_date" groups="base.group_extended"/>
|
||||
</group>
|
||||
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Other Configuration" colspan="4"/>
|
||||
<field name="centralisation" groups="base.group_extended"/>
|
||||
<field name="entry_posted"/>
|
||||
<field name="update_posted"/>
|
||||
</group>
|
||||
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Invoicing Data" colspan="4"/>
|
||||
<field name="invoice_sequence_id" groups="base.group_extended"/>
|
||||
@@ -430,6 +427,9 @@
|
||||
<field name="balance_end_real"/>
|
||||
<field name="balance_end"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
|
||||
<button type="object" string="Confirm" name="button_confirm_bank" states="open" icon="terp-gtk-go-back-rtl"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="terp-gtk-stop"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -468,7 +468,7 @@
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" select="1"/>
|
||||
<field name="period_id"/>
|
||||
<field name="balance_start"/>
|
||||
<field name="balance_end_real"/>
|
||||
<field name="balance_end_real"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Transaction">
|
||||
@@ -508,7 +508,7 @@
|
||||
<field name="state"/>
|
||||
<field name="balance_end"/>
|
||||
<button name="button_dummy" states="draft" string="Compute" icon="terp-stock_format-scientific"/>
|
||||
<button name="button_confirm" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="terp-gtk-stop"/>
|
||||
</group>
|
||||
</form>
|
||||
@@ -521,6 +521,18 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('journal_id.type', '=', 'bank')]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_bank_statement_tree_bank">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_bank_statement_tree"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_bank_statement_form_bank">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_bank_statement_form"/>
|
||||
<field name="act_window_id" ref="action_bank_statement_tree"/>
|
||||
</record>
|
||||
<menuitem string="Bank Statements" action="action_bank_statement_tree" id="menu_bank_statement_tree" parent="menu_finance_bank_and_cash" sequence="7"/>
|
||||
|
||||
<record id="action_bank_statement_draft_tree" model="ir.actions.act_window">
|
||||
@@ -1130,10 +1142,6 @@
|
||||
<field name="partner_id" select='1'/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group col="10" colspan="4">
|
||||
<field name="journal_id" widget="selection" context="{'journal_id':self, 'visible_id':self or 0, 'normal_view':False}"/>
|
||||
<field name="period_id" widget="selection" context="{'period_id':self}"/>
|
||||
</group>
|
||||
<group expand="0" string="Group By..." colspan="12" col="10">
|
||||
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
|
||||
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
|
||||
@@ -1179,15 +1187,21 @@
|
||||
src_model="account.move"/>
|
||||
|
||||
<record id="action_move_to_review" model="ir.actions.act_window">
|
||||
<field name="name">Journal Entries to Review</field>
|
||||
<field name="name">Journal Entries</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.move</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_move_tree"/>
|
||||
<field name="search_view_id" ref="view_account_move_filter"/>
|
||||
<field name="domain">[('to_check','=',True)]</field>
|
||||
<field name="domain">[('to_check','=',True), ('state','=','draft')]</field>
|
||||
</record>
|
||||
<menuitem action="action_move_to_review" id="menu_action_move_to_review" parent="periodical_processing_journal_entries_validation"/>
|
||||
|
||||
<menuitem
|
||||
action="action_move_to_review"
|
||||
id="menu_action_move_to_review"
|
||||
parent="periodical_processing_journal_entries_validation"
|
||||
/>
|
||||
|
||||
<!-- <menuitem id="next_id_29" name="Search Entries" parent="account.menu_finance_entries" sequence="40"/>-->
|
||||
<!-- <menuitem action="action_move_line_form" id="menu_action_move_line_form" parent="next_id_29"/>-->
|
||||
|
||||
@@ -1209,7 +1223,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_move_line_tree"/>
|
||||
<field name="search_view_id" ref="view_account_move_line_filter"/>
|
||||
<field name="domain">[('journal_id.type', 'in', ['sale', 'sale_refund'])]</field>
|
||||
<field name="domain">[('journal_id.type', 'in', ['sale', 'purchase_refund'])]</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_moves_sale" id="menu_eaction_account_moves_sale" parent="menu_finance_receivables"/>
|
||||
@@ -1221,7 +1235,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_move_line_tree"/>
|
||||
<field name="search_view_id" ref="view_account_move_line_filter"/>
|
||||
<field name="domain">[('journal_id.type', 'in', ['purchase', 'purchase_refund'])]</field>
|
||||
<field name="domain">[('journal_id.type', 'in', ['purchase', 'sale_refund'])]</field>
|
||||
<field name="context">{'journal_id':1}</field>
|
||||
</record>
|
||||
|
||||
@@ -1553,7 +1567,7 @@
|
||||
<!-- <field name="date" select='1'/>-->
|
||||
<!-- <field name="account_id" select='1'/>-->
|
||||
<!-- <field name="partner_id" select='1'>-->
|
||||
<!-- <filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>-->
|
||||
<!-- <filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>-->
|
||||
<!-- </field>-->
|
||||
<!-- <field name="balance" string="Debit/Credit" select='1'/>-->
|
||||
<!-- </group>-->
|
||||
@@ -1842,17 +1856,17 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Account Templates">
|
||||
<group>
|
||||
<filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
|
||||
<filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<group>
|
||||
<filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
|
||||
<filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="type"/>
|
||||
<field name="user_type"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Internal Type" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="Account Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'user_type'}"/>
|
||||
</group>
|
||||
@@ -1878,7 +1892,7 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Chart of Accounts Template">
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="account_root_id"/>
|
||||
<field name="bank_account_view_id"/>
|
||||
@@ -1903,19 +1917,19 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Chart of Account Templates">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="account_root_id"/>
|
||||
<field name="bank_account_view_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="account_root_id"/>
|
||||
<field name="bank_account_view_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Root Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'account_root_id'}"/>
|
||||
<filter string="Bank Account" icon="terp-folder-blue" domain="[]" context="{'group_by':'bank_account_view_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Receivable Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_receivable'}"/>
|
||||
<filter string="Payable Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_payable'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Income Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_income_categ'}"/>
|
||||
<filter string="Expense Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_expense_categ'}"/>
|
||||
</group>
|
||||
@@ -2060,20 +2074,20 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_tax_code_template_search" model="ir.ui.view">
|
||||
<record id="view_tax_code_template_search" model="ir.ui.view">
|
||||
<field name="name">account.tax.code.template.search</field>
|
||||
<field name="model">account.tax.code.template</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search tax template">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
<filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
@@ -2268,7 +2282,7 @@
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
|
||||
<button type="object" string="Confirm" name="button_confirm" states="open" icon="terp-gtk-go-back-rtl"/>
|
||||
<button type="object" string="Confirm" name="button_confirm_cash" states="open" icon="terp-gtk-go-back-rtl"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="terp-gtk-stop"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -2286,7 +2300,7 @@
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" domain="[('type','=','cash')]" select="1" />
|
||||
<field name="user_id" select="1" readonly="1"/>
|
||||
<field name="period_id" select="1"/>
|
||||
<field name="balance_end_real"/>
|
||||
<!-- <field name="balance_end_real"/>-->
|
||||
</group>
|
||||
|
||||
<notebook colspan="4">
|
||||
@@ -2319,7 +2333,7 @@
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Cash Box">
|
||||
<page string="CashBox">
|
||||
<group col="2" colspan="2" expand="1">
|
||||
<field name="starting_details_ids" nolabel="1" colspan="2" attrs="{'readonly':[('state','=','draft')]}">
|
||||
<tree string = "Opening Balance" editable="bottom">
|
||||
@@ -2350,7 +2364,7 @@
|
||||
</group>
|
||||
</page>
|
||||
<page string="Accounting Entries" attrs="{'invisible': [('state','!=','confirm')]}">
|
||||
<field colspan="4" name="move_line_ids" nolabel="1"/>
|
||||
<field colspan="4" name="move_line_ids" nolabel="1" string="Accounting Entries"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="6" colspan="4">
|
||||
@@ -2361,18 +2375,18 @@
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Opening Balance" colspan="4"/>
|
||||
<field name="balance_start"/>
|
||||
<field name="balance_start" readonly="1" string="Opening Balance"/>
|
||||
<field name="total_entry_encoding"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Closing Balance" colspan="4"/>
|
||||
<field name="balance_end" string="Approx"/>
|
||||
<field name="balance_end_cash" string="Cash Balance"/>
|
||||
<field name="balance_end" string="Calculated Balance"/>
|
||||
<field name="balance_end_cash" string="CashBox Balance"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="8" colspan="4">
|
||||
<field name="state" colspan="4"/>
|
||||
<button name="button_confirm" states="open" string="Close CashBox" icon="terp-check" type="object"/>
|
||||
<button name="button_confirm_cash" states="open" string="Close CashBox" icon="terp-check" type="object"/>
|
||||
<button name="button_open" states="draft" string="Open CashBox" icon="terp-document-new" type="object"/>
|
||||
<button name="button_cancel" states="confirm,open" string="Cancel" icon="terp-gtk-stop" type="object" groups="base.group_extended"/>
|
||||
</group>
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-07-05 10:24+0000\n"
|
||||
"PO-Revision-Date: 2010-07-08 08:56+0000\n"
|
||||
"Last-Translator: eLBati - albatos.com <lorenzo.battistini@albatos.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-07 03:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -3209,6 +3209,8 @@ msgid ""
|
||||
"The account moves of the invoice have been reconciled with account moves of "
|
||||
"the payment(s)."
|
||||
msgstr ""
|
||||
"I movimenti contabili della fattura sono stati riconciliati con movimenti "
|
||||
"contabili del/i pagamento/i."
|
||||
|
||||
#. module: account
|
||||
#: rml:account.invoice:0
|
||||
@@ -3631,7 +3633,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: help:account.invoice,account_id:0
|
||||
msgid "The partner account used for this invoice."
|
||||
msgstr ""
|
||||
msgstr "Il conto del partner utilizzato per questa fattura."
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax.code,notprintable:0
|
||||
@@ -3888,7 +3890,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: help:account.invoice,date_invoice:0
|
||||
msgid "Keep empty to use the current date"
|
||||
msgstr ""
|
||||
msgstr "Lasciare vuoto per utilizzare la data corrente"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.overdue:0
|
||||
@@ -5278,7 +5280,7 @@ msgstr "Non pagati"
|
||||
#. module: account
|
||||
#: help:account.invoice,residual:0
|
||||
msgid "Remaining amount due."
|
||||
msgstr ""
|
||||
msgstr "Importo rimanente dovuto"
|
||||
|
||||
#. module: account
|
||||
#: wizard_view:account.period.close,init:0
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.6\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-07-06 10:39+0000\n"
|
||||
"PO-Revision-Date: 2010-07-08 05:22+0000\n"
|
||||
"Last-Translator: Black Jack <onetimespeed@hotmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-07 03:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -24,7 +24,7 @@ msgstr "内部名称"
|
||||
#. module: account
|
||||
#: view:account.tax.code:0
|
||||
msgid "Account Tax Code"
|
||||
msgstr "税代码"
|
||||
msgstr "税事务科目"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_invoice_tree9
|
||||
@@ -94,7 +94,7 @@ msgstr "未对账"
|
||||
#: field:account.tax,base_code_id:0
|
||||
#: field:account.tax.template,base_code_id:0
|
||||
msgid "Base Code"
|
||||
msgstr "基础代码"
|
||||
msgstr "基础税事务代码"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account:0
|
||||
@@ -128,7 +128,7 @@ msgstr "剩余的"
|
||||
#: field:account.tax.template,base_sign:0
|
||||
#: field:account.tax.template,ref_base_sign:0
|
||||
msgid "Base Code Sign"
|
||||
msgstr "税基代码符号"
|
||||
msgstr "基础税事务符号"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.wizard,name:account.wizard_unreconcile_select
|
||||
@@ -503,7 +503,7 @@ msgstr "辅助核算分录统计"
|
||||
#: model:ir.actions.act_window,name:account.action_account_tax_code_template_form
|
||||
#: model:ir.ui.menu,name:account.menu_action_account_tax_code_template_form
|
||||
msgid "Tax Code Templates"
|
||||
msgstr "税代码模板"
|
||||
msgstr "税事务模板"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
@@ -546,7 +546,7 @@ msgstr "包含在基础金额里"
|
||||
#: field:account.tax,ref_base_code_id:0
|
||||
#: field:account.tax.template,ref_base_code_id:0
|
||||
msgid "Refund Base Code"
|
||||
msgstr "退税基于"
|
||||
msgstr "退税事务代码"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.line:0
|
||||
@@ -701,7 +701,7 @@ msgstr "选择辅助核算的会计期间"
|
||||
#: field:account.tax.template,ref_tax_sign:0
|
||||
#: field:account.tax.template,tax_sign:0
|
||||
msgid "Tax Code Sign"
|
||||
msgstr "税的借贷标志(1为借方)"
|
||||
msgstr "税事务的符号(1为正数)"
|
||||
|
||||
#. module: account
|
||||
#: help:res.partner,credit:0
|
||||
@@ -938,7 +938,7 @@ msgstr "结束日期"
|
||||
#. module: account
|
||||
#: field:account.invoice.tax,base_amount:0
|
||||
msgid "Base Code Amount"
|
||||
msgstr "基础代码金额"
|
||||
msgstr "基础税事务代码的金额"
|
||||
|
||||
#. module: account
|
||||
#: help:account.journal,user_id:0
|
||||
@@ -1506,7 +1506,7 @@ msgstr "电话:"
|
||||
#. module: account
|
||||
#: field:account.invoice.tax,tax_amount:0
|
||||
msgid "Tax Code Amount"
|
||||
msgstr "税代码金额"
|
||||
msgstr "税事务金额"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.type,sign:0
|
||||
@@ -1849,7 +1849,7 @@ msgstr "开始日期"
|
||||
#. module: account
|
||||
#: model:account.journal,name:account.refund_expenses_journal
|
||||
msgid "x Expenses Credit Notes Journal"
|
||||
msgstr "x 费用信用票据分录集合"
|
||||
msgstr "x 费用贷项单分录集合"
|
||||
|
||||
#. module: account
|
||||
#: field:account.analytic.journal,type:0
|
||||
@@ -2630,7 +2630,7 @@ msgstr "逾期付款信息"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_tax_code_template
|
||||
msgid "Tax Code Template"
|
||||
msgstr "税代码模板"
|
||||
msgstr "税事务模板"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.partner.balance:0
|
||||
@@ -2969,7 +2969,7 @@ msgstr "汇总"
|
||||
#: field:account.tax.template,tax_code_id:0
|
||||
#: model:ir.model,name:account.model_account_tax_code
|
||||
msgid "Tax Code"
|
||||
msgstr "税代码"
|
||||
msgstr "税事务"
|
||||
|
||||
#. module: account
|
||||
#: rml:account.analytic.account.journal:0
|
||||
@@ -3286,7 +3286,7 @@ msgstr "每月30天"
|
||||
#. module: account
|
||||
#: field:account.chart.template,tax_code_root_id:0
|
||||
msgid "Root Tax Code"
|
||||
msgstr "税根代码"
|
||||
msgstr "税事务的根"
|
||||
|
||||
#. module: account
|
||||
#: constraint:account.invoice:0
|
||||
@@ -3602,7 +3602,7 @@ msgstr "当前业务伙伴将替代为这默认的付款条款"
|
||||
#: wizard_field:account.invoice.pay,addendum,comment:0
|
||||
#: wizard_field:account.invoice.pay,init,name:0
|
||||
msgid "Entry Name"
|
||||
msgstr "分录名称"
|
||||
msgstr "名称"
|
||||
|
||||
#. module: account
|
||||
#: help:account.invoice,account_id:0
|
||||
@@ -3644,7 +3644,7 @@ msgstr "明细"
|
||||
#: wizard_view:account.invoice.refund,init:0
|
||||
#: model:ir.actions.wizard,name:account.wizard_invoice_refund
|
||||
msgid "Credit Note"
|
||||
msgstr "贷方票据"
|
||||
msgstr "贷项单"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.todo,note:account.config_fiscalyear
|
||||
@@ -3798,7 +3798,7 @@ msgstr "付款分录"
|
||||
#. module: account
|
||||
#: help:account.move.line,tax_code_id:0
|
||||
msgid "The Account can either be a base tax code or tax code account."
|
||||
msgstr "可以选基于的税务代码或税务代码"
|
||||
msgstr "可以选基础税事务或税事务科目"
|
||||
|
||||
#. module: account
|
||||
#: help:account.automatic.reconcile,init,account_ids:0
|
||||
@@ -4170,7 +4170,7 @@ msgid ""
|
||||
"Allows you to change the sign of the balance amount displayed in the "
|
||||
"reports, so that you can see positive figures instead of negative ones in "
|
||||
"expenses accounts."
|
||||
msgstr "允许你修改报表显示的余额的符号,所以你能看见费用科目为正数"
|
||||
msgstr "允许你修改报表显示的余额的符号,所以你能看见正数来取代负数的费用科目"
|
||||
|
||||
#. module: account
|
||||
#: help:account.config.wizard,code:0
|
||||
@@ -4329,7 +4329,7 @@ msgstr "已登帐"
|
||||
#: view:account.tax:0
|
||||
#: view:account.tax.template:0
|
||||
msgid "Credit Notes"
|
||||
msgstr "贷方备注"
|
||||
msgstr "贷项单"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.wizard,date2:0
|
||||
@@ -4933,7 +4933,7 @@ msgstr "创建"
|
||||
#: field:account.tax,ref_tax_code_id:0
|
||||
#: field:account.tax.template,ref_tax_code_id:0
|
||||
msgid "Refund Tax Code"
|
||||
msgstr "退税代码"
|
||||
msgstr "退税事务"
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice.tax,name:0
|
||||
@@ -5100,7 +5100,7 @@ msgstr "项信息"
|
||||
#. module: account
|
||||
#: view:account.tax.code.template:0
|
||||
msgid "Account Tax Code Template"
|
||||
msgstr "科目税代码模板"
|
||||
msgstr "税事务科目模板"
|
||||
|
||||
#. module: account
|
||||
#: view:account.subscription:0
|
||||
@@ -5352,7 +5352,7 @@ msgid ""
|
||||
"If the Tax account is tax code account, this field will contain the taxed "
|
||||
"amount.If the tax account is base tax code, this field "
|
||||
"will contain the basic amount(without tax)."
|
||||
msgstr "如果这税科目是免税科目, 这字段将含税款. 如果这科目是基本税代码这字段将含基础金额(不含税)."
|
||||
msgstr "如果这税科目是税事务科目, 这字段将含税款. 如果这科目是基础税事务这字段将含基础金额(不含税)."
|
||||
|
||||
#. module: account
|
||||
#: view:account.bank.statement:0
|
||||
|
||||
@@ -207,8 +207,8 @@ class account_installer(osv.osv_memory):
|
||||
new_account = obj_acc.create(cr, uid, vals)
|
||||
acc_template_ref[account_template.id] = new_account
|
||||
if account_template.name == 'Bank Current Account':
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0]
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0]
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Bank/Cash Journal View')])[0] #why fixed name here?
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #Why Fixed name here?
|
||||
ref_acc_bank = obj_multi.bank_account_view_id
|
||||
|
||||
cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash')
|
||||
@@ -328,8 +328,8 @@ class account_installer(osv.osv_memory):
|
||||
obj_journal.create(cr,uid,vals_journal)
|
||||
|
||||
# Bank Journals
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Cash Journal View')])[0]
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Multi-Currency Cash Journal View')])[0]
|
||||
view_id_cash = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal View')])[0] #TOFIX: Why put fixed name ?
|
||||
view_id_cur = self.pool.get('account.journal.view').search(cr, uid, [('name','=','Bank/Cash Journal (Multi-Currency) View')])[0] #TOFIX: why put fixed name?
|
||||
ref_acc_bank = obj_multi.bank_account_view_id
|
||||
|
||||
|
||||
|
||||
+11
-10
@@ -223,7 +223,7 @@ class account_invoice(osv.osv):
|
||||
_log_create = True
|
||||
_columns = {
|
||||
'name': fields.char('Description', size=64, select=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice."),
|
||||
'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice.", readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'type': fields.selection([
|
||||
('out_invoice','Customer Invoice'),
|
||||
('in_invoice','Supplier Invoice'),
|
||||
@@ -234,7 +234,7 @@ class account_invoice(osv.osv):
|
||||
'number': fields.char('Invoice Number', size=32, readonly=True, help="Unique number of the invoice, computed automatically when the invoice is created."),
|
||||
'reference': fields.char('Invoice Reference', size=64, help="The partner reference of this invoice."),
|
||||
'reference_type': fields.selection(_get_reference_type, 'Reference Type',
|
||||
required=True),
|
||||
required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'comment': fields.text('Additional Information', translate=True),
|
||||
|
||||
'state': fields.selection([
|
||||
@@ -250,8 +250,8 @@ class account_invoice(osv.osv):
|
||||
\n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \
|
||||
\n* The \'Done\' state is set automatically when invoice is paid.\
|
||||
\n* The \'Cancelled\' state is used when user cancel invoice.'),
|
||||
'date_invoice': fields.date('Date Invoiced', states={'open':[('readonly',True)], 'close':[('readonly',True)]}, help="Keep empty to use the current date"),
|
||||
'date_due': fields.date('Due Date', states={'open':[('readonly',True)], 'close':[('readonly',True)]},
|
||||
'date_invoice': fields.date('Date Invoiced', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, help="Keep empty to use the current date"),
|
||||
'date_due': fields.date('Due Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]},
|
||||
help="If you use payment terms, the due date will be computed automatically at the generation "\
|
||||
"of accounting entries. If you keep the payment term and the due date empty, it means direct payment. The payment term may compute several due dates, for example 50% now, 50% in one month."),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}),
|
||||
@@ -291,7 +291,7 @@ class account_invoice(osv.osv):
|
||||
multi='all'),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]}),
|
||||
'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean',
|
||||
store={
|
||||
@@ -300,7 +300,7 @@ class account_invoice(osv.osv):
|
||||
'account.move.reconcile': (_get_invoice_from_reconcile, None, 50),
|
||||
}, help="The Ledger Postings of the invoice have been reconciled with Ledger Postings of the payment(s)."),
|
||||
'partner_bank': fields.many2one('res.partner.bank', 'Bank Account',
|
||||
help='The bank account to pay to or to be paid from'),
|
||||
help='The bank account to pay to or to be paid from', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'move_lines':fields.function(_get_lines , method=True, type='many2many', relation='account.move.line', string='Entry Lines'),
|
||||
'residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual',
|
||||
store={
|
||||
@@ -312,9 +312,9 @@ class account_invoice(osv.osv):
|
||||
},
|
||||
help="Remaining amount due."),
|
||||
'payment_ids': fields.function(_compute_lines, method=True, relation='account.move.line', type="many2many", string='Payments'),
|
||||
'move_name': fields.char('Ledger Posting', size=64),
|
||||
'user_id': fields.many2one('res.users', 'Salesman'),
|
||||
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position')
|
||||
'move_name': fields.char('Ledger Posting', size=64, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True, states={'draft':[('readonly',False)]})
|
||||
}
|
||||
_defaults = {
|
||||
'type': _get_type,
|
||||
@@ -1241,6 +1241,7 @@ class account_invoice_line(osv.osv):
|
||||
return {'price_unit': price_unit,'invoice_line_tax_id': tax_id}
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, address_invoice_id=False, currency_id=False, context=None):
|
||||
print "2222*", uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, address_invoice_id, currency_id, context
|
||||
if context is None:
|
||||
context = {}
|
||||
company_id = context.get('company_id',False)
|
||||
@@ -1574,4 +1575,4 @@ class res_partner(osv.osv):
|
||||
|
||||
res_partner()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -28,12 +28,12 @@
|
||||
<field name="partner_bank" invisible="1"/>
|
||||
<field name="account_id" invisible="1"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
<field name="product_qty"/>
|
||||
<field name="product_qty" sum="Qty"/>
|
||||
<field name="reconciled" sum="# Reconciled"/>
|
||||
<field name="price_average" avg="Average Price"/>
|
||||
<field name="price_average" sum="Average Price"/>
|
||||
<field name="price_total" sum="Total Price"/>
|
||||
<field name="residual" sum="Total Residual" invisible="not context.get('residual_visible',False)"/>
|
||||
<field name="delay_to_pay" avg="Avg. Delay To Pay" invisible="not context.get('residual_visible',False)"/>
|
||||
<field name="residual" sum="Total Residual" invisible="context.get('residual_invisible',False)"/>
|
||||
<field name="delay_to_pay" sum="Avg. Delay To Pay" invisible="context.get('residual_invisible',False)"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -93,24 +93,24 @@
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="1" string="Group By...">
|
||||
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id','residual_visible':True}"/>
|
||||
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id','residual_visible':True}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state','residual_visible':True}"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type','residual_visible':True}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id','residual_visible':True}"/>
|
||||
<filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id','residual_visible':True}"/>
|
||||
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
|
||||
<filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Force Period" icon="terp-go-month" context="{'group_by':'period_id','residual_visible':True}"/>
|
||||
<filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
|
||||
<filter string="Force Period" icon="terp-go-month" context="{'group_by':'period_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id','residual_visible':True}" groups="base.group_multi_company"/>
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day','residual_visible':True}"/>
|
||||
<filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month','residual_visible':True}"/>
|
||||
<filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year','residual_visible':True}"/>
|
||||
<filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." groups="base.group_extended">
|
||||
|
||||
@@ -35,7 +35,7 @@ class account_change_currency(osv.osv_memory):
|
||||
context = {}
|
||||
state = obj_inv.browse(cr, uid, context['active_id']).state
|
||||
if obj_inv.browse(cr, uid, context['active_id']).state != 'draft':
|
||||
raise osv.except_osv(_('Error'), _('You can not change currency for Open Invoice !'))
|
||||
raise osv.except_osv(_('Error'), _('You can only change currency for Draft Invoice !'))
|
||||
pass
|
||||
|
||||
def change_currency(self, cr, uid, ids, context=None):
|
||||
|
||||
@@ -61,7 +61,8 @@ class account_invoice_refund(osv.osv_memory):
|
||||
date = False
|
||||
period = False
|
||||
description = False
|
||||
for inv in inv_obj.browse(cr, uid, context['active_ids'], context=context):
|
||||
company = self.pool.get('res.users').browse(cr, uid, uid).company_id
|
||||
for inv in inv_obj.browse(cr, uid, context.get('active_ids'), context=context):
|
||||
if inv.state in ['draft', 'proforma2', 'cancel']:
|
||||
raise osv.except_osv(_('Error !'), _('Can not %s draft/proforma/cancel invoice.') % (mode))
|
||||
if form['period'] :
|
||||
@@ -77,11 +78,8 @@ class account_invoice_refund(osv.osv_memory):
|
||||
and name = 'company_id'")
|
||||
result_query = cr.fetchone()
|
||||
if result_query:
|
||||
cr.execute("""SELECT id
|
||||
from account_period where date(%s)
|
||||
between date_start AND date_stop \
|
||||
and company_id = %s limit 1 """,
|
||||
(date, self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id,))
|
||||
cr.execute("""select p.id from account_fiscalyear y, account_period p where y.id=p.fiscalyear_id \
|
||||
and date(%s) between p.date_start AND p.date_stop and y.company_id = %s limit 1""", (date, company.id,))
|
||||
else:
|
||||
cr.execute("""SELECT id
|
||||
from account_period where date(%s)
|
||||
@@ -154,7 +152,7 @@ class account_invoice_refund(osv.osv_memory):
|
||||
'tax_line': tax_lines,
|
||||
'period_id': period,
|
||||
'name': description
|
||||
})
|
||||
})
|
||||
|
||||
for field in ('address_contact_id', 'address_invoice_id', 'partner_id',
|
||||
'account_id', 'currency_id', 'payment_term', 'journal_id'):
|
||||
@@ -192,4 +190,4 @@ class account_invoice_refund(osv.osv_memory):
|
||||
|
||||
account_invoice_refund()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -1,65 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_account_invoice_pay" model="ir.ui.view">
|
||||
<record id="view_account_invoice_pay" model="ir.ui.view">
|
||||
<field name="name">account.invoice.pay.form</field>
|
||||
<field name="model">account.invoice.pay</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Pay invoice">
|
||||
<group colspan="4" >
|
||||
<field name="amount"/>
|
||||
<newline/>
|
||||
<field name="name"/>
|
||||
<field name="date"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
</group>
|
||||
<group colspan="4" >
|
||||
<field name="amount"/>
|
||||
<newline/>
|
||||
<field name="name"/>
|
||||
<field name="date"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Partial Payment" name="pay_and_reconcile" type="object"/>
|
||||
<button icon="gtk-execute" string="Full Payment" name="wo_check" type="object"/>
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Partial Payment" name="pay_and_reconcile" type="object"/>
|
||||
<button icon="gtk-execute" string="Full Payment" name="wo_check" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_invoice_pay" model="ir.actions.act_window">
|
||||
<record id="action_account_invoice_pay" model="ir.actions.act_window">
|
||||
<field name="name">Pay Invoice</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.invoice.pay</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_account_invoice_pay"/>
|
||||
<field name="context">{'record_id' : active_id}</field>
|
||||
<field name="context">{'record_id' : active_id}</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_account_invoice_pay_writeoff" model="ir.ui.view">
|
||||
<record id="view_account_invoice_pay_writeoff" model="ir.ui.view">
|
||||
<field name="name">account.invoice.pay.writeoff.form</field>
|
||||
<field name="model">account.invoice.pay.writeoff</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Information addendum">
|
||||
<group colspan="4" >
|
||||
<separator string="Write-Off Move" colspan="4"/>
|
||||
<field name="writeoff_journal_id"/>
|
||||
<field name="writeoff_acc_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="comment"/>
|
||||
<separator string="Analytic" colspan="4"/>
|
||||
<field name="analytic_id"/>
|
||||
</group>
|
||||
<group colspan="4" >
|
||||
<separator string="Write-Off Move" colspan="4"/>
|
||||
<field name="writeoff_journal_id"/>
|
||||
<field name="writeoff_acc_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="comment"/>
|
||||
<separator string="Analytic" colspan="4"/>
|
||||
<field name="analytic_id"/>
|
||||
</group>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Pay and reconcile" name="pay_and_reconcile_writeoff" type="object"/>
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" string="Pay and reconcile" name="pay_and_reconcile_writeoff" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -7,13 +7,13 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-02-25 08:30+0000\n"
|
||||
"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n"
|
||||
"PO-Revision-Date: 2010-07-08 17:05+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-22 04:12+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_default
|
||||
@@ -38,8 +38,8 @@ msgstr "Некорректный формат XML для структуры ви
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Название объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
"символов !"
|
||||
"Имя Объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
"символов!"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: view:account.analytic.default:0
|
||||
@@ -64,7 +64,7 @@ msgstr "Последовательность"
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,product_id:0
|
||||
msgid "Product"
|
||||
msgstr "Продукция"
|
||||
msgstr "Продукт"
|
||||
|
||||
#. module: account_analytic_default
|
||||
#: field:account.analytic.default,analytic_id:0
|
||||
|
||||
@@ -7,19 +7,19 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-08 13:57+0000\n"
|
||||
"Last-Translator: Dmitry Klimanov <k-dmitry2@narod.ru>\n"
|
||||
"PO-Revision-Date: 2010-07-08 16:55+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-22 04:10+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account4_ids:0
|
||||
msgid "Account4 Id"
|
||||
msgstr ""
|
||||
msgstr "Счет 4 уровня"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: constraint:ir.model:0
|
||||
@@ -38,7 +38,7 @@ msgstr "Перекрестная аналитика"
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account5_ids:0
|
||||
msgid "Account5 Id"
|
||||
msgstr ""
|
||||
msgstr "Счет 5 уровня"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_field:wizard.crossovered.analytic,init,date2:0
|
||||
@@ -48,7 +48,7 @@ msgstr "Дата окончания"
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance.line,rate:0
|
||||
msgid "Rate (%)"
|
||||
msgstr ""
|
||||
msgstr "Ставка (%)"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan:0
|
||||
@@ -87,7 +87,7 @@ msgstr "№ плана"
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_instance_action
|
||||
msgid "Analytic Distribution's Models"
|
||||
msgstr ""
|
||||
msgstr "Шаблоны Аналитического Распределения"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
@@ -97,7 +97,7 @@ msgstr "Название счета"
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.instance.line:0
|
||||
msgid "Analytic Distribution Line"
|
||||
msgstr ""
|
||||
msgstr "Строка аналитического распределения"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,code:0
|
||||
@@ -107,7 +107,7 @@ msgstr ""
|
||||
#. module: account_analytic_plans
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,name:0
|
||||
@@ -117,7 +117,7 @@ msgstr "Название плана"
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Printing date"
|
||||
msgstr ""
|
||||
msgstr "Дата печати"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
@@ -137,7 +137,7 @@ msgstr "Выбор информаци"
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account3_ids:0
|
||||
msgid "Account3 Id"
|
||||
msgstr ""
|
||||
msgstr "Счет 3 уровня"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,journal_id:0
|
||||
@@ -158,7 +158,7 @@ msgstr "Ссылка на счет аналитики"
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
msgid "Analytic Account :"
|
||||
msgstr ""
|
||||
msgstr "Счет аналитики:"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.line:0
|
||||
@@ -196,7 +196,7 @@ msgstr "Мин. разрешено (%)"
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account1_ids:0
|
||||
msgid "Account1 Id"
|
||||
msgstr ""
|
||||
msgstr "Счет 1 уровня"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,max_required:0
|
||||
@@ -206,12 +206,12 @@ msgstr "Макс. разрешено (%)"
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_view:create.model,info:0
|
||||
msgid "Distribution Model Saved"
|
||||
msgstr ""
|
||||
msgstr "Распределительный шаблон сохранен"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
|
||||
msgid "Analytic Plan Instance"
|
||||
msgstr ""
|
||||
msgstr "Образец аналитического плана счетов"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -221,7 +221,7 @@ msgstr "Неправильный XML для просмотра архитект
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open
|
||||
msgid "Distribution Models"
|
||||
msgstr ""
|
||||
msgstr "Шаблоня распределения"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
|
||||
@@ -261,7 +261,7 @@ msgstr ""
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
|
||||
msgid "Multiple-plans management in Analytic Accounting"
|
||||
msgstr ""
|
||||
msgstr "Управление несколькими планами аналитических счетов"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: view:account.analytic.plan.line:0
|
||||
@@ -282,7 +282,7 @@ msgstr "План модели"
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account2_ids:0
|
||||
msgid "Account2 Id"
|
||||
msgstr ""
|
||||
msgstr "Счет 2 уровня"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
@@ -297,7 +297,7 @@ msgstr "Корневой счет для данного плана"
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.instance,account6_ids:0
|
||||
msgid "Account6 Id"
|
||||
msgstr ""
|
||||
msgstr "счет 6 уровня"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: rml:account.analytic.account.crossovered.analytic:0
|
||||
@@ -328,7 +328,7 @@ msgstr "Корневой счет"
|
||||
#: wizard_view:create.model,info:0
|
||||
msgid ""
|
||||
"This distribution model has been saved. You will be able to reuse it later."
|
||||
msgstr ""
|
||||
msgstr "Шаблон распределения сохранен. Теперь вы можете его использовать."
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: field:account.analytic.plan.line,sequence:0
|
||||
@@ -347,12 +347,12 @@ msgstr "Счет аналитики"
|
||||
#: field:account.invoice.line,analytics_id:0
|
||||
#: field:account.move.line,analytics_id:0
|
||||
msgid "Analytic Distribution"
|
||||
msgstr ""
|
||||
msgstr "Аналитическое распределение"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action
|
||||
msgid "Analytic Distribution's models"
|
||||
msgstr ""
|
||||
msgstr "Шаблон распределения аналитики"
|
||||
|
||||
#. module: account_analytic_plans
|
||||
#: wizard_button:wizard.crossovered.analytic,init,end:0
|
||||
|
||||
@@ -2,337 +2,337 @@
|
||||
<openerp>
|
||||
|
||||
<!-- Budgetary Positions -->
|
||||
<data noupdate="1">
|
||||
<record id="account_budget_post_sales0" model="account.budget.post">
|
||||
<field eval=""""Sales"""" name="name"/>
|
||||
<field eval=""""SAL"""" name="code"/>
|
||||
<field eval="[(6,0,[ref('account.a_sale')])]" name="account_ids"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="account_budget_post_purchase0" model="account.budget.post">
|
||||
<field eval=""""Purchases"""" name="name"/>
|
||||
<field eval=""""PUR"""" name="code"/>
|
||||
<field eval="[(6,0,[ref('account.a_expense')])]" name="account_ids"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="account_budget_post_sales0" model="account.budget.post">
|
||||
<field eval=""""Sales"""" name="name"/>
|
||||
<field eval=""""SAL"""" name="code"/>
|
||||
<field eval="[(6,0,[ref('account.a_sale')])]" name="account_ids"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="account_budget_post_purchase0" model="account.budget.post">
|
||||
<field eval=""""Purchases"""" name="name"/>
|
||||
<field eval=""""PUR"""" name="code"/>
|
||||
<field eval="[(6,0,[ref('account.a_expense')])]" name="account_ids"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<!-- Budgetary Dotations -->
|
||||
<data noupdate="1">
|
||||
<record id="account_budget_post_dot1" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_1"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot2" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_2"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot3" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_3"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot4" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_4"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot5" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_5"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot6" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_6"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot7" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_7"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot8" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_8"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot9" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_9"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot10" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_10"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot11" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_11"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot12" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_12"/>
|
||||
</record>
|
||||
<data noupdate="1">
|
||||
<record id="account_budget_post_dot1" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_1"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot2" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_2"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot3" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_3"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot4" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_4"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot5" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_5"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot6" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_6"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot7" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_7"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot8" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_8"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot9" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_9"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot10" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_10"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot11" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_11"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot12" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="5000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_sales0"/>
|
||||
<field name="period_id" ref="account.period_12"/>
|
||||
</record>
|
||||
|
||||
<record id="account_budget_post_dot_pur1" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_1"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur2" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_2"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur3" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_3"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur4" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_4"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur5" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_5"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur6" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_6"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur7" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_7"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur8" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_8"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur9" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_9"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur10" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_10"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur11" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_11"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur12" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_12"/>
|
||||
</record>
|
||||
</data>
|
||||
<record id="account_budget_post_dot_pur1" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_1"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur2" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_2"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur3" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_3"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur4" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_4"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur5" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_5"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur6" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_6"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur7" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_7"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur8" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_8"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur9" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_9"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur10" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_10"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur11" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_11"/>
|
||||
</record>
|
||||
<record id="account_budget_post_dot_pur12" model="account.budget.post.dotation">
|
||||
<field eval=""""/"""" name="name"/>
|
||||
<field eval="-2000" name="amount"/>
|
||||
<field name="post_id" ref="account_budget_post_purchase0"/>
|
||||
<field name="period_id" ref="account.period_12"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<!-- Budgets -->
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_budgetoptimistic0" model="crossovered.budget">
|
||||
<field eval=""""+2008"""" name="code"/>
|
||||
<field eval=""""Budget 2008: Optimistic"""" name="name"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
<field name="creating_user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_budgetpessimistic0" model="crossovered.budget">
|
||||
<field eval=""""-2008"""" name="code"/>
|
||||
<field eval=""""Budget 2008: Pessimistic"""" name="name"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
<field name="creating_user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_budgetoptimistic0" model="crossovered.budget">
|
||||
<field eval=""""+2011"""" name="code"/>
|
||||
<field eval=""""Budget 2011: Optimistic"""" name="name"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
<field name="creating_user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_budgetpessimistic0" model="crossovered.budget">
|
||||
<field eval=""""-2011"""" name="code"/>
|
||||
<field eval=""""Budget 2011: Pessimistic"""" name="name"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval=""""draft"""" name="state"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
<field name="creating_user_id" ref="base.user_root"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
<!-- Budget lines -->
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_0" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="-500.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_1" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="-250.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_2" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="500.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_3" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-07"""" name="date_from"/>
|
||||
<field eval="900.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_4" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="300.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2008-12-06"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_5" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-09-01"""" name="date_from"/>
|
||||
<field eval="375.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-03"""" name="paid_date"/>
|
||||
<field eval=""""2208-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_6" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-09-01"""" name="date_from"/>
|
||||
<field eval="-150.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_7" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-09-01"""" name="date_from"/>
|
||||
<field eval="375.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2008-12-03"""" name="paid_date"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_8" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2009-01-01"""" name="date_from"/>
|
||||
<field eval="-7500.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2009-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_9" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="-5000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_10" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="-2000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2009-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_11" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="20000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2010-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_12" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="20000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2009-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_13" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="-3000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_14" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="-1000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_15" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="10000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_16" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2008-01-01"""" name="date_from"/>
|
||||
<field eval="10000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2008-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_0" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="-500.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_1" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="-250.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_2" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="500.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_3" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-07"""" name="date_from"/>
|
||||
<field eval="900.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_4" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_consultancy"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="300.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2011-12-06"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_5" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-09-01"""" name="date_from"/>
|
||||
<field eval="375.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-03"""" name="paid_date"/>
|
||||
<field eval=""""2208-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_6" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-09-01"""" name="date_from"/>
|
||||
<field eval="-150.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_7" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_super_product_trainings"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-09-01"""" name="date_from"/>
|
||||
<field eval="375.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2011-12-03"""" name="paid_date"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_8" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2009-01-01"""" name="date_from"/>
|
||||
<field eval="-7500.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2009-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_9" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="-5000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_10" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="-2000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2009-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_11" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="20000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2010-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_12" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p1"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="20000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2009-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record id="crossovered_budget_lines_13" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="-3000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_14" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_purchase0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="-1000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_15" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="10000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetpessimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
<record id="crossovered_budget_lines_16" model="crossovered.budget.lines">
|
||||
<field name="analytic_account_id" ref="account.analytic_seagate_p2"/>
|
||||
<field name="general_budget_id" ref="account_budget_post_sales0"/>
|
||||
<field eval=""""2011-01-01"""" name="date_from"/>
|
||||
<field eval="10000.0" name="planned_amount"/>
|
||||
<field name="crossovered_budget_id" ref="crossovered_budget_budgetoptimistic0"/>
|
||||
<field eval=""""2011-12-31"""" name="date_to"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -7,19 +7,19 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-09-16 15:14+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-07-08 17:00+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-22 04:18+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,creating_user_id:0
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
msgstr "Ответственный пользователь"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
@@ -30,28 +30,28 @@ msgstr "% эффективности"
|
||||
#: model:ir.actions.act_window,name:account_budget.open_budget_post_form
|
||||
#: model:ir.ui.menu,name:account_budget.menu_budget_post_form
|
||||
msgid "Budgetary Positions"
|
||||
msgstr ""
|
||||
msgstr "Бюджетные статьи"
|
||||
|
||||
#. module: account_budget
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Printed at:"
|
||||
msgstr ""
|
||||
msgstr "Напечатано:"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:crossovered.budget:0
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
msgstr "Подтвердить"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,validating_user_id:0
|
||||
msgid "Validate User"
|
||||
msgstr ""
|
||||
msgstr "Проверить пользователя"
|
||||
|
||||
#. module: account_budget
|
||||
#: constraint:ir.model:0
|
||||
@@ -64,7 +64,7 @@ msgstr ""
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
msgstr "Подтверждено"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post.dotation,period_id:0
|
||||
@@ -87,7 +87,7 @@ msgstr "Дата вывода на печать"
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
msgstr "Черновик"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
@@ -99,7 +99,7 @@ msgstr "в"
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post:0
|
||||
msgid "Dotations"
|
||||
msgstr ""
|
||||
msgstr "Дотации"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
@@ -121,7 +121,7 @@ msgstr "От"
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,percentage:0
|
||||
msgid "Percentage"
|
||||
msgstr ""
|
||||
msgstr "Проценты"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
@@ -131,7 +131,7 @@ msgstr "Результаты"
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Состояние"
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.module.module,description:account_budget.module_meta_information
|
||||
@@ -173,12 +173,12 @@ msgstr "%"
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
msgstr "Описание"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
msgid "Analytic Account :"
|
||||
msgstr ""
|
||||
msgstr "Счет аналитики:"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_button:account.budget.report,init,report:0
|
||||
@@ -205,20 +205,20 @@ msgstr "до"
|
||||
#: rml:account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Total :"
|
||||
msgstr ""
|
||||
msgstr "Всего :"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: field:crossovered.budget.lines,planned_amount:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Planned Amount"
|
||||
msgstr ""
|
||||
msgstr "Запланированная сумма"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Perc(%)"
|
||||
msgstr ""
|
||||
msgstr "Проц.(%)"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
@@ -234,18 +234,18 @@ msgstr "Анализ бюджета"
|
||||
#: view:crossovered.budget:0
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Выполнено"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:crossovered.budget:0
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
msgstr "Проверить"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_view:wizard.crossovered.budget,init:0
|
||||
#: wizard_view:wizard.crossovered.budget.summary,init:0
|
||||
msgid "Select Options"
|
||||
msgstr ""
|
||||
msgstr "Выбрать опции"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
@@ -258,7 +258,7 @@ msgstr ""
|
||||
#: field:crossovered.budget,date_to:0
|
||||
#: field:crossovered.budget.lines,date_to:0
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
msgstr "Дата окончания"
|
||||
|
||||
#. module: account_budget
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -318,30 +318,30 @@ msgstr "Сумма"
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,paid_date:0
|
||||
msgid "Paid Date"
|
||||
msgstr ""
|
||||
msgstr "Дата оплаты"
|
||||
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.act_window,name:account_budget.action_account_budget_post_tree
|
||||
#: model:ir.ui.menu,name:account_budget.menu_action_account_budget_post_tree
|
||||
#: model:ir.ui.menu,name:account_budget.next_id_31
|
||||
msgid "Budgets"
|
||||
msgstr ""
|
||||
msgstr "Бюджеты"
|
||||
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
msgstr "Отменено"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post.dotation:0
|
||||
#: model:ir.model,name:account_budget.model_account_budget_post_dotation
|
||||
msgid "Budget Dotation"
|
||||
msgstr ""
|
||||
msgstr "Бюджетная дотация"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.budget.post.dotation:0
|
||||
msgid "Budget Dotations"
|
||||
msgstr ""
|
||||
msgstr "Бюджетные дотации"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
@@ -353,7 +353,7 @@ msgstr ""
|
||||
#: field:crossovered.budget.lines,general_budget_id:0
|
||||
#: model:ir.model,name:account_budget.model_account_budget_post
|
||||
msgid "Budgetary Position"
|
||||
msgstr ""
|
||||
msgstr "Бюджетная статья"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_field:account.budget.report,init,date1:0
|
||||
@@ -369,7 +369,7 @@ msgstr "Начало периода"
|
||||
#: model:ir.actions.wizard,name:account_budget.account_analytic_account_budget_report
|
||||
#: model:ir.actions.wizard,name:account_budget.wizard_crossovered_budget_menu
|
||||
msgid "Print Budgets"
|
||||
msgstr ""
|
||||
msgstr "Печать бюджетов"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post,code:0
|
||||
@@ -380,12 +380,12 @@ msgstr "Код"
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post.dotation,tot_planned:0
|
||||
msgid "Total Planned Amount"
|
||||
msgstr ""
|
||||
msgstr "Запланировано всего"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_view:wizard.analytic.account.budget.report,init:0
|
||||
msgid "Select Dates Period"
|
||||
msgstr ""
|
||||
msgstr "Выберите даты периода"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:account.budget.post,dotation_ids:0
|
||||
@@ -396,7 +396,7 @@ msgstr ""
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Theoretical Amount"
|
||||
msgstr ""
|
||||
msgstr "Теоретическая сумма"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_field:account.budget.spread,init,fiscalyear:0
|
||||
@@ -406,12 +406,12 @@ msgstr "Учетный год"
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget.lines,analytic_account_id:0
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
msgstr "Счет аналитического учета"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Budget :"
|
||||
msgstr ""
|
||||
msgstr "Бюджет:"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.budget:0
|
||||
@@ -430,7 +430,7 @@ msgstr "Счета"
|
||||
#. module: account_budget
|
||||
#: model:ir.actions.report.xml,name:account_budget.account_budget
|
||||
msgid "Print Budget"
|
||||
msgstr ""
|
||||
msgstr "Печать бюджета"
|
||||
|
||||
#. module: account_budget
|
||||
#: view:account.analytic.account:0
|
||||
@@ -460,24 +460,24 @@ msgstr "Отмена"
|
||||
#. module: account_budget
|
||||
#: model:ir.module.module,shortdesc:account_budget.module_meta_information
|
||||
msgid "Budget Management"
|
||||
msgstr ""
|
||||
msgstr "Управление бюджетом"
|
||||
|
||||
#. module: account_budget
|
||||
#: field:crossovered.budget,date_from:0
|
||||
#: field:crossovered.budget.lines,date_from:0
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
msgstr "Дата начала"
|
||||
|
||||
#. module: account_budget
|
||||
#: rml:account.analytic.account.budget:0
|
||||
#: rml:crossovered.budget.report:0
|
||||
msgid "Analysis from"
|
||||
msgstr ""
|
||||
msgstr "Анализ с"
|
||||
|
||||
#. module: account_budget
|
||||
#: selection:crossovered.budget,state:0
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
msgstr "Проверено"
|
||||
|
||||
#. module: account_budget
|
||||
#: wizard_view:account.budget.report,init:0
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_account_journal_form_inherit" model="ir.ui.view">
|
||||
<record id="view_account_journal_form_inherit" model="ir.ui.view">
|
||||
<field name="name">account.journal.form</field>
|
||||
<field name="model">account.journal</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.view_account_journal_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page[@string='General Information']/group/group/field[@name='centralisation']" position="after">
|
||||
<field name="entry_posted" position="after">
|
||||
<!-- <xpath expr="/form/notebook/page[@string='General Information']/group/group/field[@name='centralisation']" position="after">-->
|
||||
<field name="update_posted"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -0,0 +1,168 @@
|
||||
# Russian translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-11-24 13:11+0000\n"
|
||||
"PO-Revision-Date: 2010-07-08 17:04+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"Language-Team: Russian <ru@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,journal_id:0
|
||||
#: wizard_field:account.coda_import,init,journal_id:0
|
||||
msgid "Bank Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: constraint:ir.model:0
|
||||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"Название объекта должно начинаться с x_ и не должно содержать специальных "
|
||||
"символов !"
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_field:account.coda_import,extraction,note:0
|
||||
msgid "Log"
|
||||
msgstr "Журнал"
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_button:account.coda_import,extraction,open:0
|
||||
msgid "_Open Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
|
||||
msgid "Account CODA"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,name:0
|
||||
msgid "Coda file"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_view:account.coda_import,init:0
|
||||
msgid "Clic on 'New' to select your file :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: model:ir.actions.wizard,name:account_coda.wizard_account_coda_import
|
||||
msgid "Import Coda File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,note:0
|
||||
msgid "Import log"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_field:account.coda_import,init,def_receivable:0
|
||||
msgid "Default receivable Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: model:ir.module.module,description:account_coda.module_meta_information
|
||||
msgid ""
|
||||
"Module provides functionality to import\n"
|
||||
" bank statements from .csv file.\n"
|
||||
" Import coda file wizard is used to import bank statements."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_button:account.coda_import,extraction,end:0
|
||||
msgid "_Close"
|
||||
msgstr "_Закрыть"
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,statement_id:0
|
||||
msgid "Generated Bank Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: view:account.coda:0
|
||||
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
|
||||
#: model:ir.actions.act_window,name:account_coda.action_account_coda
|
||||
msgid "Coda import"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,user_id:0
|
||||
msgid "User"
|
||||
msgstr "Пользователь"
|
||||
|
||||
#. module: account_coda
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Неправильный XML для просмотра структуры!"
|
||||
|
||||
#. module: account_coda
|
||||
#: model:ir.model,name:account_coda.model_account_coda
|
||||
msgid "coda for an Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_field:account.coda_import,init,def_payable:0
|
||||
msgid "Default Payable Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: model:ir.ui.menu,name:account_coda.menu_account_coda
|
||||
msgid "Coda Statements"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: model:ir.ui.menu,name:account_coda.menu_account_coda_wizard
|
||||
msgid "Import Coda Statements"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_button:account.coda_import,init,extraction:0
|
||||
msgid "_Ok"
|
||||
msgstr "_Далее"
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_view:account.coda_import,extraction:0
|
||||
#: wizard_view:account.coda_import,init:0
|
||||
msgid "Import Coda Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.bank.statement,coda_id:0
|
||||
msgid "Coda"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_view:account.coda_import,extraction:0
|
||||
msgid "Results :"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_field:account.coda_import,init,coda:0
|
||||
msgid "Coda File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: field:account.coda,date:0
|
||||
msgid "Import Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_coda
|
||||
#: wizard_view:account.coda_import,init:0
|
||||
msgid "Select your bank journal :"
|
||||
msgstr ""
|
||||
@@ -153,8 +153,8 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="overdue_msg" nolabel="1" colspan ="4" position="after">
|
||||
<separator string="Follow-up Message" colspan="4"/>
|
||||
<field name="follow_up_msg" nolabel="1" colspan ="4"/>
|
||||
<separator string="Follow-up Message" colspan="4"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -212,9 +212,21 @@ class account_voucher(osv.osv):
|
||||
self.write(cr, uid, ids, {'state':'posted'})
|
||||
return True
|
||||
|
||||
def action_cancel_draft(self, cr, uid, ids, *args):
|
||||
def action_cancel_draft(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
return True
|
||||
|
||||
def audit_pass(self, cr, uid, ids, context={}):
|
||||
move_pool = self.pool.get('account.move')
|
||||
result = True
|
||||
audit_pass = []
|
||||
for voucher in self.browse(cr, uid, ids):
|
||||
if voucher.move_id and voucher.move_id.state == 'draft':
|
||||
result = result and move_pool.button_validate(cr, uid, [voucher.move_id.id])
|
||||
audit_pass += [voucher.id]
|
||||
|
||||
self.write(cr, uid, audit_pass, {'state':'audit'})
|
||||
return result
|
||||
|
||||
def cancel_voucher(self, cr, uid, ids, context={}):
|
||||
move_pool = self.pool.get('account.move')
|
||||
@@ -258,7 +270,6 @@ class account_voucher(osv.osv):
|
||||
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
diff_currency_p = inv.currency_id.id <> company_currency
|
||||
ref = inv.reference
|
||||
|
||||
journal = journal_pool.browse(cr, uid, inv.journal_id.id)
|
||||
if journal.sequence_id:
|
||||
@@ -289,7 +300,7 @@ class account_voucher(osv.osv):
|
||||
'journal_id': inv.journal_id.id,
|
||||
'period_id': inv.period_id.id,
|
||||
'partner_id': False,
|
||||
'ref': ref,
|
||||
'ref': inv.reference,
|
||||
'date': inv.date
|
||||
}
|
||||
if diff_currency_p:
|
||||
@@ -318,7 +329,7 @@ class account_voucher(osv.osv):
|
||||
'journal_id': inv.journal_id.id,
|
||||
'period_id': inv.period_id.id,
|
||||
'partner_id': line.partner_id.id or False,
|
||||
'ref': ref,
|
||||
'ref': line.ref,
|
||||
'date': inv.date,
|
||||
'analytic_account_id': False
|
||||
}
|
||||
|
||||
@@ -199,12 +199,28 @@
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
domain="[('journal_id', '=', active_id)]"
|
||||
domain="[('journal_id','=',active_id)]"
|
||||
id="act_journal_voucher_open"
|
||||
name="Voucher Entries"
|
||||
context="{'journal_id': active_id, 'type':type}"
|
||||
res_model="account.voucher"
|
||||
src_model="account.journal"/>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_review_voucher_list">
|
||||
<field name="name">Vouchers Entries</field>
|
||||
<field name="res_model">account.voucher</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" eval="view_voucher_tree"/>
|
||||
<field name="domain">[('state','=','posted')]</field>
|
||||
<field name="context">{'state':'posted'}</field>
|
||||
<field name="search_view_id" ref="view_voucher_filter_new"/>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_action_review_voucher_list"
|
||||
action="action_review_voucher_list"
|
||||
parent="account.periodical_processing_journal_entries_validation" sequence="2"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -18,16 +18,14 @@
|
||||
<record id="act_proforma" model="workflow.activity">
|
||||
<field name="wkf_id" ref="wkf"/>
|
||||
<field name="name">proforma</field>
|
||||
<field name="action">write({'state':'proforma'})
|
||||
open_voucher()</field>
|
||||
<field name="action">open_voucher()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record id="act_done" model="workflow.activity">
|
||||
<field name="wkf_id" ref="wkf"/>
|
||||
<field name="name">done</field>
|
||||
<field name="action">write({'state':'posted'})
|
||||
proforma_voucher()</field>
|
||||
<field name="action">proforma_voucher()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
@@ -48,7 +46,7 @@
|
||||
<record id="act_audit" model="workflow.activity">
|
||||
<field name="wkf_id" ref="wkf"/>
|
||||
<field name="name">audit</field>
|
||||
<field name="action">write({'state':'audit'})</field>
|
||||
<field name="action">audit_pass()</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
@@ -53,8 +53,7 @@ class account_voucher(osv.osv):
|
||||
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
diff_currency_p = inv.currency_id.id <> company_currency
|
||||
ref = inv.reference
|
||||
|
||||
|
||||
journal = journal_pool.browse(cr, uid, inv.journal_id.id)
|
||||
if journal.sequence_id:
|
||||
name = sequence_pool.get_id(cr, uid, journal.sequence_id.id)
|
||||
@@ -84,7 +83,7 @@ class account_voucher(osv.osv):
|
||||
'journal_id': inv.journal_id.id,
|
||||
'period_id': inv.period_id.id,
|
||||
'partner_id': False,
|
||||
'ref': ref,
|
||||
'ref': inv.reference,
|
||||
'date': inv.date
|
||||
}
|
||||
if diff_currency_p:
|
||||
@@ -113,7 +112,7 @@ class account_voucher(osv.osv):
|
||||
'journal_id': inv.journal_id.id,
|
||||
'period_id': inv.period_id.id,
|
||||
'partner_id': line.partner_id.id or False,
|
||||
'ref': ref,
|
||||
'ref': line.ref,
|
||||
'date': inv.date,
|
||||
'analytic_account_id': False
|
||||
}
|
||||
@@ -143,14 +142,15 @@ class account_voucher(osv.osv):
|
||||
})
|
||||
amount = line.amount
|
||||
|
||||
if line.invoice_id:
|
||||
move_line.update({
|
||||
'invoice_id':line.invoice_id.id
|
||||
})
|
||||
invoice_pool.pay_and_reconcile(cr, uid, [line.invoice_id.id], amount, inv.account_id.id, inv.period_id.id, inv.journal_id.id, False, False, False)
|
||||
|
||||
move_line_id = move_line_pool.create(cr, uid, move_line)
|
||||
line_ids += [move_line_id]
|
||||
|
||||
if line.invoice_id:
|
||||
rec_ids = [move_line_id]
|
||||
for move_line in line.invoice_id.move_id.line_id:
|
||||
if line.account_id.id == move_line.account_id.id:
|
||||
rec_ids += [move_line.id]
|
||||
move_line_pool.reconcile_partial(cr, uid, rec_ids)
|
||||
|
||||
rec = {
|
||||
'move_id': move_id,
|
||||
@@ -197,7 +197,8 @@ class account_voucher_line(osv.osv):
|
||||
|
||||
res.update({
|
||||
'amount': residual,
|
||||
'account_id': invoice.account_id.id
|
||||
'account_id': invoice.account_id.id,
|
||||
'ref':invoice.number
|
||||
})
|
||||
|
||||
return {
|
||||
|
||||
@@ -49,7 +49,7 @@ class account_voucher_unreconcile(osv.osv_memory):
|
||||
recs = [line.reconcile_id.id]
|
||||
|
||||
for rec in recs:
|
||||
obj_reconcile.unlink(cr, uid, rec)
|
||||
reconcile_pool.unlink(cr, uid, rec)
|
||||
|
||||
if res.remove:
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
+160
-87
@@ -1,19 +1,19 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * auction
|
||||
# * auction
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2009-02-03 11:07+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2010-07-08 17:06+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-22 04:13+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: auction
|
||||
@@ -32,16 +32,19 @@ msgid "Set to draft"
|
||||
msgstr "Установить в 'Черновик'"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.deposit,partner_id:0 view:auction.lots:0
|
||||
#: xsl:report.auction.seller.list:0 field:report.deposit.border,seller:0
|
||||
#: field:report.seller.auction,seller:0 field:report.seller.auction2,seller:0
|
||||
#: field:auction.deposit,partner_id:0
|
||||
#: view:auction.lots:0
|
||||
#: xsl:report.auction.seller.list:0
|
||||
#: field:report.deposit.border,seller:0
|
||||
#: field:report.seller.auction,seller:0
|
||||
#: field:report.seller.auction2,seller:0
|
||||
msgid "Seller"
|
||||
msgstr "Продавец"
|
||||
|
||||
#. module: auction
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: auction
|
||||
#: selection:auction.lots.send.aie,date_ask,numerotation:0
|
||||
@@ -87,18 +90,23 @@ msgid "Deposit Form"
|
||||
msgstr "Форма депозита"
|
||||
|
||||
#. module: auction
|
||||
#: rml:auction.bids:0 view:auction.lots:0 field:auction.lots,ach_uid:0
|
||||
#: rml:auction.bids:0
|
||||
#: view:auction.lots:0
|
||||
#: field:auction.lots,ach_uid:0
|
||||
#: wizard_field:auction.lots.buyer_map,check,ach_uid:0
|
||||
#: wizard_field:auction.lots.make_invoice_buyer,init,buyer_id:0
|
||||
#: wizard_field:auction.pay.buy,init,buyer_id:0 rml:buyer.list:0
|
||||
#: wizard_field:auction.pay.buy,init,buyer_id:0
|
||||
#: rml:buyer.list:0
|
||||
#: model:ir.ui.menu,name:auction.auction_report_buyer_menu
|
||||
#: rml:report.auction.buyer.result:0 field:report.buyer.auction,buyer:0
|
||||
#: rml:report.auction.buyer.result:0
|
||||
#: field:report.buyer.auction,buyer:0
|
||||
#: field:report.buyer.auction2,buyer:0
|
||||
msgid "Buyer"
|
||||
msgstr "Покупатель"
|
||||
|
||||
#. module: auction
|
||||
#: field:report.auction.view,nobjects:0 field:report.buyer.auction,object:0
|
||||
#: field:report.auction.view,nobjects:0
|
||||
#: field:report.buyer.auction,object:0
|
||||
msgid "No of objects"
|
||||
msgstr "Кол-во объектов"
|
||||
|
||||
@@ -123,7 +131,8 @@ msgid "Antique/Books, manuscripts, eso."
|
||||
msgstr "Антиквариат/ книги, манускрипты, и т.д"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.deposit:0 model:ir.model,name:auction.model_auction_deposit
|
||||
#: view:auction.deposit:0
|
||||
#: model:ir.model,name:auction.model_auction_deposit
|
||||
msgid "Deposit Border"
|
||||
msgstr "Граница депозита"
|
||||
|
||||
@@ -195,7 +204,8 @@ msgid "Objects by Auction"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lots,lot_num:0 field:report.unclassified.objects,lot_num:0
|
||||
#: field:auction.lots,lot_num:0
|
||||
#: field:report.unclassified.objects,lot_num:0
|
||||
msgid "List Number"
|
||||
msgstr "Номер списка"
|
||||
|
||||
@@ -230,7 +240,8 @@ msgid "Contemporary Art"
|
||||
msgstr "Современное искусство"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.lots:0 view:report.unclassified.objects:0
|
||||
#: view:auction.lots:0
|
||||
#: view:report.unclassified.objects:0
|
||||
msgid "Ref"
|
||||
msgstr "Ссылка"
|
||||
|
||||
@@ -250,7 +261,8 @@ msgid "Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.lots:0 field:report.buyer.auction,total_price:0
|
||||
#: view:auction.lots:0
|
||||
#: field:report.buyer.auction,total_price:0
|
||||
msgid "Total Adj."
|
||||
msgstr "Общий рез-т"
|
||||
|
||||
@@ -260,7 +272,8 @@ msgid "Net margin (%)"
|
||||
msgstr "Чистая маржа (%)"
|
||||
|
||||
#. module: auction
|
||||
#: selection:auction.lots,state:0 selection:report.object.encoded,state:0
|
||||
#: selection:auction.lots,state:0
|
||||
#: selection:report.object.encoded,state:0
|
||||
#: selection:report.seller.auction,state:0
|
||||
#: selection:report.unclassified.objects,state:0
|
||||
msgid "Unsold"
|
||||
@@ -288,7 +301,9 @@ msgid "Seller Costs"
|
||||
msgstr "Стоимости продавца"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.bid:0 view:auction.bid_line:0 view:auction.lots:0
|
||||
#: view:auction.bid:0
|
||||
#: view:auction.bid_line:0
|
||||
#: view:auction.lots:0
|
||||
#: field:auction.lots,bid_lines:0
|
||||
#: model:ir.actions.report.xml,name:auction.bid_auction
|
||||
#: model:ir.ui.menu,name:auction.menu_action_bid_open
|
||||
@@ -311,7 +326,8 @@ msgid "Contact"
|
||||
msgstr "Контакт"
|
||||
|
||||
#. module: auction
|
||||
#: field:report.auction.view,obj_ret:0 field:report.object.encoded,obj_ret:0
|
||||
#: field:report.auction.view,obj_ret:0
|
||||
#: field:report.object.encoded,obj_ret:0
|
||||
#: field:report.object.encoded.manager,obj_ret:0
|
||||
msgid "# obj ret"
|
||||
msgstr ""
|
||||
@@ -352,7 +368,8 @@ msgid "Sold Objects"
|
||||
msgstr "Проданные объекты"
|
||||
|
||||
#. module: auction
|
||||
#: view:report.buyer.auction2:0 view:report.seller.auction2:0
|
||||
#: view:report.buyer.auction2:0
|
||||
#: view:report.seller.auction2:0
|
||||
msgid "Sum net margin"
|
||||
msgstr "Суммарная чистая маржа"
|
||||
|
||||
@@ -362,7 +379,9 @@ msgid "Deposit Border Form"
|
||||
msgstr "Форма границы депозита"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.bid,bid_lines:0 rml:auction.bids:0 rml:bids.lots:0
|
||||
#: field:auction.bid,bid_lines:0
|
||||
#: rml:auction.bids:0
|
||||
#: rml:bids.lots:0
|
||||
#: model:ir.model,name:auction.model_auction_bid_line
|
||||
msgid "Bid"
|
||||
msgstr "Заявка"
|
||||
@@ -373,8 +392,10 @@ msgid "Langage"
|
||||
msgstr "Язык"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.bid_line,lot_id:0 field:auction.lot.history,lot_id:0
|
||||
#: view:auction.lots:0 model:ir.model,name:auction.model_auction_lots
|
||||
#: field:auction.bid_line,lot_id:0
|
||||
#: field:auction.lot.history,lot_id:0
|
||||
#: view:auction.lots:0
|
||||
#: model:ir.model,name:auction.model_auction_lots
|
||||
msgid "Object"
|
||||
msgstr "Объект"
|
||||
|
||||
@@ -407,9 +428,11 @@ msgid "Auction buyer reporting form view"
|
||||
msgstr "Вид вормы отчета покупателя аукцциона"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.dates,state:0 field:auction.lots,state:0
|
||||
#: field:auction.dates,state:0
|
||||
#: field:auction.lots,state:0
|
||||
#: field:report.auction.adjudication,state:0
|
||||
#: field:report.object.encoded,state:0 field:report.seller.auction,state:0
|
||||
#: field:report.object.encoded,state:0
|
||||
#: field:report.seller.auction,state:0
|
||||
#: field:report.unclassified.objects,state:0
|
||||
msgid "Status"
|
||||
msgstr "Статус"
|
||||
@@ -425,7 +448,8 @@ msgid "Antique/Cartoons"
|
||||
msgstr "Antique/ Эскизы"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.lots:0 selection:auction.lots,state:0
|
||||
#: view:auction.lots:0
|
||||
#: selection:auction.lots,state:0
|
||||
#: selection:report.seller.auction,state:0
|
||||
#: selection:report.unclassified.objects,state:0
|
||||
msgid "Sold"
|
||||
@@ -510,7 +534,8 @@ msgid "auction.dates"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: rml:auction.total.rml:0 model:ir.ui.menu,name:auction.auction_buyers_menu
|
||||
#: rml:auction.total.rml:0
|
||||
#: model:ir.ui.menu,name:auction.auction_buyers_menu
|
||||
msgid "Buyers"
|
||||
msgstr "Покупатели"
|
||||
|
||||
@@ -732,7 +757,8 @@ msgid "Antique/Toys"
|
||||
msgstr "Антиквариат/ Игрушки"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.deposit,create_uid:0 field:auction.lots,create_uid:0
|
||||
#: field:auction.deposit,create_uid:0
|
||||
#: field:auction.lots,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Создано"
|
||||
|
||||
@@ -860,7 +886,8 @@ msgid "Gestion emporte"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.lots.list.landscape:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: xsl:report.auction.lots.list.landscape:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Cat. N."
|
||||
msgstr ""
|
||||
|
||||
@@ -895,7 +922,8 @@ msgid "API ID"
|
||||
msgstr "API ID"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.bid,name:0 field:auction.bid_line,bid_id:0
|
||||
#: field:auction.bid,name:0
|
||||
#: field:auction.bid_line,bid_id:0
|
||||
msgid "Bid ID"
|
||||
msgstr "ID заявки"
|
||||
|
||||
@@ -948,13 +976,16 @@ msgid "Antique/Carpet and textilles"
|
||||
msgstr "Антиквариат/ ковры и текстиль"
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.seller.list:0 field:report.object.encoded.manager,adj:0
|
||||
#: xsl:report.auction.seller.list:0
|
||||
#: field:report.object.encoded.manager,adj:0
|
||||
msgid "Adj."
|
||||
msgstr "Рез-т"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lot.history,name:0 field:report.attendance,name:0
|
||||
#: field:report.auction.adjudication,date:0 xsl:report.auction.deposit:0
|
||||
#: field:auction.lot.history,name:0
|
||||
#: field:report.attendance,name:0
|
||||
#: field:report.auction.adjudication,date:0
|
||||
#: xsl:report.auction.deposit:0
|
||||
#: field:report.auction.estimation.adj.category,date:0
|
||||
msgid "Date"
|
||||
msgstr "Дата"
|
||||
@@ -995,12 +1026,14 @@ msgid "Specific Costs"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:report.buyer.auction2:0 view:report.seller.auction2:0
|
||||
#: view:report.buyer.auction2:0
|
||||
#: view:report.seller.auction2:0
|
||||
msgid "Sum adj"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.dates:0 view:report.auction.view2:0
|
||||
#: view:auction.dates:0
|
||||
#: view:report.auction.view2:0
|
||||
msgid "Auctions"
|
||||
msgstr "Аукционы"
|
||||
|
||||
@@ -1035,7 +1068,8 @@ msgid "Aie Category"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: xsl:flagey.huissier:0 rml:report.auction.buyer.result:0
|
||||
#: xsl:flagey.huissier:0
|
||||
#: rml:report.auction.buyer.result:0
|
||||
#: xsl:report.auction.deposit:0
|
||||
msgid "Num"
|
||||
msgstr ""
|
||||
@@ -1083,7 +1117,8 @@ msgid "Detailed lots"
|
||||
msgstr "Подробные лоты"
|
||||
|
||||
#. module: auction
|
||||
#: view:report.object.encoded:0 view:report.object.encoded.manager:0
|
||||
#: view:report.object.encoded:0
|
||||
#: view:report.object.encoded.manager:0
|
||||
msgid "Objects statistics"
|
||||
msgstr "Статистика объектов"
|
||||
|
||||
@@ -1098,7 +1133,8 @@ msgid "Send results to Auction-in-europe.com"
|
||||
msgstr "Отправить результаты на Auction-in-europe.com"
|
||||
|
||||
#. module: auction
|
||||
#: rml:bids.lots:0 rml:bids.phones.details:0
|
||||
#: rml:bids.lots:0
|
||||
#: rml:bids.phones.details:0
|
||||
msgid "Cat.N"
|
||||
msgstr "№ по кат."
|
||||
|
||||
@@ -1142,7 +1178,8 @@ msgid "-"
|
||||
msgstr "-"
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Subtotal:"
|
||||
msgstr "Подитог"
|
||||
|
||||
@@ -1158,7 +1195,8 @@ msgid "Invoice Number"
|
||||
msgstr "Номер счета"
|
||||
|
||||
#. module: auction
|
||||
#: field:report.buyer.auction,date:0 field:report.buyer.auction2,date:0
|
||||
#: field:report.buyer.auction,date:0
|
||||
#: field:report.buyer.auction2,date:0
|
||||
#: field:report.object.encoded,date:0
|
||||
#: field:report.object.encoded.manager,date:0
|
||||
#: field:report.seller.auction,date:0
|
||||
@@ -1181,7 +1219,8 @@ msgid "Name"
|
||||
msgstr "Название"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.deposit,name:0 field:auction.lots,bord_vnd_id:0
|
||||
#: field:auction.deposit,name:0
|
||||
#: field:auction.lots,bord_vnd_id:0
|
||||
#: wizard_field:auction.lots.numerotate,init,bord_vnd_id:0
|
||||
#: field:report.deposit.border,bord:0
|
||||
#: field:report.unclassified.objects,bord_vnd_id:0
|
||||
@@ -1209,7 +1248,8 @@ msgid "Login"
|
||||
msgstr "Учетная запись"
|
||||
|
||||
#. module: auction
|
||||
#: rml:buyer.list:0 xsl:report.auction.seller.list:0
|
||||
#: rml:buyer.list:0
|
||||
#: xsl:report.auction.seller.list:0
|
||||
msgid "To pay"
|
||||
msgstr "К оплате"
|
||||
|
||||
@@ -1229,7 +1269,8 @@ msgid "Seller Form"
|
||||
msgstr "Форма продавца"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lots,lot_type:0 field:report.unclassified.objects,lot_type:0
|
||||
#: field:auction.lots,lot_type:0
|
||||
#: field:report.unclassified.objects,lot_type:0
|
||||
msgid "Object category"
|
||||
msgstr "Категория объекта"
|
||||
|
||||
@@ -1298,7 +1339,8 @@ msgid "Payment's history"
|
||||
msgstr "Журнал платежей"
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Document"
|
||||
msgstr "Документ"
|
||||
|
||||
@@ -1370,7 +1412,8 @@ msgid "Cont. Art/Curiosa"
|
||||
msgstr "Совр. искусство/ Редкости"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.bid,auction_id:0 field:auction.lots,auction_id:0
|
||||
#: field:auction.bid,auction_id:0
|
||||
#: field:auction.lots,auction_id:0
|
||||
#: wizard_field:auction.lots.auction_move,init,auction_id:0
|
||||
#: wizard_field:auction.lots.send.aie,date_ask,dates:0
|
||||
#: wizard_field:auction.lots.send.aie,init,dates:0
|
||||
@@ -1418,7 +1461,8 @@ msgid "Cont. Art/Jewelry"
|
||||
msgstr "Совр. искусство/ Ювелирные изделия"
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.deposit:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: xsl:report.auction.deposit:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Inventory"
|
||||
msgstr ""
|
||||
|
||||
@@ -1428,7 +1472,8 @@ msgid "Next Auctions"
|
||||
msgstr "След. аукционы"
|
||||
|
||||
#. module: auction
|
||||
#: rml:buyer.list:0 xsl:report.auction.seller.list:0
|
||||
#: rml:buyer.list:0
|
||||
#: xsl:report.auction.seller.list:0
|
||||
msgid "#"
|
||||
msgstr "№"
|
||||
|
||||
@@ -1558,14 +1603,16 @@ msgid "Buyer Journal"
|
||||
msgstr "Книга покупателя"
|
||||
|
||||
#. module: auction
|
||||
#: selection:auction.lots,state:0 xsl:report.auction.ach_bordereau:0
|
||||
#: selection:auction.lots,state:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: selection:report.object.encoded,state:0
|
||||
#: selection:report.unclassified.objects,state:0
|
||||
msgid "Paid"
|
||||
msgstr "Оплачено"
|
||||
|
||||
#. module: auction
|
||||
#: rml:bids.lots:0 rml:bids.phones.details:0
|
||||
#: rml:bids.lots:0
|
||||
#: rml:bids.phones.details:0
|
||||
msgid "Phone"
|
||||
msgstr "Телефон"
|
||||
|
||||
@@ -1596,8 +1643,10 @@ msgid "Antique/Sculpture, bronze, eso."
|
||||
msgstr "Антиквариат/ Скульптура, бронза и т.п."
|
||||
|
||||
#. module: auction
|
||||
#: rml:buyer.list:0 xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.seller.list:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: rml:buyer.list:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.seller.list:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Total:"
|
||||
msgstr "Итого:"
|
||||
|
||||
@@ -1743,7 +1792,8 @@ msgid "Plate Number:"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.deposit:0 field:auction.deposit,lot_id:0
|
||||
#: view:auction.deposit:0
|
||||
#: field:auction.deposit,lot_id:0
|
||||
#: model:ir.ui.menu,name:auction.auction_objects_menu
|
||||
msgid "Objects"
|
||||
msgstr "Объекты"
|
||||
@@ -1765,9 +1815,12 @@ msgid "Allow Negative Amount"
|
||||
msgstr "Разрешить отрицательные суммы"
|
||||
|
||||
#. module: auction
|
||||
#: rml:auction.bids:0 view:auction.lots:0 rml:auction.total.rml:0
|
||||
#: rml:auction.bids:0
|
||||
#: view:auction.lots:0
|
||||
#: rml:auction.total.rml:0
|
||||
#: model:ir.ui.menu,name:auction.auction_report_auction_menu
|
||||
#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.deposit:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.deposit:0
|
||||
msgid "Auction"
|
||||
msgstr "Аукцион"
|
||||
|
||||
@@ -1777,12 +1830,17 @@ msgid "Cont. Art/Shows"
|
||||
msgstr "Совр. искусство/ Выставки"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.dates,name:0 field:auction.lot.history,auction_id:0
|
||||
#: field:auction.dates,name:0
|
||||
#: field:auction.lot.history,auction_id:0
|
||||
#: field:report.auction.adjudication,name:0
|
||||
#: field:report.auction.view,auction_id:0 field:report.auction.view2,auction:0
|
||||
#: field:report.auction.view2,date:0 field:report.buyer.auction,auction:0
|
||||
#: field:report.buyer.auction2,auction:0 field:report.seller.auction,auction:0
|
||||
#: field:report.seller.auction2,auction:0 field:report.seller.auction2,date:0
|
||||
#: field:report.auction.view,auction_id:0
|
||||
#: field:report.auction.view2,auction:0
|
||||
#: field:report.auction.view2,date:0
|
||||
#: field:report.buyer.auction,auction:0
|
||||
#: field:report.buyer.auction2,auction:0
|
||||
#: field:report.seller.auction,auction:0
|
||||
#: field:report.seller.auction2,auction:0
|
||||
#: field:report.seller.auction2,date:0
|
||||
#: field:report.unclassified.objects,auction:0
|
||||
msgid "Auction date"
|
||||
msgstr "Дата аукциона"
|
||||
@@ -1934,7 +1992,8 @@ msgstr "Первый день экпозиции"
|
||||
|
||||
#. module: auction
|
||||
#: wizard_view:auction.lots.auction_move,init:0
|
||||
msgid "Warning, this will erase the object adjudication price and its buyer !"
|
||||
msgid ""
|
||||
"Warning, this will erase the object adjudication price and its buyer !"
|
||||
msgstr "Внимание, это удалит результат цены объекта и покупателя!"
|
||||
|
||||
#. module: auction
|
||||
@@ -1958,14 +2017,16 @@ msgid "Income Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lots,net_revenue:0 field:report.auction.view2,net_revenue:0
|
||||
#: field:auction.lots,net_revenue:0
|
||||
#: field:report.auction.view2,net_revenue:0
|
||||
#: field:report.object.encoded.manager,net_revenue:0
|
||||
#: field:report.seller.auction2,net_revenue:0
|
||||
msgid "Net revenue"
|
||||
msgstr "Чистая выручка"
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.deposit:0 xsl:report.auction.lots.list.landscape:0
|
||||
#: xsl:report.auction.deposit:0
|
||||
#: xsl:report.auction.lots.list.landscape:0
|
||||
msgid "Limit"
|
||||
msgstr "Лимит"
|
||||
|
||||
@@ -2037,7 +2098,8 @@ msgid "Closed"
|
||||
msgstr "Закрыто"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lots,obj_comm:0 field:report.unclassified.objects,obj_comm:0
|
||||
#: field:auction.lots,obj_comm:0
|
||||
#: field:report.unclassified.objects,obj_comm:0
|
||||
msgid "Commission"
|
||||
msgstr "Комиссия"
|
||||
|
||||
@@ -2057,7 +2119,8 @@ msgid "Employee"
|
||||
msgstr "Сотрудник"
|
||||
|
||||
#. module: auction
|
||||
#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Adj.(EUR)"
|
||||
msgstr "Рез-т(EUR)"
|
||||
|
||||
@@ -2134,7 +2197,8 @@ msgid "Invoiced"
|
||||
msgstr "Выставлен счет"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.lots:0 selection:auction.lots,state:0
|
||||
#: view:auction.lots:0
|
||||
#: selection:auction.lots,state:0
|
||||
msgid "Taken away"
|
||||
msgstr "Забрано"
|
||||
|
||||
@@ -2171,7 +2235,8 @@ msgid "Error ! You can not create recursive associated members."
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: selection:auction.dates,state:0 selection:auction.lots,state:0
|
||||
#: selection:auction.dates,state:0
|
||||
#: selection:auction.lots,state:0
|
||||
#: selection:report.auction.adjudication,state:0
|
||||
#: selection:report.object.encoded,state:0
|
||||
#: selection:report.seller.auction,state:0
|
||||
@@ -2200,7 +2265,8 @@ msgid "Adj"
|
||||
msgstr "Рез-т"
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.dates:0 model:ir.ui.menu,name:auction.auction_date_menu
|
||||
#: view:auction.dates:0
|
||||
#: model:ir.ui.menu,name:auction.auction_date_menu
|
||||
msgid "Auction Dates"
|
||||
msgstr "Даты аукциона"
|
||||
|
||||
@@ -2346,11 +2412,16 @@ msgid "Report Sign In/Out"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:auction.deposit:0 field:auction.deposit,info:0 view:auction.lots:0
|
||||
#: view:auction.deposit:0
|
||||
#: field:auction.deposit,info:0
|
||||
#: view:auction.lots:0
|
||||
#: wizard_field:auction.lots.numerotate,search,obj_desc:0
|
||||
#: rml:bids.phones.details:0 xsl:flagey.huissier:0
|
||||
#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.deposit:0
|
||||
#: xsl:report.auction.lots.list.landscape:0 xsl:report.auction.vnd_bordereau:0
|
||||
#: rml:bids.phones.details:0
|
||||
#: xsl:flagey.huissier:0
|
||||
#: xsl:report.auction.ach_bordereau:0
|
||||
#: xsl:report.auction.deposit:0
|
||||
#: xsl:report.auction.lots.list.landscape:0
|
||||
#: xsl:report.auction.vnd_bordereau:0
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
@@ -2360,7 +2431,8 @@ msgid "Cont. Art/Arts"
|
||||
msgstr "Совр. искусство/ Ремесла"
|
||||
|
||||
#. module: auction
|
||||
#: field:auction.lots,obj_price:0 field:report.auction.view,adj_price:0
|
||||
#: field:auction.lots,obj_price:0
|
||||
#: field:report.auction.view,adj_price:0
|
||||
#: field:report.unclassified.objects,obj_price:0
|
||||
msgid "Adjudication price"
|
||||
msgstr "Цена результата"
|
||||
@@ -2422,7 +2494,8 @@ msgid "Pay objects"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:report.object.encoded:0 view:report.object.encoded.manager:0
|
||||
#: view:report.object.encoded:0
|
||||
#: view:report.object.encoded.manager:0
|
||||
msgid "# objects"
|
||||
msgstr "Кол-во объектов"
|
||||
|
||||
@@ -2490,12 +2563,12 @@ msgstr "Заказы"
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Objects by day"
|
||||
msgstr "Объекты по дням"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: model:ir.ui.menu,name:auction.menu_board_auction_manager
|
||||
msgid "Auction Manager"
|
||||
msgstr "Менеджер аукциона"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
@@ -2505,7 +2578,7 @@ msgstr ""
|
||||
#. module: auction
|
||||
#: model:ir.ui.menu,name:auction.menu_board_auction
|
||||
msgid "Auction Member"
|
||||
msgstr "Участник аукциона"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: model:ir.actions.act_window,name:auction.open_board_auction
|
||||
@@ -2515,7 +2588,7 @@ msgstr ""
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Auction manager "
|
||||
msgstr "Менелжер аукциона "
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: model:ir.module.module,shortdesc:auction.module_meta_information
|
||||
@@ -2525,49 +2598,49 @@ msgstr ""
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Estimations/Adjudication"
|
||||
msgstr "Оценка / Результат"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Total Adjudications"
|
||||
msgstr "Итоговые результаты"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Latest objects"
|
||||
msgstr "Новейшие объекты"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Latest deposits"
|
||||
msgstr "Новейшие депозиты"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Menu"
|
||||
msgstr "Меню"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "My objects By Day"
|
||||
msgstr "Мои объекты по дням"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "My board"
|
||||
msgstr "Моя панель"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: model:ir.actions.act_window,name:auction.open_board_auction_manager
|
||||
msgid "Auction manager board"
|
||||
msgstr "Панель менеджера аукциона"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "Min/Adj/Max"
|
||||
msgstr "Ми/Рез-т/Макс"
|
||||
msgstr ""
|
||||
|
||||
#. module: auction
|
||||
#: view:board.board:0
|
||||
msgid "My Latest Objects"
|
||||
msgstr "Мои новейшие объекты"
|
||||
msgstr ""
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
from datetime import datetime
|
||||
from osv import fields, osv, orm
|
||||
from tools.translate import _
|
||||
import mx.DateTime
|
||||
from datetime import datetime
|
||||
from datetime import timedelta
|
||||
import pooler
|
||||
import re
|
||||
import time
|
||||
@@ -105,7 +106,9 @@ the rule to mark CC(mail to any other person defined in actions)."),
|
||||
'act_mail_to_email': fields.char('Mail to these Emails', size=128, \
|
||||
help="Email-id of the persons whom mail is to be sent"),
|
||||
'act_mail_body': fields.text('Mail body', help="Content of mail"),
|
||||
'regex_name': fields.char('Regular Expression on Model Name', size=128),
|
||||
'regex_name': fields.char('Regex on Resource Name', size=128, help="Regular expression for mathching name of the resource\
|
||||
\ne.g.: urgent.* will search for records having name starting with urgent\
|
||||
\nNote: This is case sensitive search."),
|
||||
'server_action_id': fields.many2one('ir.actions.server', 'Server Action', help="Describes the action name.\neg:on which object which action to be taken on basis of which condition"),
|
||||
'filter_id':fields.many2one('ir.filters', 'Filter', required=False),
|
||||
'domain':fields.char('Domain', size=124, required=False, readonly=False),
|
||||
@@ -352,23 +355,23 @@ the rule to mark CC(mail to any other person defined in actions)."),
|
||||
|
||||
base = False
|
||||
if hasattr(obj, 'create_date') and action.trg_date_type=='create':
|
||||
base = mx.DateTime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
|
||||
base = datetime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
|
||||
elif hasattr(obj, 'create_date') and action.trg_date_type=='action_last':
|
||||
if hasattr(obj, 'date_action_last') and obj.date_action_last:
|
||||
base = mx.DateTime.strptime(obj.date_action_last, '%Y-%m-%d %H:%M:%S')
|
||||
base = datetime.strptime(obj.date_action_last, '%Y-%m-%d %H:%M:%S')
|
||||
else:
|
||||
base = mx.DateTime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
|
||||
base = datetime.strptime(obj.create_date[:19], '%Y-%m-%d %H:%M:%S')
|
||||
elif hasattr(obj, 'date_deadline') and action.trg_date_type=='deadline' \
|
||||
and obj.date_deadline:
|
||||
base = mx.DateTime.strptime(obj.date_deadline, '%Y-%m-%d %H:%M:%S')
|
||||
base = datetime.strptime(obj.date_deadline, '%Y-%m-%d %H:%M:%S')
|
||||
elif hasattr(obj, 'date') and action.trg_date_type=='date' and obj.date:
|
||||
base = mx.DateTime.strptime(obj.date, '%Y-%m-%d %H:%M:%S')
|
||||
base = datetime.strptime(obj.date, '%Y-%m-%d %H:%M:%S')
|
||||
if base:
|
||||
fnct = {
|
||||
'minutes': lambda interval: mx.DateTime.RelativeDateTime(minutes=interval),
|
||||
'day': lambda interval: mx.DateTime.RelativeDateTime(days=interval),
|
||||
'hour': lambda interval: mx.DateTime.RelativeDateTime(hours=interval),
|
||||
'month': lambda interval: mx.DateTime.RelativeDateTime(months=interval),
|
||||
'minutes': lambda interval: timedelta(minutes=interval),
|
||||
'day': lambda interval: timedelta(days=interval),
|
||||
'hour': lambda interval: timedelta(hours=interval),
|
||||
'month': lambda interval: timedelta(months=interval),
|
||||
}
|
||||
d = base + fnct[action.trg_date_range_type](action.trg_date_range)
|
||||
dt = d.strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<page string="Conditions">
|
||||
<group col="2" colspan="2" name="model">
|
||||
<separator colspan="4" string="Conditions on Model Fields"/>
|
||||
<field name="regex_name" string="Regex on Model Name" colspan="2"/>
|
||||
<field name="regex_name" colspan="2"/>
|
||||
<field name="trg_user_id"/>
|
||||
</group>
|
||||
<group col="2" colspan="2" name="partner">
|
||||
|
||||
@@ -317,7 +317,7 @@ class calendar_attendee(osv.osv):
|
||||
obj = self.pool.get('res.lang')
|
||||
ids = obj.search(cr, uid, [])
|
||||
res = obj.read(cr, uid, ids, ['code', 'name'], context=context)
|
||||
res = [((r['code']).replace('_', '-'), r['name']) for r in res]
|
||||
res = [((r['code']).replace('_', '-').lower(), r['name']) for r in res]
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
@@ -378,6 +378,10 @@ property or property parameter."),
|
||||
}
|
||||
_defaults = {
|
||||
'state': 'needs-action',
|
||||
'user_id': lambda self, cr, uid, ctx: uid,
|
||||
'role': 'req-participant',
|
||||
'rsvp': True,
|
||||
'cutype': 'individual',
|
||||
}
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
@@ -542,13 +546,13 @@ property or property parameter."),
|
||||
context = {}
|
||||
|
||||
for vals in self.browse(cr, uid, ids, context=context):
|
||||
user = vals.user_id
|
||||
if user:
|
||||
mod_obj = self.pool.get(vals.ref._name)
|
||||
if vals.ref:
|
||||
if vals.ref.user_id.id != user.id:
|
||||
defaults = {'user_id': user.id}
|
||||
new_event = mod_obj.copy(cr, uid, vals.ref.id, default=defaults, context=context)
|
||||
#user = vals.user_id
|
||||
#if user:
|
||||
# mod_obj = self.pool.get(vals.ref._name)
|
||||
# if vals.ref:
|
||||
# if vals.ref.user_id.id != user.id:
|
||||
# defaults = {'user_id': user.id}
|
||||
# new_event = mod_obj.copy(cr, uid, vals.ref.id, default=defaults, context=context)
|
||||
self.write(cr, uid, vals.id, {'state': 'accepted'}, context)
|
||||
|
||||
return True
|
||||
@@ -793,6 +797,7 @@ class calendar_alarm(osv.osv):
|
||||
@param use_new_cursor: False or the dbname
|
||||
@param context: A standard dictionary for contextual values
|
||||
"""
|
||||
return True # XXX FIXME REMOVE THIS AFTER FIXING get_recurrent_dates!!
|
||||
if not context:
|
||||
context = {}
|
||||
current_datetime = datetime.now()
|
||||
@@ -1415,6 +1420,8 @@ true, it will allow you to hide the event alarm information without removing it.
|
||||
until_date = arg[2]
|
||||
res = super(calendar_event, self).search(cr, uid, args_without_date, \
|
||||
offset, limit, order, context, count)
|
||||
#Search Event ID which are invitted
|
||||
|
||||
return self.get_recurrent_ids(cr, uid, res, start_date, until_date, limit)
|
||||
|
||||
|
||||
|
||||
@@ -76,13 +76,26 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Invitation details">
|
||||
<field name="email" string="Invitation To"/>
|
||||
<field name="user_id" string="Internal User" />
|
||||
<field name="partner_address_id" string="Contact" />
|
||||
<field name="role" />
|
||||
<field name="sent_by_uid" string="Invitation From" />
|
||||
<field name="role" string="My Role"/>
|
||||
<field name="cutype" string="Invitation type"/>
|
||||
<field name="state" />
|
||||
<field name="cutype" invisible="1"/>
|
||||
<field name="rsvp" invisible="1"/>
|
||||
<field name="rsvp" string="Required to Join"/>
|
||||
<button name="do_tentative" states="needs-action,declined,accepted"
|
||||
string="Uncertain" type="object"
|
||||
icon="terp-crm" />
|
||||
<button name="do_accept" string="Accept"
|
||||
states="needs-action,tentative,declined"
|
||||
type="object" icon="gtk-apply" />
|
||||
<button name="do_decline" string="Decline"
|
||||
states="needs-action,tentative,accepted"
|
||||
type="object" icon="gtk-cancel" />
|
||||
<button
|
||||
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
|
||||
string="Delegate" type="action"
|
||||
icon="gtk-sort-descending"
|
||||
states="needs-action,tentative,declined,accepted"
|
||||
context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -103,7 +116,7 @@
|
||||
separator="1" help="Declined Invitations" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="email" select='1'/>
|
||||
<field name="sent_by_uid" select="1"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="cutype" string="Invitation type" select="1"/>
|
||||
<field name="event_date" select="1"/>
|
||||
|
||||
@@ -75,7 +75,8 @@ send an Email to Invited Person')
|
||||
obj = self.pool.get(model)
|
||||
res_obj = obj.browse(cr, uid, context_id)
|
||||
att_obj = self.pool.get('calendar.attendee')
|
||||
|
||||
user_obj = self.pool.get('res.users')
|
||||
current_user = user_obj.browse(cr, uid, uid, context=context)
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
type = datas.get('type')
|
||||
vals = []
|
||||
@@ -89,7 +90,7 @@ send an Email to Invited Person')
|
||||
else:
|
||||
return {}
|
||||
if type == 'internal':
|
||||
user_obj = self.pool.get('res.users')
|
||||
|
||||
if not datas.get('user_ids'):
|
||||
raise osv.except_osv(_('Error!'), ("Please select any User"))
|
||||
for user_id in datas.get('user_ids'):
|
||||
@@ -139,7 +140,7 @@ send an Email to Invited Person')
|
||||
self._columns['type'].selection))
|
||||
raise osv.except_osv(_('Error!'), ("%s must have an email Address to send mail") %(name[0]))
|
||||
att_obj._send_mail(cr, uid, attendees, mail_to, \
|
||||
email_from= tools.config.get('email_from', False))
|
||||
email_from = current_user.user_email or tools.config.get('email_from', False))
|
||||
|
||||
return {}
|
||||
|
||||
|
||||
@@ -7,24 +7,24 @@ msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
|
||||
"PO-Revision-Date: 2010-04-13 07:22+0000\n"
|
||||
"Last-Translator: grisha <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-07-08 15:37+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-06-22 04:01+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_contact:0
|
||||
msgid "Contact Seq."
|
||||
msgstr ""
|
||||
msgstr "Последовательность контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.model,name:base_contact.model_res_partner_contact
|
||||
msgid "res.partner.contact"
|
||||
msgstr ""
|
||||
msgstr "Контакт партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.model:0
|
||||
@@ -37,7 +37,7 @@ msgstr ""
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,function_id:0
|
||||
msgid "Partner Function"
|
||||
msgstr ""
|
||||
msgstr "Функции партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
|
||||
@@ -52,12 +52,12 @@ msgstr "Контакты"
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,sequence_partner:0
|
||||
msgid "Partner Seq."
|
||||
msgstr ""
|
||||
msgstr "Последовательность партнеров"
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Current"
|
||||
msgstr ""
|
||||
msgstr "Текущий"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,first_name:0
|
||||
@@ -72,32 +72,32 @@ msgstr ""
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,other:0
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Другое"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
|
||||
msgid "Contact to function"
|
||||
msgstr ""
|
||||
msgstr "Функции контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.actions.act_window:0
|
||||
msgid "Invalid model name in the action definition."
|
||||
msgstr ""
|
||||
msgstr "Недопустимое имя модели в определении действия."
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Partner to address"
|
||||
msgstr ""
|
||||
msgstr "Адрес партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.address:0
|
||||
msgid "# of Contacts"
|
||||
msgstr ""
|
||||
msgstr "Кол-во контактных лиц"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,other:0
|
||||
msgid "Additional phone field"
|
||||
msgstr ""
|
||||
msgstr "Дополнительное поле телефона"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,name:base_contact.process_node_function0
|
||||
@@ -107,7 +107,7 @@ msgstr "Функция"
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,fax:0
|
||||
msgid "Fax"
|
||||
msgstr ""
|
||||
msgstr "Факс"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,lang_id:0
|
||||
@@ -137,7 +137,7 @@ msgstr "Функции контакта"
|
||||
#. module: base_contact
|
||||
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
|
||||
msgid "Base Contact"
|
||||
msgstr ""
|
||||
msgstr "Основной контакт"
|
||||
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,sequence_partner:0
|
||||
@@ -145,6 +145,7 @@ msgid ""
|
||||
"Order of importance of this job title in the list of job title of the linked "
|
||||
"partner"
|
||||
msgstr ""
|
||||
"С учетом важности этой работы названия в списке Должность связанного партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,email:0
|
||||
@@ -155,7 +156,7 @@ msgstr "Эл. почта"
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_stop:0
|
||||
msgid "Date Stop"
|
||||
msgstr ""
|
||||
msgstr "Дата Остановки"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
@@ -167,7 +168,7 @@ msgstr "Адрес"
|
||||
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
|
||||
#: model:ir.ui.menu,name:base_contact.menu_action_res_partner_job
|
||||
msgid "Contact's Jobs"
|
||||
msgstr ""
|
||||
msgstr "Должность контакта"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,country_id:0
|
||||
@@ -185,7 +186,7 @@ msgstr ""
|
||||
#: field:res.partner.address,job_id:0
|
||||
#: field:res.partner.contact,job_id:0
|
||||
msgid "Main Job"
|
||||
msgstr ""
|
||||
msgstr "Основная должность"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner:0
|
||||
@@ -200,7 +201,7 @@ msgstr ""
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
|
||||
msgid "Define partners and their addresses."
|
||||
msgstr ""
|
||||
msgstr "Определить партнеров и их адреса."
|
||||
|
||||
#. module: base_contact
|
||||
#: constraint:ir.ui.view:0
|
||||
@@ -220,7 +221,7 @@ msgstr ""
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,extension:0
|
||||
msgid "Extension"
|
||||
msgstr ""
|
||||
msgstr "Расширение"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,mobile:0
|
||||
@@ -230,12 +231,12 @@ msgstr "Моб. тел."
|
||||
#. module: base_contact
|
||||
#: help:res.partner.job,extension:0
|
||||
msgid "Internal/External extension phone number"
|
||||
msgstr ""
|
||||
msgstr "Внутренний / внешний расширение телефонного номера"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_contacts0
|
||||
msgid "People you work with."
|
||||
msgstr ""
|
||||
msgstr "Люди с которыми вы работает"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
@@ -246,7 +247,7 @@ msgstr "Доп. информация"
|
||||
#: view:res.partner.contact:0
|
||||
#: field:res.partner.contact,job_ids:0
|
||||
msgid "Functions and Addresses"
|
||||
msgstr ""
|
||||
msgstr "Функции и Адреса"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,active:0
|
||||
@@ -261,7 +262,7 @@ msgstr "Контакт"
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_partners0
|
||||
msgid "Companies you work with."
|
||||
msgstr ""
|
||||
msgstr "Организации с которыми вы работаете"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,partner_id:0
|
||||
@@ -276,7 +277,7 @@ msgstr ""
|
||||
#. module: base_contact
|
||||
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
|
||||
msgid "Partner Contacts"
|
||||
msgstr ""
|
||||
msgstr "Контакты партнера"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
@@ -297,7 +298,7 @@ msgstr "Адреса"
|
||||
#. module: base_contact
|
||||
#: model:process.node,note:base_contact.process_node_addresses0
|
||||
msgid "Working and private addresses."
|
||||
msgstr ""
|
||||
msgstr "Рабочие и дополнительные адреса."
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,name:0
|
||||
@@ -307,18 +308,18 @@ msgstr "Фамилия"
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
msgstr "Состояние"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
#: view:res.partner.job:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
msgstr "Основной"
|
||||
|
||||
#. module: base_contact
|
||||
#: selection:res.partner.job,state:0
|
||||
msgid "Past"
|
||||
msgstr ""
|
||||
msgstr "Прошлые"
|
||||
|
||||
#. module: base_contact
|
||||
#: view:res.partner.contact:0
|
||||
@@ -338,12 +339,12 @@ msgstr "Партнер"
|
||||
#. module: base_contact
|
||||
#: field:res.partner.job,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
msgstr "Дата начала"
|
||||
|
||||
#. module: base_contact
|
||||
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
|
||||
msgid "Define functions and address."
|
||||
msgstr ""
|
||||
msgstr "Определить функции и адреса"
|
||||
|
||||
#. module: base_contact
|
||||
#: field:res.partner.contact,website:0
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:49+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base_iban
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<field name="stock" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="mrp" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="account" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="purchase" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)" groups="base.group_extended"/> <field name="misc_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="misc_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<field name="report_designer" groups="base.group_extended" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
<separator string="Install Specific Business Modules" colspan="4"/>
|
||||
<field name="association" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
|
||||
|
||||
@@ -528,6 +528,7 @@ class Calendar(CalDAV, osv.osv):
|
||||
})
|
||||
self.__attribute__ = get_attribute_mapping(cr, uid, child.name.lower(), context=context)
|
||||
val = self.parse_ics(cr, uid, child, cal_children=cal_children, context=context)
|
||||
val.update({'user_id': uid})
|
||||
vals.append(val)
|
||||
obj = self.pool.get(cal_children[child.name.lower()])
|
||||
if hasattr(obj, 'check_import'):
|
||||
@@ -1052,7 +1053,8 @@ class Attendee(CalDAV, osv.osv_memory):
|
||||
if cn_val:
|
||||
attendee_add.params['CN'] = cn_val
|
||||
if not attendee['email']:
|
||||
raise osv.except_osv(_('Error !'), _('Attendee must have an Email Id'))
|
||||
attendee_add.value = 'MAILTO:'
|
||||
#raise osv.except_osv(_('Error !'), _('Attendee must have an Email Id'))
|
||||
elif attendee['email']:
|
||||
attendee_add.value = 'MAILTO:' + attendee['email']
|
||||
return vevent
|
||||
|
||||
@@ -121,7 +121,7 @@ Create dashboard for CRM that includes:
|
||||
],
|
||||
'test': [
|
||||
'test/test_crm_lead.yml',
|
||||
'test/test_crm_meeting.yml',
|
||||
#'test/test_crm_meeting.yml',
|
||||
'test/test_crm_opportunity.yml',
|
||||
'test/test_crm_phonecall.yml',
|
||||
],
|
||||
|
||||
@@ -4,53 +4,69 @@
|
||||
<!--
|
||||
Board for statistical view of the sections
|
||||
-->
|
||||
<record model="ir.ui.view" id="view_crm_lead_stage_graph1">
|
||||
<field name="name">Leads By Stage - Graph</field>
|
||||
<field name="model">crm.lead.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Leads By Stage" type="pie">
|
||||
<field name="stage_id"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_crm_opportunity_categ_graph">
|
||||
<field name="name">report.crm.opportunity.categ.graph</field>
|
||||
<record model="ir.ui.view" id="view_crm_opportunity_categ_graph">
|
||||
<field name="name">Opportunities By Categories - Graph</field>
|
||||
<field name="model">crm.lead.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Opportunity by Sales Team and Categories" type="bar" orientation="horizontal">
|
||||
<graph string="Opportunity by Categories" type="bar" orientation="horizontal">
|
||||
<field name="categ_id"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Opportunities By Categories"
|
||||
domain="[('state','!=','done'),('state','!=','cancel')]"
|
||||
res_model="crm.lead.report"
|
||||
view_type="form"
|
||||
view_mode="graph,tree,form"
|
||||
view_id="view_crm_opportunity_categ_graph"
|
||||
id="act_oppor_categ"/>
|
||||
<record model="ir.ui.view" id="view_crm_opportunity_stage_graph">
|
||||
<field name="name">Opportunities By Stage - Graph</field>
|
||||
<field name="model">crm.lead.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Opportunities By Stage" type="pie">
|
||||
<field name="stage_id"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_crm_opportunity_user_stage_graph">
|
||||
<field name="name">Opportunities By Stage Per User - Graph</field>
|
||||
<field name="model">crm.lead.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Opportunities By Stage" type="bar">
|
||||
<field name="stage_id"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field name="user_id" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="act_leads_state">
|
||||
<record model="ir.actions.act_window" id="act_oppor_categ">
|
||||
<field name="res_model">Opportunities By Categories</field>
|
||||
<field name="res_model">crm.lead.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree,form</field>
|
||||
<field name="view_id" ref="view_crm_lead_stage_graph1"/>
|
||||
<field name="view_id" ref="view_crm_opportunity_categ_graph"/>
|
||||
<field name="domain">[('state','!=','done'),('state','!=','cancel')]</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Leads Of The Month By User"
|
||||
domain="[('month','=',time.strftime('%%m')),('state','!=','cancel')]"
|
||||
res_model="crm.lead.report"
|
||||
view_type="form"
|
||||
view_mode="graph,tree,form"
|
||||
view_id="view_crm_lead_stage_graph1"
|
||||
id="act_leads_month_user"/>
|
||||
<record model="ir.actions.act_window" id="act_opportunity_stage">
|
||||
<field name="res_model">crm.lead.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree,form</field>
|
||||
<field name="view_id" ref="view_crm_opportunity_stage_graph"/>
|
||||
<field name="domain">[('state','!=','done'),('state','!=','cancel')]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="act_oppor_stage_user">
|
||||
<field name="res_model">Number of Opportunities by stage</field>
|
||||
<field name="res_model">crm.lead.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree,form</field>
|
||||
<field name="view_id" ref="view_crm_opportunity_user_stage_graph"/>
|
||||
<field name="domain">[('state','!=','cancel')]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="board_crm_statistical_form">
|
||||
<field name="name">CRM - Statistical Dashboard Form</field>
|
||||
@@ -68,8 +84,8 @@
|
||||
width="250"/>
|
||||
|
||||
<action
|
||||
string="Leads By Stage"
|
||||
name="%(act_leads_state)d"
|
||||
string="Opportunities By Stage"
|
||||
name="%(act_opportunity_stage)d"
|
||||
height="200"
|
||||
colspan="4"/>
|
||||
|
||||
@@ -77,8 +93,8 @@
|
||||
<child2>
|
||||
|
||||
<action
|
||||
string="Leads Of The Month By User"
|
||||
name="%(act_leads_month_user)d"
|
||||
string="Number of Opportunities by Stage and User"
|
||||
name="%(act_oppor_stage_user)d"
|
||||
colspan="4"/>
|
||||
|
||||
</child2>
|
||||
|
||||
+5
-3
@@ -268,12 +268,13 @@ class crm_case(object):
|
||||
"""
|
||||
cases = self.browse(cr, uid, ids)
|
||||
for case in cases:
|
||||
data = {'active': True, 'user_id': False}
|
||||
data = {'active': True}
|
||||
|
||||
if case.section_id.parent_id:
|
||||
data['section_id'] = case.section_id.parent_id.id
|
||||
if case.section_id.parent_id.user_id:
|
||||
data['user_id'] = case.section_id.parent_id.user_id.id
|
||||
if case.section_id.parent_id.change_responsible:
|
||||
if case.section_id.parent_id.user_id:
|
||||
data['user_id'] = case.section_id.parent_id.user_id.id
|
||||
else:
|
||||
raise osv.except_osv(_('Error !'), _('You can not escalate, You are already at the top level regarding your sales-team category.'))
|
||||
self.write(cr, uid, [case.id], data)
|
||||
@@ -439,6 +440,7 @@ class crm_case_section(osv.osv):
|
||||
'active': fields.boolean('Active', help="If the active field is set to \
|
||||
true, it will allow you to hide the sales team without removing it."),
|
||||
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
|
||||
'change_responsible': fields.boolean('Change Responsible', help="Set responsible of this Sales team on escalation to this team"),
|
||||
'user_id': fields.many2one('res.users', 'Responsible User'),
|
||||
'member_ids':fields.many2many('res.users', 'sale_member_rel', 'section_id', 'member_id', 'Team Members'),
|
||||
'reply_to': fields.char('Reply-To', size=64, help="The email address put \
|
||||
|
||||
@@ -24,7 +24,6 @@ import re
|
||||
import os
|
||||
import base64
|
||||
import tools
|
||||
import mx.DateTime
|
||||
|
||||
from tools.translate import _
|
||||
from osv import fields
|
||||
@@ -80,6 +79,26 @@ this if you want the rule to send an email to the partner."),
|
||||
if hasattr(obj, 'categ_id'):
|
||||
ok = ok and (not action.trg_categ_id or action.trg_categ_id.id==obj.categ_id.id)
|
||||
|
||||
#Cheking for history
|
||||
regex = action.regex_history
|
||||
result_history = True
|
||||
if regex:
|
||||
res = False
|
||||
ptrn = re.compile(str(regex))
|
||||
for history in obj.message_ids:
|
||||
_result = ptrn.search(str(history.name))
|
||||
if _result:
|
||||
res = True
|
||||
break
|
||||
result_history = res
|
||||
ok = ok and (not regex or result_history)
|
||||
|
||||
res_count = True
|
||||
if action.trg_max_history:
|
||||
res_count = False
|
||||
if len(obj.message_ids) >= action.trg_max_history:
|
||||
res_count = True
|
||||
ok = ok and res_count
|
||||
return ok
|
||||
|
||||
def do_action(self, cr, uid, action, model_obj, obj, context={}):
|
||||
|
||||
+13
-2
@@ -31,6 +31,13 @@ import collections
|
||||
import binascii
|
||||
import tools
|
||||
|
||||
|
||||
CRM_LEAD_PENDING_STATES = (
|
||||
crm.AVAILABLE_STATES[2][0], # Cancelled
|
||||
crm.AVAILABLE_STATES[3][0], # Done
|
||||
crm.AVAILABLE_STATES[4][0], # Pending
|
||||
)
|
||||
|
||||
class crm_lead(osv.osv, crm_case):
|
||||
""" CRM Lead Case """
|
||||
_name = "crm.lead"
|
||||
@@ -95,6 +102,10 @@ class crm_lead(osv.osv, crm_case):
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
# Overridden from res.partner.address:
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='set null',
|
||||
select=True, help="Optional linked partner, usually after conversion of the lead"),
|
||||
|
||||
# From crm.case
|
||||
'name': fields.char('Name', size=64),
|
||||
'active': fields.boolean('Active', required=False),
|
||||
@@ -334,8 +345,8 @@ and users"),
|
||||
# previous state, so we have to loop:
|
||||
for case in self.browse(cr, uid, ids, context=context):
|
||||
values = dict(vals)
|
||||
if case.state == crm.AVAILABLE_STATES[4][0]: #pending
|
||||
values.update(state=crm.AVAILABLE_STATES[1][0]) #open
|
||||
if case.state in CRM_LEAD_PENDING_STATES:
|
||||
values.update(state=crm.AVAILABLE_STATES[1][0]) #re-open
|
||||
res = self.write(cr, uid, [case.id], values, context=context)
|
||||
|
||||
return res
|
||||
|
||||
@@ -1,81 +1,105 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<data>
|
||||
|
||||
|
||||
<!-- CASE STATUS(stage_id) -->
|
||||
<record model="crm.case.stage" id="stage_lead1">
|
||||
<field name="name">New</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_lead2">
|
||||
<field name="name">Assigned</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_lead3">
|
||||
<field name="name">In Process</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_lead4">
|
||||
<field name="name">Converted</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_lead5">
|
||||
<field name="name">Recycled</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_lead6">
|
||||
<field name="name">Dead</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<!-- CASE STATUS(stage_id) -->
|
||||
<record model="crm.case.stage" id="stage_lead1">
|
||||
<field name="name">New</field>
|
||||
<field eval="'10'" name="probability"/>
|
||||
<field eval="'1'" name="sequence"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- CASE CATEGORY2(category2_id) -->
|
||||
<record model="crm.case.resource.type" id="type_lead1">
|
||||
<field name="name">Telesales</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead2">
|
||||
<field name="name">Mail</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead3">
|
||||
<field name="name">Email</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead4">
|
||||
<field name="name">Print</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead5">
|
||||
<field name="name">Web</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead6">
|
||||
<field name="name">Radio</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead7">
|
||||
<field name="name">Television</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.resource.type" id="type_lead8">
|
||||
<field name="name">Newsletter</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_lead2">
|
||||
<field name="name">Qualification</field>
|
||||
<field eval="'20'" name="probability"/>
|
||||
<field eval="'2'" name="sequence"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
<record model="crm.case.stage" id="stage_lead3">
|
||||
<field name="name">Proposition</field>
|
||||
<field eval="'40'" name="probability"/>
|
||||
<field eval="'3'" name="sequence"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.stage" id="stage_lead4">
|
||||
<field name="name">Negotiation</field>
|
||||
<field eval="'60'" name="probability"/>
|
||||
<field eval="'4'" name="sequence"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.stage" id="stage_lead5">
|
||||
<field name="name">Win</field>
|
||||
<field eval="'100'" name="probability"/>
|
||||
<field eval="'5'" name="sequence"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.stage" id="stage_lead6">
|
||||
<field name="name">Lost</field>
|
||||
<field eval="'0'" name="probability"/>
|
||||
<field eval="'6'" name="sequence"/>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- CASE CATEGORY2(category2_id) -->
|
||||
<record model="crm.case.resource.type" id="type_lead1">
|
||||
<field name="name">Telesales</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead2">
|
||||
<field name="name">Mail</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead3">
|
||||
<field name="name">Email</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead4">
|
||||
<field name="name">Print</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead5">
|
||||
<field name="name">Web</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead6">
|
||||
<field name="name">Radio</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead7">
|
||||
<field name="name">Television</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="crm.case.resource.type" id="type_lead8">
|
||||
<field name="name">Newsletter</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -80,7 +80,8 @@ class crm_meeting(osv.osv, crm_case):
|
||||
|
||||
_defaults = {
|
||||
'state': lambda *a: 'draft',
|
||||
'active': lambda *a: 1,
|
||||
'active': lambda *a: 1,
|
||||
'user_id': lambda self, cr, uid, ctx: uid,
|
||||
}
|
||||
|
||||
def open_meeting(self, cr, uid, ids, context=None):
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
|
||||
<field name="domain">[('ref','like','crm.meeting,')]</field>
|
||||
<field name="context">{'default_sent_by_uid': uid}</field>
|
||||
<field name="context">{"search_default_user_id":uid}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_attendee_invitations"
|
||||
|
||||
@@ -342,20 +342,7 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Calendar Attendee Tree View -->
|
||||
|
||||
<record id="attendee_tree_view_inherit" model="ir.ui.view">
|
||||
<field name="name">calendar.attendee.tree.inherit</field>
|
||||
<field name="model">calendar.attendee</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="inherit_id" ref="base_calendar.base_calendar_attendee_tree_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="role" position="after">
|
||||
<field name="categ_id" string="Event Type"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<data>
|
||||
<record model="crm.case.categ" id="categ_oppor1">
|
||||
<field name="name">Existing Customer</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
@@ -42,43 +42,6 @@
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- CASE STATUS(stage_id) -->
|
||||
<record model="crm.case.stage" id="stage_oppor1">
|
||||
<field name="name">Prospecting</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_oppor2">
|
||||
<field name="name">Needs Analysis</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_oppor3">
|
||||
<field name="name">Value Proposition</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_oppor4">
|
||||
<field name="name">Proposal/Price Quote</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_oppor5">
|
||||
<field name="name">Negotiation/Review</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_oppor6">
|
||||
<field name="name">Closed Won</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="crm.case.stage" id="stage_oppor7">
|
||||
<field name="name">Closed Lost</field>
|
||||
<field name="section_id" ref="section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- Case Resource(type_id) -->
|
||||
<record model="crm.case.resource.type" id="type_oppor1">
|
||||
<field name="name">Existing Business</field>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<field eval="85000.0" name="planned_revenue"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
||||
<field name="stage_id" ref="crm.stage_oppor3"/>
|
||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||
<field eval=""CONS TRUST (AZ) 529701 - 1000 units"" name="name"/>
|
||||
</record>
|
||||
<record id="crm_case_rdroundfundingunits0" model="crm.lead">
|
||||
@@ -36,7 +36,7 @@
|
||||
<field eval="50" name="probability"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor5"/>
|
||||
<field name="stage_id" ref="crm.stage_oppor1"/>
|
||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||
<field eval=""3rd Round Funding - 1000 units "" name="name"/>
|
||||
</record>
|
||||
<record id="crm_case_mediapoleunits0" model="crm.lead">
|
||||
@@ -53,7 +53,7 @@
|
||||
<field eval="70" name="probability"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor7"/>
|
||||
<field name="stage_id" ref="crm.stage_oppor5"/>
|
||||
<field name="stage_id" ref="crm.stage_lead5"/>
|
||||
<field eval=""Mediapole - 5000 units"" name="name"/>
|
||||
<field eval=""info@mycompany.net"" name="email_from"/>
|
||||
</record>
|
||||
@@ -70,7 +70,7 @@
|
||||
<field eval="45000.0" name="planned_revenue"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor5"/>
|
||||
<field name="stage_id" ref="crm.stage_oppor4"/>
|
||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||
<field eval=""ABC FUEL CO 829264 - 1000 units "" name="name"/>
|
||||
<field eval=""info@opensides.be"" name="email_from"/>
|
||||
</record>
|
||||
@@ -86,7 +86,7 @@
|
||||
<field eval="42000.0" name="planned_revenue"/>
|
||||
<field name="section_id" ref="crm.section_sales_department"/>
|
||||
<field name="categ_id" ref="crm.categ_oppor2"/>
|
||||
<field name="stage_id" ref="crm.stage_oppor6"/>
|
||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||
<field eval=""Dirt Mining Ltd 271742 - 1000 units"" name="name"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
@@ -69,17 +69,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Phone Call">
|
||||
<group colspan="4" col="7">
|
||||
<field name="name" string="Summary"/>
|
||||
<field name="date" string="Planned Date"/>
|
||||
<field name="user_id"/>
|
||||
<button string="Schedule a Meeting"
|
||||
name="action_make_meeting"
|
||||
icon="gtk-redo"
|
||||
type="object" />
|
||||
<group colspan="6" col="7">
|
||||
<field name="name" string="Summary" required="1"/>
|
||||
<field name="partner_phone" required="1"/>
|
||||
<field name="duration" widget="float_time" required="1"/>
|
||||
<button string="Schedule a Meeting" name="action_make_meeting" icon="gtk-redo" type="object"/>
|
||||
|
||||
<field name="partner_phone"/>
|
||||
<field name="duration"/>
|
||||
<field name="date" string="Date" required="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="section_id" colspan="1" widget="selection" />
|
||||
<button string="Convert to Opportunity"
|
||||
name="%(phonecall2opportunity_act)d"
|
||||
@@ -92,6 +89,7 @@
|
||||
type="action" />
|
||||
|
||||
</group>
|
||||
|
||||
<group col="3" colspan="2">
|
||||
<separator colspan="3" string="Contacts" />
|
||||
<field name="partner_id"
|
||||
@@ -146,15 +144,15 @@
|
||||
<form string="Phone Call">
|
||||
<group colspan="4" col="7">
|
||||
<field name="name" string="Summary" required="1"/>
|
||||
<field name="date" string="Planned Date" required="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="partner_phone"/>
|
||||
<field name="duration" widget="float_time"/>
|
||||
<button string="Schedule a Meeting"
|
||||
name="action_make_meeting"
|
||||
icon="gtk-redo"
|
||||
type="object" />
|
||||
|
||||
<field name="partner_phone"/>
|
||||
<field name="duration"/>
|
||||
<field name="date" string="Date" required="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="section_id" colspan="1" widget="selection" />
|
||||
<button string="Convert to Opportunity"
|
||||
name="%(phonecall2opportunity_act)d"
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<group col="2" colspan="1">
|
||||
<separator string="Configuration" colspan="2"/>
|
||||
<field name="allow_unlink" select="2"/>
|
||||
<field name="change_responsible"/>
|
||||
</group>
|
||||
<separator string="Team Members" colspan="4"/>
|
||||
<field name="member_ids" nolabel="1" colspan="4"/>
|
||||
|
||||
+195
-193
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@
|
||||
partner_address_id: base.res_partner_address_1
|
||||
partner_id: base.res_partner_9
|
||||
probability: 1.0
|
||||
stage_id: crm.stage_oppor1
|
||||
stage_id: crm.stage_lead1
|
||||
categ_id: crm.categ_oppor2
|
||||
section_id: crm.section_sales_department
|
||||
|
||||
|
||||
@@ -1,25 +1,6 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Lead to partner confirmation form -->
|
||||
|
||||
<record id="view_crm_lead2partner_create" model="ir.ui.view">
|
||||
<field name="name">crm.lead2partner.view.create</field>
|
||||
<field name="model">crm.lead2partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create a Partner?">
|
||||
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<separator string="" colspan="4" />
|
||||
<group col="4" colspan="4">
|
||||
<button special="cancel" string="_Cancel" icon="gtk-cancel"/>
|
||||
<button name="open_create_partner" string="Create _Partner" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Lead to Partner form view -->
|
||||
|
||||
<record id="view_crm_lead2partner" model="ir.ui.view">
|
||||
@@ -28,6 +9,9 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create a Partner">
|
||||
<separator string="Create a Partner" colspan="4" />
|
||||
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<field name="action"/>
|
||||
<group attrs="{'invisible':[('action','!=','exist')]}">
|
||||
<field name="partner_id" attrs="{'required': [('action', '=', 'exist')]}"/>
|
||||
@@ -48,7 +32,7 @@
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">crm.lead2partner</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_crm_lead2partner_create"/>
|
||||
<field name="view_id" ref="view_crm_lead2partner"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -73,8 +73,8 @@ class crm_phonecall2phonecall(osv.osv_memory):
|
||||
values = {
|
||||
'name': this.name,
|
||||
'user_id': this.user_id and this.user_id.id,
|
||||
'categ_id': phonecall.categ_id and phonecall.categ_id.id or False,
|
||||
'section_id': phonecall.section_id and phonecall.section_id.id,
|
||||
'categ_id': this.categ_id.id,
|
||||
'section_id': this.section_id.id or (phonecall.section_id and phonecall.section_id.id),
|
||||
'description': phonecall.description or '',
|
||||
'partner_id': phonecall.partner_id.id,
|
||||
'partner_address_id': phonecall.partner_address_id.id,
|
||||
@@ -94,7 +94,7 @@ class crm_phonecall2phonecall(osv.osv_memory):
|
||||
'views': [(id2, 'form'), (id3, 'tree'), (False, 'calendar'), (False, 'graph')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_id': phonecall_id,
|
||||
'domain': [('id', 'in', [int(phonecall_id)])],
|
||||
'domain': [('id', '=', phonecall_id)],
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
return res
|
||||
@@ -102,7 +102,10 @@ class crm_phonecall2phonecall(osv.osv_memory):
|
||||
_columns = {
|
||||
'name' : fields.char('Call summary', size=64, required=True, select=1),
|
||||
'user_id' : fields.many2one('res.users',"Assign To"),
|
||||
'date': fields.datetime('Date'),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', required=True, \
|
||||
domain="[('section_id','=',section_id),\
|
||||
('object_id.model', '=', 'crm.phonecall')]"),
|
||||
'date': fields.datetime('Date', required=True),
|
||||
'section_id':fields.many2one('crm.case.section','Sales Team'),
|
||||
}
|
||||
|
||||
@@ -119,10 +122,16 @@ class crm_phonecall2phonecall(osv.osv_memory):
|
||||
"""
|
||||
res = super(crm_phonecall2phonecall, self).default_get(cr, uid, fields, context=context)
|
||||
record_id = context and context.get('active_id', False) or False
|
||||
|
||||
|
||||
if record_id:
|
||||
phonecall = self.pool.get('crm.phonecall').browse(cr, uid, record_id, context=context)
|
||||
|
||||
categ_id = False
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
res_id = data_obj._get_id(cr, uid, 'crm', 'categ_phone2')
|
||||
if res_id:
|
||||
categ_id = data_obj.browse(cr, uid, res_id, context=context).res_id
|
||||
|
||||
if 'name' in fields:
|
||||
res.update({'name': phonecall.name})
|
||||
if 'user_id' in fields:
|
||||
@@ -131,7 +140,8 @@ class crm_phonecall2phonecall(osv.osv_memory):
|
||||
res.update({'date': phonecall.date})
|
||||
if 'section_id' in fields:
|
||||
res.update({'section_id': phonecall.section_id and phonecall.section_id.id or False})
|
||||
|
||||
if 'categ_id' in fields:
|
||||
res.update({'categ_id': categ_id})
|
||||
return res
|
||||
|
||||
crm_phonecall2phonecall()
|
||||
|
||||
@@ -10,16 +10,18 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Schedule Other Call">
|
||||
<field name="name"/>
|
||||
<field name="user_id" />
|
||||
<field name="date" string="Planned Date"/>
|
||||
<field name="section_id"/>
|
||||
<separator string=" " colspan="4"/>
|
||||
<group colspan="4" col="3" >
|
||||
<label string=" " />
|
||||
<button name="action_cancel" string="_Cancel" icon="gtk-cancel" special="cancel" />
|
||||
<button name="action_apply" type="object" string="_Schedule" icon="gtk-go-forward" />
|
||||
</group>
|
||||
<separator string="Schedule Other Call" colspan="4"/>
|
||||
<field name="name"/>
|
||||
<field name="date" string="Planned Date"/>
|
||||
<field name="user_id" />
|
||||
<field name="section_id"/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||
<separator string=" " colspan="4"/>
|
||||
<group colspan="4" col="3" >
|
||||
<label string=" " />
|
||||
<button name="action_cancel" string="_Cancel" icon="gtk-cancel" special="cancel" />
|
||||
<button name="action_apply" type="object" string="_Schedule" icon="gtk-go-forward" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -36,4 +38,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</openerp>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"access_document_directory_content_type_group_system","document.directory.content.type group system","model_document_directory_content_type","base.group_user",1,0,0,0
|
||||
"access_document_storage_group_document_manager","document.storage document manager","model_document_storage","group_document_manager",1,1,1,1
|
||||
"access_document_storage_group_system","document.storage group system","model_document_storage","base.group_user",1,0,0,0
|
||||
"access_document_directory_dctx_all","document.directory.dctx all","model_document_directory_dctx",,1,0,0,0
|
||||
"access_document_directory_dctx_group_document_manager","document.directory.dctx document manager","model_document_directory_dctx","group_document_manager",1,1,1,1
|
||||
"access_document_directory_dctx_group_system","document.directory.dctx group system","model_document_directory_dctx","base.group_system",1,1,1,1
|
||||
"access_report_document_user_group_document_manager","report.document.user document manager","model_report_document_user","document.group_document_manager",1,0,0,0
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,12 +15,13 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import event
|
||||
import wizard
|
||||
import report
|
||||
import res_partner
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
'wizard/event_make_invoice_view.xml',
|
||||
'wizard/partner_event_registration_view.xml',
|
||||
'board_association_view.xml',
|
||||
'res_partner_view.xml',
|
||||
],
|
||||
'demo_xml': ['event_demo.xml', 'board_association_demo.xml'],
|
||||
'test': ['test/test_event.yml'],
|
||||
|
||||
@@ -176,11 +176,13 @@ class event_event(osv.osv):
|
||||
'note': fields.text('Notes', help="Description or Summary of Event"),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
"unit_price": fields.float('Cost'),
|
||||
'partner_id': fields.many2one('res.partner','Teacher'),
|
||||
'main_speaker_id': fields.many2one('res.partner','Main Speaker'),
|
||||
'speaker_ids':fields.many2many('res.partner', 'event_speaker_rel', 'speaker_id', 'partner_id', 'Other Speakers'),
|
||||
'address_id': fields.many2one('res.partner.address','Location Room'),
|
||||
'teacher_confirmed': fields.boolean('Teacher Confirmed'),
|
||||
'speaker_confirmed': fields.boolean('Speaker Confirmed'),
|
||||
'country_id': fields.related('address_id', 'country_id',
|
||||
type='many2one', relation='res.country', string='Country'),
|
||||
'language': fields.char('Language',size=64),
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -57,18 +57,20 @@
|
||||
<page string="General">
|
||||
<field name="unit_price"/>
|
||||
<field name="currency_id"/>
|
||||
<separator string="Teacher Information" colspan="4"/>
|
||||
<field name="partner_id"/>
|
||||
<separator string="Speaker Information" colspan="4"/>
|
||||
<field name="main_speaker_id" domain="[('speaker','=',True)]"/>
|
||||
<field name="address_id"/>
|
||||
<field name="teacher_confirmed"/>
|
||||
<field name="speaker_ids" domain="[('speaker','=',True)]" colspan="4"/>
|
||||
<field name="country_id" />
|
||||
<field name="speaker_confirmed"/>
|
||||
<field name="language"/>
|
||||
<separator string="Event description" colspan="4"/>
|
||||
<field name="parent_id" domain="[('parent_id','child_of','Event')]"/>
|
||||
<field name="active"/>
|
||||
<field name="register_min"/>
|
||||
<field name="register_max"/>
|
||||
<separator string="Notes" colspan="4"/>
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
<!--field name="note" colspan="4" nolabel="1"/-->
|
||||
<field name="state" select="1"/>
|
||||
<group col="4" colspan="2">
|
||||
<button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
|
||||
@@ -120,9 +122,11 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Events" colors="red:register_min>register_current;black:register_min<=register_current">
|
||||
<field name="name" string="Name"/>
|
||||
<field name="user_id"/>
|
||||
<field name="main_speaker_id"/>
|
||||
<field name="language"/>
|
||||
<field name="type"/>
|
||||
<field name="date_begin"/>
|
||||
<field name="date_end"/>
|
||||
<field name="register_min"/>
|
||||
<field name="register_current"/>
|
||||
<field name="state"/>
|
||||
|
||||
@@ -43,6 +43,7 @@ class report_event_registration(osv.osv):
|
||||
'type': fields.many2one('event.type', 'Event Type'),
|
||||
'state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, required=True),
|
||||
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
|
||||
'speaker_id':fields.many2one('res.partner', 'Speaker', readonly=True),
|
||||
}
|
||||
_order = 'date desc'
|
||||
def init(self, cr):
|
||||
@@ -57,6 +58,7 @@ class report_event_registration(osv.osv):
|
||||
c.event_id as event_id,
|
||||
e.date_begin as date,
|
||||
e.user_id as user_id,
|
||||
e.main_speaker_id as speaker_id,
|
||||
to_char(e.date_begin, 'YYYY') as year,
|
||||
to_char(e.date_begin, 'MM') as month,
|
||||
to_char(e.date_begin, 'YYYY-MM-DD') as day,
|
||||
@@ -75,7 +77,7 @@ class report_event_registration(osv.osv):
|
||||
group by
|
||||
to_char(e.date_begin, 'YYYY'),
|
||||
to_char(e.date_begin, 'MM'),
|
||||
t.id, e.id, e.date_begin,
|
||||
t.id, e.id, e.date_begin,e.main_speaker_id,
|
||||
e.register_max, e.type, e.state, c.event_id, e.user_id,
|
||||
to_char(e.date_begin, 'YYYY-MM-DD')
|
||||
)""")
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<tree string="Event on Registration">
|
||||
<field name="date" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="speaker_id" invisible="1"/>
|
||||
<field name="year" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
@@ -85,7 +86,8 @@
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Responsible" name="user" icon="terp-personal" context="{'group_by': 'user_id'}"/>
|
||||
<filter string="Speaker" name="user" icon="terp-personal+" context="{'group_by': 'speaker_id'}"/>
|
||||
<!--filter string="Responsible" name="user" icon="terp-personal" context="{'group_by': 'user_id'}"/-->
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-go-month"
|
||||
domain="[]" context="{'group_by':'day'}"/>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields,osv
|
||||
|
||||
class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'speaker': fields.boolean('Speaker'),
|
||||
'event_ids': fields.one2many('event.event','main_speaker_id',readonly=True),
|
||||
'event_registration_ids': fields.one2many('event.registration','partner_id',readonly=True),
|
||||
}
|
||||
|
||||
res_partner()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_speaker_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.speaker.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="supplier" position="after">
|
||||
<field name="speaker"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_event_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.event.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<page string="History" position="inside">
|
||||
<field name="event_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events">
|
||||
<field name="name" string="Event"/>
|
||||
<field name="main_speaker_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="event_registration_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events Registration">
|
||||
<field name="event_id" />
|
||||
<field name="partner_id"/>
|
||||
<field name="unit_price"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_event_type","event.type","model_event_type","event.group_event_subscriber",1,0,0,0
|
||||
"access_event_type_manager","event.type manager","model_event_type","event.group_event_manager",1,1,1,1
|
||||
"access_event_event","event.event","model_event_event","event.group_event_subscriber",1,1,1,1
|
||||
"access_event_registration","event.registration","model_event_registration","event.group_event_subscriber",1,1,1,1
|
||||
"access_event_event","event.event","model_event_event","event.group_event_subscriber",1,1,1,0
|
||||
"access_event_registration","event.registration","model_event_registration","event.group_event_subscriber",1,1,1,0
|
||||
"access_report_event_registration","report.event.registration","model_report_event_registration","event.group_event_subscriber",1,0,0,0
|
||||
"access_event_event_manager","event.event manager","model_event_event","event.group_event_manager",1,1,1,1
|
||||
"access_event_registration_manager","event.registration manager","model_event_registration","event.group_event_manager",1,1,1,1
|
||||
"access_crm_case_section_manager","crm.case.section manager","crm.model_crm_case_section","event.group_event_manager",1,1,1,1
|
||||
"access_product_product","product.product.product manager","product.model_product_product","event.group_event_manager",1,1,1,1
|
||||
"access_report_event_registration","report.event.registration","model_report_event_registration","event.group_event_manager",1,1,1,1
|
||||
|
||||
|
@@ -1,88 +1,84 @@
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="bank" model="res.partner">
|
||||
<field name="comment">My bank !</field>
|
||||
<field name="ref">banq</field>
|
||||
<field name="name">Banque</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
<record id="res_partner_address_bank1" model="res.partner.address">
|
||||
<field name="fax">+41 31 622 13 00</field>
|
||||
<field name="name">Marc Dufour</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="bank"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="title">M.</field>
|
||||
<field name="email">tinyerp@bank.com</field>
|
||||
<field name="phone">+41 24 620 10 12</field>
|
||||
<field name="street">PSE-C</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="bank" model="res.partner">
|
||||
<field name="comment">My bank !</field>
|
||||
<field name="ref">banq</field>
|
||||
<field name="name">Banque</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
<record id="res_partner_address_bank1" model="res.partner.address">
|
||||
<field name="fax">+41 31 622 13 00</field>
|
||||
<field name="name">Marc Dufour</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="bank"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="email">tinyerp@bank.com</field>
|
||||
<field name="phone">+41 24 620 10 12</field>
|
||||
<field name="street">PSE-C</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
|
||||
<record id="prolibre" model="res.partner">
|
||||
<field name="comment">Very good company!
|
||||
They provides a very high quality service.</field>
|
||||
<field name="ref">ProL</field>
|
||||
<field name="website">http://camptocamp.com</field>
|
||||
<field name="name">ProLibre</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
<record id="prolibre" model="res.partner">
|
||||
<field name="comment">Very good company!
|
||||
They provides a very high quality service.</field>
|
||||
<field name="ref">ProL</field>
|
||||
<field name="website">http://camptocamp.com</field>
|
||||
<field name="name">ProLibre</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
|
||||
<record id="camptocamp" model="res.partner">
|
||||
<field name="comment">Very good company!
|
||||
They provides a very high quality service.</field>
|
||||
<field name="ref">c2c</field>
|
||||
<field name="website">http://camptocamp.com</field>
|
||||
<field name="name">camptocamp SA</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
<!--
|
||||
Resource: res.partner.address
|
||||
-->
|
||||
<record id="camptocamp" model="res.partner">
|
||||
<field name="comment">Very good company!
|
||||
They provides a very high quality service.</field>
|
||||
<field name="ref">c2c</field>
|
||||
<field name="website">http://camptocamp.com</field>
|
||||
<field name="name">camptocamp SA</field>
|
||||
<field name="category_id" model="res.partner.category" search="[('name','=','Partenaire')]"/>
|
||||
</record>
|
||||
<!--
|
||||
Resource: res.partner.address
|
||||
-->
|
||||
|
||||
<record id="res_partner_address_1" model="res.partner.address">
|
||||
<field name="fax">+41 21 619 10 00</field>
|
||||
<field name="name">Luc Maurer</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="camptocamp"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="title">M.</field>
|
||||
<field name="email">tinyerp@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 12</field>
|
||||
<field name="street">PSE-A, EPFL</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="res_partner_address_2" model="res.partner.address">
|
||||
<field name="name">Gilbert Robert</field>
|
||||
<field name="zip">1227</field>
|
||||
<field name="city">Carouge</field>
|
||||
<field name="partner_id" ref="prolibre"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="title">M.</field>
|
||||
<field name="email">info@prolibre.com</field>
|
||||
<field name="phone">+41 22 3015383</field>
|
||||
<field name="street">18, rue des Moraines </field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="res_partner_address_3" model="res.partner.address">
|
||||
<field name="fax">+41 21 619 10 00</field>
|
||||
<field name="name">Claude Philipona</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="camptocamp"/>
|
||||
<field name="country_id" model="res.country" search="[('name','=','Switzerland')]"/>
|
||||
<field name="title">M.</field>
|
||||
<field name="email">tinyerp@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 12 </field>
|
||||
<field name="street">PSE-A, EPFL</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
</data>
|
||||
<record id="res_partner_address_1" model="res.partner.address">
|
||||
<field name="fax">+41 21 619 10 00</field>
|
||||
<field name="name">Luc Maurer</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="camptocamp"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="email">tinyerp@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 12</field>
|
||||
<field name="street">PSE-A, EPFL</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="res_partner_address_2" model="res.partner.address">
|
||||
<field name="name">Gilbert Robert</field>
|
||||
<field name="zip">1227</field>
|
||||
<field name="city">Carouge</field>
|
||||
<field name="partner_id" ref="prolibre"/>
|
||||
<field name="country_id" model="res.country" search="[('code','=','ch')]"/>
|
||||
<field name="email">info@prolibre.com</field>
|
||||
<field name="phone">+41 22 3015383</field>
|
||||
<field name="street">18, rue des Moraines </field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
<record id="res_partner_address_3" model="res.partner.address">
|
||||
<field name="fax">+41 21 619 10 00</field>
|
||||
<field name="name">Claude Philipona</field>
|
||||
<field name="zip">1015</field>
|
||||
<field name="city">Lausanne</field>
|
||||
<field name="partner_id" ref="camptocamp"/>
|
||||
<field name="country_id" model="res.country" search="[('name','=','Switzerland')]"/>
|
||||
<field name="email">tinyerp@camptocamp.com</field>
|
||||
<field name="phone">+41 21 619 10 12 </field>
|
||||
<field name="street">PSE-A, EPFL</field>
|
||||
<field name="active">1</field>
|
||||
<field name="type">default</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -158,9 +158,9 @@ class mailgate_message(osv.osv):
|
||||
'user_id': fields.many2one('res.users', 'User Responsible', readonly=True),
|
||||
'message': fields.text('Description'),
|
||||
'email_from': fields.char('From', size=128, help="Email From"),
|
||||
'email_to': fields.text('To', help="Email Recipients"),
|
||||
'email_cc': fields.text('Cc', help="Carbon Copy Email Recipients"),
|
||||
'email_bcc': fields.text('Bcc', help='Blind Carbon Copy Email Recipients'),
|
||||
'email_to': fields.char('To', help="Email Recipients", size=256),
|
||||
'email_cc': fields.char('Cc', help="Carbon Copy Email Recipients", size=256),
|
||||
'email_bcc': fields.char('Bcc', help='Blind Carbon Copy Email Recipients', size=256),
|
||||
'message_id': fields.char('Message Id', size=1024, readonly=True, help="Message Id on Email.", select=True),
|
||||
'references': fields.text('References', readonly=True, help="References emails."),
|
||||
'description': fields.text('Description'),
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:55+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: membership
|
||||
|
||||
@@ -372,7 +372,7 @@ class mrp_repair(osv.osv):
|
||||
name = operation.name
|
||||
|
||||
if operation.product_id.property_account_income:
|
||||
account_id = operation.product_id.property_account_income
|
||||
account_id = operation.product_id.property_account_income.id
|
||||
elif operation.product_id.categ_id.property_account_income_categ:
|
||||
account_id = operation.product_id.categ_id.property_account_income_categ.id
|
||||
else:
|
||||
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: multi_company
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: product
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# Estonian translation for openobject-addons
|
||||
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-03-25 12:11+0000\n"
|
||||
"PO-Revision-Date: 2010-07-08 08:45+0000\n"
|
||||
"Last-Translator: lyyser <logard.1961@gmail.com>\n"
|
||||
"Language-Team: Estonian <et@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: product_visible_discount
|
||||
#: constraint:ir.ui.view:0
|
||||
msgid "Invalid XML for View Architecture!"
|
||||
msgstr "Vigane XML vaate arhitektuurile!"
|
||||
|
||||
#. module: product_visible_discount
|
||||
#: model:ir.module.module,description:product_visible_discount.module_name_translation
|
||||
msgid ""
|
||||
"\n"
|
||||
" This module lets you calculate discounts on Sale Order lines and Invoice "
|
||||
"lines base on the partner's pricelist.\n"
|
||||
" To this end, a new check box named \"Visible Discount\" is added to the "
|
||||
"pricelist form.\n"
|
||||
" Example:\n"
|
||||
" For the product PC1 and the partner \"Asustek\": if listprice=450, "
|
||||
"and the price calculated using Asustek's pricelist is 225\n"
|
||||
" If the check box is checked, we will have on the sale order line: "
|
||||
"Unit price=450, Discount=50,00, Net price=225\n"
|
||||
" If the check box is unchecked, we will have on Sale Order and "
|
||||
"Invoice lines: Unit price=225, Discount=0,00, Net price=225\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: product_visible_discount
|
||||
#: model:ir.module.module,shortdesc:product_visible_discount.module_name_translation
|
||||
#: field:product.pricelist,visible_discount:0
|
||||
msgid "Visible Discount"
|
||||
msgstr "Nähtavad soodus"
|
||||
@@ -160,7 +160,7 @@ class project_issue(osv.osv, crm.crm_case):
|
||||
\nWhen the case is over, the state is set to \'Done\'.\
|
||||
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
|
||||
'email_from': fields.char('Email', size=128, help="These people will receive email."),
|
||||
'email_cc': fields.text('Watchers Emails', size=252, help="These people\
|
||||
'email_cc': fields.char('Watchers Emails', size=256, help="These people\
|
||||
will receive a copy of the future" \
|
||||
" communication between partner and users by email"),
|
||||
'date_open': fields.datetime('Opened', readonly=True),
|
||||
|
||||
@@ -154,9 +154,9 @@
|
||||
<tree string="Issue Tracker Tree" colors="red:state=='open';blue:state=='pending';grey:state in ('cancel', 'done')">
|
||||
<field name="id"/>
|
||||
<field name="create_date"/>
|
||||
<field name="project_id" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="project_id" />
|
||||
<field name="priority" string="Severity"/>
|
||||
<field name="stage_id" string="Resolution"/>
|
||||
<button icon="gtk-go-back" string="" name="stage_previous" type="object"
|
||||
|
||||
@@ -52,7 +52,7 @@ class project_issue_report(osv.osv):
|
||||
_columns = {
|
||||
'name': fields.char('Year', size=64, required=False, readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
|
||||
'user_id2':fields.many2one('res.users', 'Assigned To', readonly=True),
|
||||
'user_id2':fields.many2one('res.users', 'Assignee', readonly=True),
|
||||
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
|
||||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
|
||||
'avg_answers': fields.function(_get_data, string='Avg. Answers', method=True, type="integer"),
|
||||
@@ -66,17 +66,17 @@ class project_issue_report(osv.osv):
|
||||
('11', 'November'), ('12', 'December')], 'Month', readonly=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', readonly=True),
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'opening_date': fields.date('Opening Date', readonly=True),
|
||||
'opening_date': fields.date('Date of Opening', readonly=True),
|
||||
'creation_date': fields.date('Creation Date', readonly=True),
|
||||
'date_closed': fields.date('Closed Date', readonly=True),
|
||||
'date_closed': fields.date('Date of Closing', readonly=True),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'project.issue')]"),
|
||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'nbr': fields.integer('# of Issues', readonly=True),
|
||||
'working_hours_open': fields.float('# Working Open Hours', readonly=True),
|
||||
'working_hours_close': fields.float('# Working Closing Hours', readonly=True),
|
||||
'delay_open': fields.float('Avg opening Delay', digits=(16,2), readonly=True, group_operator="avg",
|
||||
'working_hours_open': fields.float('Avg. Working Hours to Open', readonly=True),
|
||||
'working_hours_close': fields.float('Avg. Working Hours to Close', readonly=True),
|
||||
'delay_open': fields.float('Avg. Delay to Open', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to close the project issue"),
|
||||
'delay_close': fields.float('Avg Closing Delay', digits=(16,2), readonly=True, group_operator="avg",
|
||||
'delay_close': fields.float('Avg. Delay to Close', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to close the project issue"),
|
||||
'company_id' : fields.many2one('res.company', 'Company'),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
|
||||
@@ -86,6 +86,11 @@ class project_phase(osv.osv):
|
||||
return False
|
||||
return True
|
||||
|
||||
def _get_default_uom_id(self, cr, uid):
|
||||
model_data_obj = self.pool.get('ir.model.data')
|
||||
model_data_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
||||
return model_data_obj.read(cr, uid, [model_data_id], ['res_id'])[0]['res_id']
|
||||
|
||||
_columns = {
|
||||
'name': fields.char("Name", size=64, required=True),
|
||||
'date_start': fields.datetime('Start Date', help="Starting Date of the phase"),
|
||||
@@ -137,7 +142,6 @@ class project_phase(osv.osv):
|
||||
"""
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
resource_obj = self.pool.get('resource.resource')
|
||||
model_data_obj = self.pool.get('ir.model.data')
|
||||
cal_obj = self.pool.get('resource.calendar')
|
||||
calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False
|
||||
resource_id = resource_obj.search(cr, uid, [('user_id', '=', phase.responsible_id.id)])
|
||||
@@ -147,7 +151,7 @@ class project_phase(osv.osv):
|
||||
cal_id = res.get('calendar_id', False) and res.get('calendar_id')[0] or False
|
||||
if cal_id:
|
||||
calendar_id = cal_id
|
||||
default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
||||
default_uom_id = self._get_default_uom_id(cr, uid)
|
||||
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
|
||||
work_times = cal_obj.interval_min_get(cr, uid, calendar_id, date_end, avg_hours or 0.0, resource_id and resource_id[0] or False)
|
||||
dt_start = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S')
|
||||
@@ -160,7 +164,6 @@ class project_phase(osv.osv):
|
||||
Check And Compute date_end of phase if change in date_end > older time.
|
||||
"""
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
model_data_obj = self.pool.get('ir.model.data')
|
||||
resource_obj = self.pool.get('resource.resource')
|
||||
cal_obj = self.pool.get('resource.calendar')
|
||||
calendar_id = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False
|
||||
@@ -171,7 +174,7 @@ class project_phase(osv.osv):
|
||||
cal_id = res.get('calendar_id', False) and res.get('calendar_id')[0] or False
|
||||
if cal_id:
|
||||
calendar_id = cal_id
|
||||
default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
||||
default_uom_id = self._get_default_uom_id(cr, uid)
|
||||
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
|
||||
work_times = cal_obj.interval_get(cr, uid, calendar_id, date_start, avg_hours or 0.0, resource_id and resource_id[0] or False)
|
||||
dt_end = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
|
||||
@@ -181,7 +184,6 @@ class project_phase(osv.osv):
|
||||
resource_calendar_obj = self.pool.get('resource.calendar')
|
||||
resource_obj = self.pool.get('resource.resource')
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
model_data_obj = self.pool.get('ir.model.data')
|
||||
if context is None:
|
||||
context = {}
|
||||
if context.get('scheduler',False):
|
||||
@@ -195,7 +197,7 @@ class project_phase(osv.osv):
|
||||
cal_id = resource_obj.browse(cr, uid, resource_id[0], context=context).calendar_id.id
|
||||
if cal_id:
|
||||
calendar_id = cal_id
|
||||
default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
||||
default_uom_id = self._get_default_uom_id(cr, uid)
|
||||
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
|
||||
|
||||
# Change the date_start and date_end
|
||||
@@ -246,6 +248,8 @@ class project_resource_allocation(osv.osv):
|
||||
'resource_id': fields.many2one('resource.resource', 'Resource', required=True),
|
||||
'phase_id': fields.many2one('project.phase', 'Project Phase', required=True),
|
||||
'useability': fields.float('Usability', help="Usability of this resource for this project phase in percentage (=50%)"),
|
||||
'date_start': fields.related('phase_id', 'date_start', type='datetime', string='Start Date'),
|
||||
'date_end': fields.related('phase_id', 'date_end', type='datetime', string='End Date'),
|
||||
}
|
||||
_defaults = {
|
||||
'useability': 100,
|
||||
|
||||
@@ -31,9 +31,36 @@
|
||||
<field name="resource_id"/>
|
||||
<field name="phase_id"/>
|
||||
<field name="useability"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_project_resource_allocation_calendar" model="ir.ui.view">
|
||||
<field name="name">project.resource.allocation.calendar</field>
|
||||
<field name="model">project.resource.allocation</field>
|
||||
<field name="type">calendar</field>
|
||||
<field name="arch" type="xml">
|
||||
<calendar color="resource_id" date_stop="date_end" date_start="date_start" string="Resource Allocations">
|
||||
<field name="resource_id"/>
|
||||
<field name="useability"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_project_resource_allocation_gantt" model="ir.ui.view">
|
||||
<field name="name">project.resource.allocation.gantt</field>
|
||||
<field name="model">project.resource.allocation</field>
|
||||
<field name="type">gantt</field>
|
||||
<field name="arch" type="xml">
|
||||
<gantt color="resource_id" date_stop="date_end" date_start="date_start" string="Resource Allocations">
|
||||
<level object="resource.resource" link="resource_id" domain="[]">
|
||||
<field name="useability"/>
|
||||
</level>
|
||||
</gantt>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_project_resource_allocation_search" model="ir.ui.view">
|
||||
<field name="name">project.resource.allocation.search</field>
|
||||
@@ -58,7 +85,7 @@
|
||||
<field name="name">Resource Allocations</field>
|
||||
<field name="res_model">project.resource.allocation</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,calendar,gantt</field>
|
||||
<field name="context">{'search_default_resource': 1} </field>
|
||||
<!--<field name="search_view_id" ref="view_project_phase_search"/>-->
|
||||
</record>
|
||||
|
||||
@@ -60,7 +60,6 @@ class project_compute_phases(osv.osv_memory):
|
||||
phase_obj = self.pool.get('project.phase')
|
||||
resource_obj = self.pool.get('resource.resource')
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
model_data_obj = self.pool.get('ir.model.data')
|
||||
phase_resource_obj = False
|
||||
|
||||
if context is None:
|
||||
@@ -82,7 +81,7 @@ class project_compute_phases(osv.osv_memory):
|
||||
'vacation': tuple(leaves),
|
||||
'efficiency': time_efficiency
|
||||
})
|
||||
default_uom_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour')
|
||||
default_uom_id = phase_obj._get_default_uom_id(cr, uid)
|
||||
avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id)
|
||||
duration = str(avg_hours) + 'H'
|
||||
# Create a new project for each phase
|
||||
|
||||
@@ -51,6 +51,7 @@ automatically created via sale orders.
|
||||
'init_xml': [],
|
||||
'update_xml': ['project_mrp_workflow.xml',
|
||||
#'process/project_mrp_process.xml',
|
||||
'project_mrp_view.xml'
|
||||
],
|
||||
'demo_xml': [],
|
||||
'test': ['test/project_task_procurement.yml'],
|
||||
|
||||
@@ -26,12 +26,16 @@ import tools
|
||||
class procurement_order(osv.osv):
|
||||
_name = "procurement.order"
|
||||
_inherit = "procurement.order"
|
||||
_columns = {
|
||||
'task_id': fields.many2one('project.task', 'Task')
|
||||
}
|
||||
|
||||
def action_produce_assign_service(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
for procurement in self.browse(cr, uid, ids):
|
||||
sline = self.pool.get('sale.order.line')
|
||||
product_obj=self.pool.get('product.product')
|
||||
content = ''
|
||||
sale_order = self.pool.get('sale.order')
|
||||
so_ref = procurement.name.split(':')[0]
|
||||
@@ -69,6 +73,7 @@ class procurement_order(osv.osv):
|
||||
self.write(cr, uid, [procurement.id], {'state': 'running'})
|
||||
|
||||
name_task = ('','')
|
||||
planned_hours=0.0
|
||||
if procurement.product_id.type == 'service':
|
||||
proc_name = procurement.name
|
||||
if procurement.origin == proc_name:
|
||||
@@ -77,12 +82,12 @@ class procurement_order(osv.osv):
|
||||
name_task = (procurement.origin, proc_name or '')
|
||||
else:
|
||||
name_task = (procurement.product_id.name or procurement.origin, procurement.name or '')
|
||||
|
||||
planned_hours= procurement.product_id.sale_delay +procurement.product_id. produce_delay
|
||||
task_id = self.pool.get('project.task').create(cr, uid, {
|
||||
'name': '%s:%s' % name_task,
|
||||
'date_deadline': procurement.date_planned,
|
||||
'planned_hours': procurement.product_qty,
|
||||
'remaining_hours': procurement.product_qty,
|
||||
'planned_hours':planned_hours,
|
||||
'remaining_hours': planned_hours,
|
||||
'user_id': procurement.product_id.product_manager.id,
|
||||
'notes': "b"+(l and l.order_id.note or ''),
|
||||
'procurement_id': procurement.id,
|
||||
@@ -93,7 +98,8 @@ class procurement_order(osv.osv):
|
||||
'company_id': procurement.company_id.id,
|
||||
'project_id': project_id,
|
||||
},context=context)
|
||||
|
||||
self.write(cr, uid, [procurement.id],{'task_id':task_id})
|
||||
product_obj.write(cr,uid,[procurement.product_id.id],{'user_id':uid,'project_id':project_id})
|
||||
return task_id
|
||||
|
||||
procurement_order()
|
||||
|
||||
@@ -48,5 +48,13 @@ class project_task(osv.osv):
|
||||
return True
|
||||
|
||||
project_task()
|
||||
class product_product(osv.osv):
|
||||
_inherit = "product.product"
|
||||
_columns = {
|
||||
'user_id': fields.many2one('res.users', 'Responsible', ondelete='set null',help='Project Manager'),
|
||||
'project_id': fields.many2one('project.project', 'Project', ondelete='set null',)
|
||||
}
|
||||
product_product()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_procurement_task_form" model="ir.ui.view">
|
||||
<field name="name">procurement.procurement.form.view.inherit</field>
|
||||
<field name="model">procurement.order</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="procurement.procurement_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="close_move" position="after">
|
||||
<field name="task_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_product_task_form" model="ir.ui.view">
|
||||
<field name="name">product.form.view.inherit</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="product.product_normal_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="company_id" position="after">
|
||||
<field name="user_id" attrs="{'readonly':[('type','!=','service')]}"/>
|
||||
<field name="project_id" attrs="{'readonly':[('type','!=','service')]}" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -36,9 +36,7 @@
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base', 'account', 'stock', 'process', 'procurement'],
|
||||
'init_xml': [],
|
||||
'update_xml': [
|
||||
|
||||
'data': [
|
||||
'security/purchase_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'purchase_workflow.xml',
|
||||
@@ -60,8 +58,9 @@
|
||||
'test/purchase_from_order.yml',
|
||||
'test/purchase_from_manual.yml',
|
||||
# 'test/purchase_from_picking.yml',
|
||||
'purchase_unit_test.xml'
|
||||
],
|
||||
'demo_xml': ['purchase_demo.xml','purchase_unit_test.xml'],
|
||||
'demo': ['purchase_demo.xml'],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0057234283549',
|
||||
|
||||
@@ -720,7 +720,7 @@ purchase_order_line()
|
||||
class procurement_order(osv.osv):
|
||||
_inherit = 'procurement.order'
|
||||
_columns = {
|
||||
'purchase_id': fields.many2one('purchase.order', 'Latest Requisition'),
|
||||
'purchase_id': fields.many2one('purchase.order', 'Purchase Order'),
|
||||
}
|
||||
|
||||
def action_po_assign(self, cr, uid, ids, context={}):
|
||||
|
||||
@@ -103,7 +103,6 @@
|
||||
<record id="trans_confirmed_router" model="workflow.transition">
|
||||
<field name="act_from" ref="act_confirmed"/>
|
||||
<field name="act_to" ref="act_router"/>
|
||||
<field name="signal">purchase_approve</field>
|
||||
</record>
|
||||
<record id="trans_router_picking" model="workflow.transition">
|
||||
<field name="act_from" ref="act_router"/>
|
||||
|
||||
@@ -54,14 +54,14 @@ class purchase_report(osv.osv):
|
||||
'validator' : fields.many2one('res.users', 'Validated By', readonly=True),
|
||||
'company_id':fields.many2one('res.company', 'Company', readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
|
||||
'delay':fields.float('Days to Validate', digits=(16,2), readonly=True, group_operator="avg"),
|
||||
'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True, group_operator="avg"),
|
||||
'delay':fields.float('Days to Validate', digits=(16,2), readonly=True),
|
||||
'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True),
|
||||
'quantity': fields.float('# of Products', readonly=True),
|
||||
'price_total': fields.float('Total Price', readonly=True),
|
||||
'price_average': fields.float('Unit Price', readonly=True, group_operator="avg"),
|
||||
'price_average': fields.float('Average Price', readonly=True, group_operator="avg"),
|
||||
'negociation': fields.float('Purchase-Standard Price', readonly=True, group_operator="avg"),
|
||||
'price_standard': fields.float('Products Value', readonly=True, group_operator="sum"),
|
||||
'nbr': fields.integer('# of PO Lines', readonly=True),
|
||||
'nbr': fields.integer('# of Lines', readonly=True),
|
||||
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
|
||||
('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),
|
||||
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="location_id" invisible="1"/>
|
||||
<field name="nbr"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
<field name="quantity" sum="# of Products"/>
|
||||
<field name="price_average" avg="Average Price"/>
|
||||
<field name="price_average" sum="Average Price"/>
|
||||
<field name="price_total" sum="Total Price"/>
|
||||
<field name="price_standard" sum="Products Costs"/>
|
||||
<field name="price_standard" sum="Products Value"/>
|
||||
<field name="negociation" widget="progressbar"/>
|
||||
<field name="delay"/>
|
||||
<field name="delay_pass"/>
|
||||
<field name="delay" sum="Days to Validate"/>
|
||||
<field name="delay_pass" sum="Days to Deliver"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -142,10 +142,11 @@
|
||||
|
||||
|
||||
<record id="action_purchase_order_report_all" model="ir.actions.act_window">
|
||||
<field name="name">Purchase Orders</field>
|
||||
<field name="name">Purchase Analysis</field>
|
||||
<field name="res_model">purchase.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="view_id" ref="view_purchase_order_tree"></field>
|
||||
<field name="context">{'search_default_month':1,'search_default_group_partner_id':1,'search_default_group_product_id': 1, 'search_default_orders': 1, 'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -26,3 +26,9 @@
|
||||
"access_res_partner_address_purchase_user","res.partner.address purchase","base.model_res_partner_address","group_purchase_user",1,0,0,0
|
||||
"access_account_journal","account.journal","account.model_account_journal","purchase.group_purchase_user",1,1,1,0
|
||||
"access_account_journal_manager","account.journal","account.model_account_journal","purchase.group_purchase_manager",1,1,1,1
|
||||
"access_account_period","account.period","account.model_account_period","purchase.group_purchase_user",1,0,0,0
|
||||
"access_account_fiscalyear","account.fiscalyear","account.model_account_fiscalyear","purchase.group_purchase_user",1,0,0,0
|
||||
"access_account_move","account.move","account.model_account_move","purchase.group_purchase_user",1,1,1,1
|
||||
"access_account_move_line","account.move.line","account.model_account_move_line","purchase.group_purchase_user",1,1,1,1
|
||||
"access_account_analytic_line","account.analytic.line","account.model_account_analytic_line","purchase.group_purchase_user",1,1,1,1
|
||||
"access_account_move_reconcile","account.move.reconcile","account.model_account_move_reconcile","purchase.group_purchase_user",1,1,1,1
|
||||
|
||||
|
@@ -39,7 +39,7 @@ class purchase_requisition(osv.osv):
|
||||
'exclusive': fields.selection([('exclusive','Purchase Tender (exclusive)'),('multiple','Multiple Requisitions')],'Requisition Type', required=True, help="Purchase Tender (exclusive):On the confirmation of a purchase order, it cancels the remaining purchase order.Multiple Requisitions:It allows to have multiple purchase orders.On confirmation of a purchase order it does not cancel the remaining orders"""),
|
||||
'description': fields.text('Description'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders'),
|
||||
'purchase_ids' : fields.one2many('purchase.order','requisition_id','Purchase Orders',states={'done': [('readonly', True)]}),
|
||||
'line_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase',states={'done': [('readonly', True)]}),
|
||||
'state': fields.selection([('draft','Draft'),('in_progress','In Progress'),('cancel','Cancelled'),('done','Done')], 'State', required=True)
|
||||
}
|
||||
@@ -129,10 +129,14 @@ class purchase_order(osv.osv):
|
||||
}
|
||||
def wkf_confirm_order(self, cr, uid, ids, context={}):
|
||||
res = super(purchase_order, self).wkf_confirm_order(cr, uid, ids, context)
|
||||
proc_obj=self.pool.get('procurement.order')
|
||||
for po in self.browse(cr, uid, ids, context):
|
||||
if po.requisition_id and (po.requisition_id.exclusive=='exclusive'):
|
||||
for order in po.requisition_id.purchase_ids:
|
||||
if order.id<>po.id:
|
||||
proc_ids = proc_obj.search(cr, uid, [('purchase_id', '=', order.id)])
|
||||
if proc_ids and po.state=='confirmed':
|
||||
proc_obj.wirte(cr,uid,proc_ids,{'purchase_id':po.id})
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'purchase.order', order.id, 'purchase_cancel', cr)
|
||||
self.pool.get('purchase.requisition').write(cr, uid, [po.requisition_id.id], {'state':'done','date_end':time.strftime('%Y-%m-%d %H:%M:%S')})
|
||||
@@ -155,14 +159,17 @@ product_product()
|
||||
class procurement_order(osv.osv):
|
||||
|
||||
_inherit = 'procurement.order'
|
||||
|
||||
_columns = {
|
||||
'requisition_id' : fields.many2one('purchase.requisition','Latest Requisition')
|
||||
}
|
||||
def make_po(self, cr, uid, ids, context=None):
|
||||
sequence_obj = self.pool.get('ir.sequence')
|
||||
res = super(procurement_order, self).make_po(cr, uid, ids, context=context)
|
||||
for proc_id, po_id in res.items():
|
||||
procurement = self.browse(cr, uid, proc_id)
|
||||
requisition_id=False
|
||||
if procurement.product_id.purchase_requisition:
|
||||
self.pool.get('purchase.requisition').create(cr, uid, {
|
||||
requisition_id=self.pool.get('purchase.requisition').create(cr, uid, {
|
||||
'name': sequence_obj.get(cr, uid, 'purchase.order.requisition'),
|
||||
'origin': procurement.name,
|
||||
'date_end': procurement.date_planned,
|
||||
@@ -174,6 +181,7 @@ class procurement_order(osv.osv):
|
||||
})],
|
||||
'purchase_ids': [(6,0,[po_id])]
|
||||
})
|
||||
self.write(cr,uid,proc_id,{'requisition_id':requisition_id})
|
||||
return res
|
||||
|
||||
procurement_order()
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
<field name="origin"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
|
||||
<notebook colspan="4">
|
||||
<page string="Products">
|
||||
<field name="line_ids" colspan="4" nolabel="1">
|
||||
@@ -83,7 +82,8 @@
|
||||
<separator colspan="4" string=""/>
|
||||
<group col="8" colspan="4">
|
||||
<label colspan="6" string=""/>
|
||||
<button name="%(action_purchase_requisition_partner)d" string="Requests for Quotation" type="action" icon="gtk-execute" />
|
||||
<button name="%(action_purchase_requisition_partner)d" string="Requests for Quotation" type="action" icon="gtk-execute"
|
||||
attrs="{'readonly': [('state', '=', 'done')]}" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
@@ -168,6 +168,17 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="procurement_normal_form_view_inherit">
|
||||
<field name="name">procurement.form.inherit</field>
|
||||
<field name="type">form</field>
|
||||
<field name="model">procurement.order</field>
|
||||
<field name="inherit_id" ref="procurement.procurement_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='close_move']" position="after">
|
||||
<field name="requisition_id"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
proc_obj = self.pool.get('procurement.order')
|
||||
proc_obj._procure_confirm(cr,uid)
|
||||
-
|
||||
On the purchase tender, I create a new purchase order for the supplier 'DistriPC' by clicking on
|
||||
On the purchase requisition, I create a new purchase order for the supplier 'DistriPC' by clicking on
|
||||
the button 'New RfQ'. This opens a window to ask me the supplier and I set DistriPC .
|
||||
-
|
||||
!record {model: purchase.requisition.partner, id: purchase_requisition_partner_0}:
|
||||
@@ -74,23 +74,25 @@
|
||||
-
|
||||
!python {model: purchase.requisition.partner}: |
|
||||
req_obj = self.pool.get('purchase.requisition')
|
||||
ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
|
||||
ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER')])
|
||||
self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
|
||||
'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
|
||||
1, "active_ids": ids, "active_id": ids[0], })
|
||||
|
||||
-
|
||||
I check that I have two purchase orders on the purchase tender.
|
||||
I check that I have two purchase orders on the purchase requisition.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
from tools.translate import _
|
||||
order_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
|
||||
ids=len(order_ids)
|
||||
assert (ids==2), "Purchase order hasn't Created"
|
||||
assert(ids == 2), _('Purchase Order not Created')
|
||||
|
||||
-
|
||||
I set the purchase requisition as 'Not Exclusive'.
|
||||
-
|
||||
!python {model: purchase.requisition}: |
|
||||
ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
|
||||
ids =self.search(cr, uid, [('origin','=','Laptop ACER')])
|
||||
self.write(cr,uid,ids[0],{'exclusive': 'multiple' })
|
||||
-
|
||||
I change the quantities so that the purchase order for DistriPC includes 3 pieces and the
|
||||
@@ -100,7 +102,7 @@
|
||||
line_obj=self.pool.get('purchase.order.line')
|
||||
partner_obj=self.pool.get('res.partner')
|
||||
requistion_obj=self.pool.get('purchase.requisition')
|
||||
requistion_ids =requistion_obj.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
|
||||
requistion_ids =requistion_obj.search(cr, uid, [('origin','=','Laptop ACER')])
|
||||
partner_id1=partner_obj.search(cr,uid,[('name','=','ASUStek')])[0]
|
||||
partner_id2=partner_obj.search(cr,uid,[('name','=','Distrib PC')])[0]
|
||||
purchase_id1= self.search(cr, uid, [('partner_id','=',partner_id1),('requisition_id','in',requistion_ids)])
|
||||
@@ -123,11 +125,13 @@
|
||||
I check that the delivery order of the customer is in state 'Waiting Goods'.
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
from tools.translate import _
|
||||
picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','delivery')])
|
||||
if picking_id:
|
||||
pick=self.browse(cr,uid,picking_id[0])
|
||||
assert (pick.state) =='confirmed'," Order is not confirm"
|
||||
assert(pick.move_lines[0].state=='wating'),'Order is not wating"'
|
||||
assert (pick.state =='confirmed'),_('Picking is not in confirm state.')
|
||||
assert (pick.move_lines[0].state == 'waiting'), _('Stock Move is not Waiting state.')
|
||||
|
||||
-
|
||||
I receive the order of the supplier Asustek from the Incoming Products menu.
|
||||
-
|
||||
@@ -176,8 +180,10 @@
|
||||
I check that the delivery order of the customer is in the state Available.
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
from tools.translate import _
|
||||
picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','out')])
|
||||
if picking_id:
|
||||
pick=self.browse(cr,uid,picking_id[0])
|
||||
assert (pick.state) =='available'," Order is not available"
|
||||
print pick.state
|
||||
assert(pick.state == 'assigned'), _('Picking is not in available state')
|
||||
|
||||
|
||||
@@ -60,11 +60,11 @@
|
||||
5 Laptop ACER, and a purchase order on the default supplier for this product.
|
||||
-
|
||||
!python {model: purchase.requisition}: |
|
||||
requisition_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
requisition_ids =self.search(cr, uid, [('origin','=','Laptop ACER1')])
|
||||
ids=len(requisition_ids)
|
||||
assert len(requisition_ids), "Purchase requisition hasn't Created"
|
||||
-
|
||||
On the purchase tender, I create a new purchase order for the supplier 'DistriPC' by clicking on
|
||||
On the purchase requisition, I create a new purchase order for the supplier 'DistriPC' by clicking on
|
||||
the button 'New Request for Quotation'. This opens a window to ask me the supplier and I set DistriPC .
|
||||
-
|
||||
I Create purchase.requisition.partner .
|
||||
@@ -77,15 +77,15 @@
|
||||
-
|
||||
!python {model: purchase.requisition.partner}: |
|
||||
req_obj = self.pool.get('purchase.requisition')
|
||||
ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER1')])
|
||||
self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
|
||||
'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
|
||||
1, "active_ids": ids, "active_id": ids[0], })
|
||||
-
|
||||
I set the purchase tender as 'Exclusive'
|
||||
I set the purchase requisition as 'Exclusive'
|
||||
-
|
||||
!python {model: purchase.requisition}: |
|
||||
ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
ids =self.search(cr, uid, [('origin','=','Laptop ACER1')])
|
||||
self.write(cr,uid,ids[0],{'exclusive': 'exclusive' })
|
||||
-
|
||||
I confirm and validate the Request for Quotation of ASUStek.
|
||||
@@ -93,7 +93,7 @@
|
||||
!python {model: purchase.order}: |
|
||||
partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','ASUStek')])[0]
|
||||
req_obj = self.pool.get('purchase.requisition')
|
||||
ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER1')])
|
||||
purchase_id= self.search(cr, uid, [('partner_id','=',partner_id),('requisition_id','in',ids)])[0]
|
||||
import netsvc
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
@@ -106,7 +106,7 @@
|
||||
!python {model: purchase.order}: |
|
||||
partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','Distrib PC')])[0]
|
||||
req_obj = self.pool.get('purchase.requisition')
|
||||
ids =req_obj.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
ids =req_obj.search(cr, uid, [('origin','=','Laptop ACER1')])
|
||||
purchase_id= self.search(cr, uid, [('partner_id','=',partner_id),('requisition_id','in',ids)])[0]
|
||||
state=self.browse(cr,uid,purchase_id).state
|
||||
assert (state=='cancel')
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: sale
|
||||
|
||||
@@ -74,7 +74,7 @@ class sale_report(osv.osv):
|
||||
tools.drop_view_if_exists(cr, 'sale_report')
|
||||
cr.execute("""
|
||||
create or replace view sale_report as (
|
||||
select el.*,
|
||||
select el.*,
|
||||
-- (select count(1) from sale_order_line where order_id = s.id) as nbr,
|
||||
(select 1) as nbr,
|
||||
s.date_order as date,
|
||||
@@ -86,28 +86,46 @@ class sale_report(osv.osv):
|
||||
s.user_id as user_id,
|
||||
s.shop_id as shop_id,
|
||||
s.company_id as company_id,
|
||||
extract(epoch from (s.date_confirm-s.create_date))/(24*60*60)::decimal(16,2) as delay,
|
||||
extract(epoch from avg(date_trunc('day',s.date_confirm)-date_trunc('day',s.create_date)))/(24*60*60)::decimal(16,2) as delay,
|
||||
s.state,
|
||||
s.shipped,
|
||||
s.shipped::integer as shipped_qty_1,
|
||||
s.pricelist_id as pricelist_id,
|
||||
s.project_id as analytic_account_id
|
||||
from
|
||||
sale_order s,
|
||||
(
|
||||
select l.id as id,
|
||||
l.product_id as product_id,
|
||||
u.name as uom_name,
|
||||
sum(l.product_uom_qty * u.factor) as product_uom_qty,
|
||||
sum(l.product_uom_qty*l.price_unit) as price_total,
|
||||
(sum(l.product_uom_qty*l.price_unit)/sum(l.product_uom_qty * u.factor)*count(l.product_id))::decimal(16,2) as price_average,
|
||||
pt.categ_id, l.order_id
|
||||
from
|
||||
sale_order_line l
|
||||
left join product_uom u on (u.id=l.product_uom)
|
||||
left join product_template pt on (pt.id=l.product_id)
|
||||
group by l.id, l.order_id, l.product_id, u.name, pt.categ_id) el
|
||||
where s.id = el.order_id
|
||||
from
|
||||
sale_order s,
|
||||
(
|
||||
select l.id as id,
|
||||
l.product_id as product_id,
|
||||
u.name as uom_name,
|
||||
sum(l.product_uom_qty * u.factor) as product_uom_qty,
|
||||
sum(l.product_uom_qty*l.price_unit) as price_total,
|
||||
(sum(l.product_uom_qty*l.price_unit)/sum(l.product_uom_qty * u.factor)*count(l.product_id))::decimal(16,2) as price_average,
|
||||
pt.categ_id, l.order_id
|
||||
from
|
||||
sale_order_line l
|
||||
left join product_uom u on (u.id=l.product_uom)
|
||||
left join product_template pt on (pt.id=l.product_id)
|
||||
group by l.id, l.order_id, l.product_id, u.name, pt.categ_id) el
|
||||
where s.id = el.order_id
|
||||
group by el.id,
|
||||
el.product_id,
|
||||
el.uom_name,
|
||||
el.product_uom_qty,
|
||||
el.price_total,
|
||||
el.price_average,
|
||||
el.categ_id,
|
||||
el.order_id,
|
||||
s.date_order,
|
||||
s.date_confirm,
|
||||
s.partner_id,
|
||||
s.user_id,
|
||||
s.shop_id,
|
||||
s.company_id,
|
||||
s.state,
|
||||
s.shipped,
|
||||
s.pricelist_id,
|
||||
s.project_id
|
||||
)
|
||||
""")
|
||||
sale_report()
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
<field name="product_uom_qty" sum="# of Qty"/>
|
||||
<field name="shipped_qty_1"/>
|
||||
<field name="uom_name" invisible="context.get('set_visible',False)"/>
|
||||
<field name="price_average" avg="Average Price"/>
|
||||
<field name="shipped_qty_1" sum="Shipped Qty"/>
|
||||
<field name="uom_name" invisible="not context.get('set_visible',False)"/>
|
||||
<field name="price_average" sum="Average Price"/>
|
||||
<field name="price_total" sum="Total Price"/>
|
||||
<field name="delay" avg="Commitment Delay"/>
|
||||
<field name="delay" sum="Commitment Delay"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="analytic_account_id" invisible="1"/>
|
||||
</tree>
|
||||
@@ -122,6 +122,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="search_view_id" ref="view_order_product_search"/>
|
||||
<field name="view_id" ref="view_order_product_tree"/>
|
||||
<field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-08 03:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: wiki
|
||||
|
||||
Reference in New Issue
Block a user