first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
=======================
Purchase Asset Scenario
=======================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_fiscalyear, get_accounts)
>>> from trytond.modules.account_asset.tests.tools import add_asset_accounts
>>> from trytond.modules.account_invoice.tests.tools import (
... set_fiscalyear_invoice_sequences)
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules(
... ['account_asset', 'purchase'], create_company, create_chart)
Create fiscal year::
>>> fiscalyear = set_fiscalyear_invoice_sequences(
... create_fiscalyear())
>>> fiscalyear.click('create_period')
Get accounts::
>>> accounts = add_asset_accounts(get_accounts())
>>> revenue = accounts['revenue']
>>> asset_account = accounts['asset']
>>> expense = accounts['expense']
>>> depreciation_account = accounts['depreciation']
Create account category::
>>> ProductCategory = Model.get('product.category')
>>> account_category = ProductCategory(name="Account Category")
>>> account_category.accounting = True
>>> account_category.account_expense = expense
>>> account_category.account_revenue = revenue
>>> account_category.account_asset = asset_account
>>> account_category.account_depreciation = depreciation_account
>>> account_category.save()
Create products::
>>> ProductUom = Model.get('product.uom')
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> ProductTemplate = Model.get('product.template')
>>> asset_template = ProductTemplate()
>>> asset_template.name = 'Asset'
>>> asset_template.type = 'assets'
>>> asset_template.default_uom = unit
>>> asset_template.list_price = Decimal('1000')
>>> asset_template.depreciable = True
>>> asset_template.purchasable = True
>>> asset_template.account_category = account_category
>>> asset_template.depreciation_duration = 24
>>> asset_template.save()
>>> service_product, = asset_template.products
>>> asset_product, = asset_template.products
>>> service_template = ProductTemplate()
>>> service_template.name = 'Service'
>>> service_template.type = 'service'
>>> service_template.default_uom = unit
>>> service_template.list_price = Decimal('10')
>>> service_template.purchasable = True
>>> service_template.account_category = account_category
>>> service_template.save()
>>> service_product, = service_template.products
Create supplier::
>>> Party = Model.get('party.party')
>>> supplier = Party(name='Supplier')
>>> supplier.save()
Purchase an asset mixed with services::
>>> Purchase = Model.get('purchase.purchase')
>>> purchase = Purchase()
>>> purchase.party = supplier
>>> line = purchase.lines.new()
>>> line.product = asset_product
>>> line.quantity = 1
>>> line.unit_price = Decimal('500.0000')
>>> line = purchase.lines.new()
>>> line.product = service_product
>>> line.quantity = 1
>>> line.unit_price = Decimal('5.0000')
>>> purchase.click('quote')
>>> purchase.click('confirm')
>>> purchase.click('process')
>>> invoice, = purchase.invoices
>>> asset_line, service_line = invoice.lines
>>> assertEqual(asset_line.account, asset_account)
>>> assertEqual(service_line.account, expense)