now script creates asset category
This commit is contained in:
parent
b591202c95
commit
bb5bcc37ed
|
|
@ -0,0 +1,79 @@
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def create_asset_categories():
|
||||||
|
"""Create default Asset Categories with accounts"""
|
||||||
|
|
||||||
|
# Получаем первую компанию
|
||||||
|
company = frappe.get_all("Company", limit=1)
|
||||||
|
if not company:
|
||||||
|
frappe.throw("No company found in the system")
|
||||||
|
|
||||||
|
company_name = company[0].name
|
||||||
|
|
||||||
|
# Список категорий активов
|
||||||
|
asset_categories = [
|
||||||
|
"Binalar, tikililər və qurğular",
|
||||||
|
"Maşınlar və avadanlıqlar",
|
||||||
|
"Yüksək texnologiyalar məhsulu olan hesablama texnikası",
|
||||||
|
"Nəqliyyat vasitələri",
|
||||||
|
"Digər əsas vəsaitlər",
|
||||||
|
"Düzən torpaqlar",
|
||||||
|
"Dağ torpaqlar",
|
||||||
|
"Orta və yüksək dağ torpaqlar",
|
||||||
|
"Şəhərin mövcud hüdudundan kənarda olan kənd təsərrüfatı təyinatlı torpaqlar",
|
||||||
|
"Sənaye, tikinti, nəqliyyat, rabitə, ticarət-məişət xidməti və digər xüsusi təyinatlı torpaq sahələri"
|
||||||
|
]
|
||||||
|
|
||||||
|
# Находим нужные счета по account_name (только название, без кода)
|
||||||
|
accumulated_depreciation = get_account_by_name(
|
||||||
|
"Tikililər üzrə yığılmış amortizasiya",
|
||||||
|
company_name
|
||||||
|
)
|
||||||
|
depreciation_expense = get_account_by_name(
|
||||||
|
"Amortizasiya xərci",
|
||||||
|
company_name
|
||||||
|
)
|
||||||
|
fixed_asset = get_account_by_name(
|
||||||
|
"Digər uzunmüddətli aktivlər",
|
||||||
|
company_name
|
||||||
|
)
|
||||||
|
|
||||||
|
# Создаем категории активов
|
||||||
|
for category_name in asset_categories:
|
||||||
|
if not frappe.db.exists("Asset Category", category_name):
|
||||||
|
asset_category = frappe.new_doc("Asset Category")
|
||||||
|
asset_category.asset_category_name = category_name
|
||||||
|
asset_category.enable_cwip_accounting = 0
|
||||||
|
|
||||||
|
# Добавляем accounts
|
||||||
|
asset_category.append("accounts", {
|
||||||
|
"company_name": company_name,
|
||||||
|
"fixed_asset_account": fixed_asset,
|
||||||
|
"accumulated_depreciation_account": accumulated_depreciation,
|
||||||
|
"depreciation_expense_account": depreciation_expense,
|
||||||
|
"capital_work_in_progress_account": ""
|
||||||
|
})
|
||||||
|
|
||||||
|
asset_category.insert(ignore_permissions=True)
|
||||||
|
frappe.db.commit()
|
||||||
|
|
||||||
|
print(f"Created Asset Category: {category_name}")
|
||||||
|
else:
|
||||||
|
print(f"Asset Category already exists: {category_name}")
|
||||||
|
|
||||||
|
|
||||||
|
def get_account_by_name(account_name, company):
|
||||||
|
"""Get account by account_name field"""
|
||||||
|
account = frappe.db.get_value(
|
||||||
|
"Account",
|
||||||
|
{
|
||||||
|
"account_name": account_name,
|
||||||
|
"company": company
|
||||||
|
},
|
||||||
|
"name"
|
||||||
|
)
|
||||||
|
|
||||||
|
if not account:
|
||||||
|
frappe.throw(f"Account not found: {account_name} for company {company}")
|
||||||
|
|
||||||
|
return account
|
||||||
|
|
@ -1,112 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Binalar, tikililər və qurğular",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Binalar, tikililər və qurğular",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Maşınlar və avadanlıqlar",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Maşınlar və avadanlıqlar",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Yüksək texnologiyalar məhsulu olan hesablama texnikası",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Yüksək texnologiyalar məhsulu olan hesablama texnikası",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Nəqliyyat vasitələri",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Nəqliyyat vasitələri",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Digər əsas vəsaitlər",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Digər əsas vəsaitlər",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Düzən torpaqlar",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Düzən torpaqlar",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Dağ torpaqlar",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Dağ torpaqlar",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Orta və yüksək dağ torpaqlar",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Orta və yüksək dağ torpaqlar",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Şəhərin mövcud hüdudundan kənarda olan kənd təsərrüfatı təyinatlı torpaqlar",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Şəhərin mövcud hüdudundan kənarda olan kənd təsərrüfatı təyinatlı torpaqlar",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"accounts": [],
|
|
||||||
"asset_category_name": "Sənaye, tikinti, nəqliyyat, rabitə, ticarət-məişət xidməti və digər xüsusi təyinatlı torpaq sahələri",
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Asset Category",
|
|
||||||
"enable_cwip_accounting": 0,
|
|
||||||
"finance_books": [],
|
|
||||||
"modified": "2025-11-14 12:00:00.000000",
|
|
||||||
"name": "Sənaye, tikinti, nəqliyyat, rabitə, ticarət-məişət xidməti və digər xüsusi təyinatlı torpaq sahələri",
|
|
||||||
"non_depreciable_category": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
@ -61,6 +61,8 @@ def after_migrate_combined():
|
||||||
show_item_tax_template_in_sales_invoice()
|
show_item_tax_template_in_sales_invoice()
|
||||||
from jey_erp.custom.vat_calculations import patch_sales_documents
|
from jey_erp.custom.vat_calculations import patch_sales_documents
|
||||||
patch_sales_documents()
|
patch_sales_documents()
|
||||||
|
from jey_erp.custom.create_asset_categories import create_asset_categories
|
||||||
|
create_asset_categories()
|
||||||
|
|
||||||
|
|
||||||
fixtures = [
|
fixtures = [
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue