diff --git a/TASK_CONTEXT.md b/TASK_CONTEXT.md new file mode 100644 index 0000000..d3a2c72 --- /dev/null +++ b/TASK_CONTEXT.md @@ -0,0 +1,38 @@ +# Следующая задача: экспорт/импорт счетов Company + +## Задача +Добавить кнопку "Export Defaults" в форму/список Company, которая выгружает все поля-ссылки на Account (Link to Account) в JSON. При установке на новой базе — проставлять эти счета в Company через setup_wizard_complete. + +## Паттерн (уже реализован для Salary Component и Leave Type) +- Экспорт: Python `@frappe.whitelist()` функция → возвращает данные → JS скачивает как JSON +- JSON хранится в `jey_erp/default_data/company_defaults.json` +- Импорт: в `setup_wizard_handler.py` новая функция, вызывается из `setup_wizard_complete` в hooks.py +- Account хранится как `account_name` (без суффикса компании), при импорте резолвится через `frappe.db.get_value("Account", {"account_name": ..., "company": company}, "name")` + +## Структура приложения +- `/home/frappe/frappe-bench/apps/jey_erp/jey_erp/` +- `custom/` — Python экспорт-функции (salary_component_export.py, account_export.py, leave_type_export.py) +- `public/js/` — JS кнопки (salary_component_list.js, account_list.js, leave_type_list.js) +- `default_data/` — JSON файлы (salary_components.json, leave_types.json) +- `setup/setup_wizard_handler.py` — импорт при установке +- `hooks.py` — регистрация всего + +## hooks.py ключевые строки +```python +doctype_list_js = { + "Currency Exchange": "public/js/currency_exchange_list.js", + "Salary Component": "public/js/salary_component_list.js", + "Account": "public/js/account_list.js", + "Leave Type": "public/js/leave_type_list.js", +} + +setup_wizard_complete = [ + "jey_erp.setup.setup_wizard_handler.create_default_salary_components", + "jey_erp.setup.setup_wizard_handler.create_default_leave_types", +] +``` + +## Git +- jey_erp: branch `main`, remote `upstream` +- az_locale: branch `develop`, remote `upstream` +- Команда пуша: `git push upstream main` diff --git a/jey_erp/default_data/company_defaults.json b/jey_erp/default_data/company_defaults.json index f706324..aefc734 100644 --- a/jey_erp/default_data/company_defaults.json +++ b/jey_erp/default_data/company_defaults.json @@ -1,11 +1,23 @@ { - "default_bank_account": "224.3", - "default_cash_account": "225", - "default_receivable_account": "233", - "default_payable_account": "538", + "default_bank_account": "223.1", + "default_cash_account": "221", + "default_receivable_account": "211", + "write_off_account": "731.6", + "exchange_gain_loss_account": "751", + "unrealized_exchange_gain_loss_account": "332", + "default_payable_account": "538.1", "default_expense_account": "701.5", "default_income_account": "601", - "default_inventory_account": "207", - "accumulated_depreciation_account": "235", - "capital_work_in_progress_account": "123.2" -} + "default_deferred_revenue_account": "442", + "default_deferred_expense_account": "242", + "default_inventory_account": "205", + "stock_adjustment_account": "731.12", + "stock_received_but_not_billed": "515.2", + "accumulated_depreciation_account": "112", + "depreciation_expense_account": "731.11", + "disposal_account": "731.1", + "capital_work_in_progress_account": "123.2", + "asset_received_but_not_billed": "531.1", + "default_discount_account": "603", + "default_operating_cost_account": "731" +} \ No newline at end of file