Skip to content

Commit

Permalink
Merge 30f13ff into 9d3fd0f
Browse files Browse the repository at this point in the history
  • Loading branch information
USI-SHRD committed Jun 27, 2018
2 parents 9d3fd0f + 30f13ff commit c859562
Show file tree
Hide file tree
Showing 3 changed files with 170 additions and 6 deletions.
10 changes: 5 additions & 5 deletions finance/models/trial_balance.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ def button_change_number(self):
'target': 'new',
'context': dict(
self.env.context,
active_id = self.id,
active_ids = [self.id]
active_id=self.id,
active_ids=[self.id]
),
}

Expand Down Expand Up @@ -269,7 +269,7 @@ class ChangeCumulativeOccurrenceWizard(models.TransientModel):

@api.model
def default_get(self, fields):
if len(self.env.context.get('active_ids', False) ) >1 :
if len(self.env.context.get('active_ids', False)) > 1:
raise UserError( u'一次只能调整一行')
res = super(ChangeCumulativeOccurrenceWizard, self).default_get(fields)
active_id = self.env.context.get('active_id', False)
Expand All @@ -288,12 +288,12 @@ def default_get(self, fields):
'account_id': trial_balance_item.subject_name_id.id
})
return res

@api.multi
def update_cumulative_occurrence(self):
parent_accounts =[]
account = self.trial_balance_id.subject_name_id
while account :
while account:
parent_accounts.append(account)
account = account.parent_id

Expand Down
164 changes: 164 additions & 0 deletions finance/tests/test_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,170 @@ def test_trail_balance(self):
last_period.is_closed = True
report_default_period.create_trial_balance()

def test_button_change_number(self):
''' 测试 调整累计数 弹窗'''
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,找到叶科目 银行存款-基本户,弹出 调整累计数向导 窗口
for trial in self.env['trial.balance'].search([]):
if trial.subject_name_id.id == self.env.ref('finance.account_bank').id:
trial.button_change_number()
break

def test_change_cumulative_occurrence_wizard_default_get(self):
''' 测试 调整累计数 向导 default_get '''
wizard_obj = self.env['change.cumulative.occurrence.wizard']
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,找到叶科目 银行存款-基本户,调整累计数
for trial in self.env['trial.balance'].search([]):
if trial.subject_name_id.id == self.env.ref('finance.account_bank').id:
ctx = self.env.context.copy()
ctx['active_id'] = trial.id
ctx['active_ids'] = [trial.id]
env2 = self.env(self.env.cr, self.env.uid, ctx)
wizard_obj.with_env(env2).default_get([
'cumulative_occurrence_debit', 'cumulative_occurrence_credit',
'old_cumulative_occurrence_debit', 'old_cumulative_occurrence_credit',
'trial_balance_id', 'account_id'])

# 只能调整末级科目相关的行 报错
with self.assertRaises(UserError):
trial.subject_name_id.account_type = 'view'
env2 = self.env(self.env.cr, self.env.uid, ctx)
wizard_obj.with_env(env2).default_get([
'cumulative_occurrence_debit', 'cumulative_occurrence_credit',
'old_cumulative_occurrence_debit', 'old_cumulative_occurrence_credit',
'trial_balance_id', 'account_id'])

# 一次只能调整一行 报错
with self.assertRaises(UserError):
trial.subject_name_id.account_type = 'normal'
ctx['active_ids'] = [trial.id, trial.id]
env2 = self.env(self.env.cr, self.env.uid, ctx)
wizard_obj.with_env(env2).default_get([
'cumulative_occurrence_debit', 'cumulative_occurrence_credit',
'old_cumulative_occurrence_debit', 'old_cumulative_occurrence_credit',
'trial_balance_id', 'account_id'])

def test_update_cumulative_occurrence(self):
''' 测试:update_cumulative_occurrence '''
wizard_obj = self.env['change.cumulative.occurrence.wizard']
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,找到叶科目 银行存款-基本户,调整累计数
for trial in self.env['trial.balance'].search([]):
ctx = self.env.context.copy()
fields_list = ['cumulative_occurrence_debit', 'cumulative_occurrence_credit',
'old_cumulative_occurrence_debit', 'old_cumulative_occurrence_credit',
'trial_balance_id', 'account_id']
# costs_types not in ('in', 'out')
if trial.subject_name_id == self.env.ref('finance.account_bank'):
ctx['active_id'] = trial.id
ctx['active_ids'] = [trial.id]
env2 = self.env(self.env.cr, self.env.uid, ctx)
values = wizard_obj.with_env(env2).default_get(fields_list)
wizard = wizard_obj.with_env(env2).create(values)
wizard.update_cumulative_occurrence()
if trial.subject_name_id == self.env.ref('finance.account_income'): # costs_types in ('in', 'out')
ctx['active_id'] = trial.id
ctx['active_ids'] = [trial.id]
env2 = self.env(self.env.cr, self.env.uid, ctx)
values = wizard_obj.with_env(env2).default_get(fields_list)
wizard = wizard_obj.with_env(env2).create(values)
wizard.update_cumulative_occurrence()

def test_check_trial_balance_wizard_default_get(self):
''' 测试 试算平衡 向导 default_get '''
wizard_obj = self.env['check.trial.balance.wizard']
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,找到叶科目 银行存款-基本户,试算平衡
for trial in self.env['trial.balance'].search([]):
field_list = [
"total_year_init_debit", "total_year_init_credit",
"total_initial_balance_debit", "total_initial_balance_credit",
"total_current_occurrence_debit", "total_current_occurrence_credit",
"total_ending_balance_debit", "total_ending_balance_credit",
"total_cumulative_occurrence_debit", "total_cumulative_occurrence_credit"
]
if trial.subject_name_id.id == self.env.ref('finance.account_bank').id:
ctx = self.env.context.copy()
ctx['active_id'] = trial.id
ctx['active_ids'] = [trial.id]
env2 = self.env(self.env.cr, self.env.uid, ctx)
wizard_obj.with_env(env2).default_get(field_list)

def test_check_trial_balance_wizard_default_get_diff_exists(self):
''' 测试 试算平衡 向导 default_get diff exists '''
wizard_obj = self.env['check.trial.balance.wizard']
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 修改当期 一个凭证行的贷方金额,使贷方金额不等于借方金额
self.env.ref('finance.voucher_12_2_credit').credit = 4999
# 修改上期 一个凭证行的贷方金额,使贷方金额不等于借方金额
self.env.ref('finance.voucher_12').voucher_id = '201511'
self.env.ref('finance.voucher_line_12_credit').credit = 1000002
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,找到叶科目 银行存款-基本户,试算平衡
for trial in self.env['trial.balance'].search([]):
field_list = [
"total_year_init_debit", "total_year_init_credit",
"total_initial_balance_debit", "total_initial_balance_credit",
"total_current_occurrence_debit", "total_current_occurrence_credit",
"total_ending_balance_debit", "total_ending_balance_credit",
"total_cumulative_occurrence_debit", "total_cumulative_occurrence_credit"
]
if trial.subject_name_id.id == self.env.ref('finance.account_bank').id:
ctx = self.env.context.copy()
ctx['active_id'] = trial.id
ctx['active_ids'] = [trial.id]
env2 = self.env(self.env.cr, self.env.uid, ctx)
wizard_obj.with_env(env2).default_get(field_list)

def test_check_trial_balance(self):
''' 测试 试算平衡 check_trial_balance '''
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,找到叶科目 银行存款-基本户,试算平衡
for trial in self.env['trial.balance'].search([]):
if trial.subject_name_id.id == self.env.ref('finance.account_bank').id:
if trial.period_id == self.period_201512:
trial.check_trial_balance(self.period_201512)
if trial.period_id == trial.period_id.get_init_period():
trial.check_trial_balance(trial.period_id.get_init_period())

def test_check_trial_balance_diff_exists(self):
''' 测试 试算平衡 check_trial_balance diff exists '''
report = self.env['create.trial.balance.wizard'].create(
{'period_id': self.period_201512.id})
# 修改当期 一个凭证行的贷方金额,使贷方金额不等于借方金额
self.env.ref('finance.voucher_12_2_credit').credit = 4999
# 修改上期 一个凭证行的贷方金额,使贷方金额不等于借方金额
self.env.ref('finance.voucher_12').voucher_id = '201511'
self.env.ref('finance.voucher_line_12_credit').credit = 1000002
# 创建科目余额表
report.create_trial_balance()
# 期间 period_201512,init_period 试算平衡
for trial in self.env['trial.balance'].search([]):
if trial.subject_name_id.id == self.env.ref('finance.account_bank').id:
if trial.period_id == self.period_201512:
with self.assertRaises(UserError):
trial.check_trial_balance(self.period_201512)
if trial.period_id == trial.period_id.get_init_period():
trial.check_trial_balance(trial.period_id.get_init_period())

def test_vouchers_summary(self):
''' 测试总账和明细账'''
report = self.env['create.vouchers.summary.wizard'].create(
Expand Down
2 changes: 1 addition & 1 deletion warehouse/report/stock_balance_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<field name='model'>report.stock.balance</field>
<field name='arch' type='xml'>
<search string='商品库存余额表' >
<field name='goods' string='商品' filter_domain="[('goods', 'ilike', self)]" />
<field name='goods' string='编号/商品名' filter_domain="[('goods_id', 'ilike', self)]" />
<field name='lot' string='批号' filter_domain="[('lot', 'ilike', self)]" groups='goods.batch_groups' />
<field name='warehouse' string='仓库' filter_domain="[('warehouse', 'ilike', self)]" groups='warehouse.multi_warehouse_groups' />

Expand Down

0 comments on commit c859562

Please sign in to comment.