Merge branch 'stable'
This commit is contained in:
commit
144c6e131b
@ -1,722 +1,377 @@
|
||||
# Module Def, Accounts
|
||||
[
|
||||
|
||||
# These values are common in all dictionaries
|
||||
{
|
||||
'_last_update': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'disabled': 'No',
|
||||
'creation': '2010-09-25 10:50:34',
|
||||
'docstatus': 0,
|
||||
'doctype': u'Module Def',
|
||||
'modified': '2011-07-15 10:43:04',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all Module Def Role
|
||||
{
|
||||
'doctype': 'Module Def Role',
|
||||
'name': '__common__',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'roles',
|
||||
'parenttype': 'Module Def'
|
||||
},
|
||||
|
||||
# These values are common for all Module Def Item
|
||||
{
|
||||
'doctype': 'Module Def Item',
|
||||
'name': '__common__',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
},
|
||||
|
||||
# These values are common for all Module Def
|
||||
{
|
||||
'disabled': 'No',
|
||||
'doctype': 'Module Def',
|
||||
'doctype_list': 'GL Mapper, Journal Voucher\nGL Mapper, Payable Voucher\nGL Mapper, Receivable Voucher\nDocType Label, Receivable Voucher\nDocType Label, Payable Voucher',
|
||||
'file_list': 'finance.gif,FileData/00210',
|
||||
'idx': None,
|
||||
'is_hidden': 'No',
|
||||
'last_updated_date': '2010-12-08 10:13:30',
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'module_desc': 'Data about your payables, receivables and books of accounts',
|
||||
'module_icon': 'Accounts.gif',
|
||||
'module_label': 'Accounts',
|
||||
'module_name': 'Accounts',
|
||||
'module_page': None,
|
||||
'module_seq': 6,
|
||||
'name': 'Accounts',
|
||||
'owner': 'Administrator',
|
||||
'parent': None,
|
||||
'parentfield': None,
|
||||
'parenttype': None,
|
||||
'trash_reason': None,
|
||||
'widget_code': ""
|
||||
'module_seq': 5,
|
||||
'name': '__common__'
|
||||
},
|
||||
|
||||
# Module Def, Accounts
|
||||
{
|
||||
'doctype': 'Module Def',
|
||||
'name': 'Accounts'
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': "show_chart_browser('Accounts Browser','Account')",
|
||||
'creation': '2010-10-04 17:16:24',
|
||||
'description': 'Manage your accounts',
|
||||
'display_name': 'Chart of Accounts',
|
||||
'doc_name': 'Accounts Browser',
|
||||
'doc_type': 'Pages',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 1,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01178',
|
||||
'owner': 'harshada@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 1
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': "show_chart_browser('Accounts Browser','Cost Center')",
|
||||
'creation': '2010-10-05 12:51:20',
|
||||
'description': 'Manage your cost centers',
|
||||
'display_name': 'Chart of Cost Centers',
|
||||
'doc_name': 'Accounts Browser',
|
||||
'doc_type': 'Pages',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 2,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01183',
|
||||
'owner': 'harshada@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 2
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': 'Regular journal entry',
|
||||
'display_name': 'Journal Voucher',
|
||||
'doc_name': 'Journal Voucher',
|
||||
'doc_type': 'Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': 'voucher_type\nvoucher_date\nfiscal_year\ntotal_debit\ntotal_credit',
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 3,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01012',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 3
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': 'Outgoing Invoice to your customers',
|
||||
'display_name': 'Sales Invoice',
|
||||
'doc_name': 'Receivable Voucher',
|
||||
'doc_type': 'Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': 'voucher_date\ndue_date\ndebit_to\ngrand_total\noutstanding_amount',
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 4,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01013',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 4
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': 'Incoming invoice from your service providers',
|
||||
'display_name': 'Purchase Invoice',
|
||||
'doc_name': 'Payable Voucher',
|
||||
'doc_type': 'Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': 'voucher_date\ncredit_to\nbill_no\ngrand_total\noutstanding_amount',
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 5,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01014',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 5
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'display_name': 'Loan',
|
||||
'doc_name': 'Loan',
|
||||
'doc_type': 'Forms',
|
||||
'doctype': 'Module Def Item',
|
||||
'idx': 6
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': 'Profit & Loss and Balance Sheet builder',
|
||||
'display_name': 'Financial Statements',
|
||||
'doc_name': 'Financial Statements',
|
||||
'doc_type': 'Pages',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': 'table.gif',
|
||||
'idx': 6,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01015',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 7
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': 'Update your actual clearance dates and find out if bank ledger tallies with your bank statement.',
|
||||
'display_name': 'Bank Reconciliation',
|
||||
'doc_name': 'Bank Reconciliation',
|
||||
'doc_type': 'Single DocType',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 7,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01016',
|
||||
'owner': 'saumil@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 8
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'TDS Payment',
|
||||
'doc_name': 'TDS Payment',
|
||||
'doc_type': 'Setup Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 8,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01017',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 9
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'TDS Return Acknowledgement',
|
||||
'doc_name': 'TDS Return Acknowledgement',
|
||||
'doc_type': 'Setup Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 9,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01018',
|
||||
'owner': 'nabin@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 10
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Form 16A',
|
||||
'doc_name': 'Form 16A',
|
||||
'doc_type': 'Setup Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 10,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01019',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 11
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-10-25 17:25:22',
|
||||
'description': 'Account closing entry (Profit Booking) on any date',
|
||||
'display_name': 'Period Closing Voucher',
|
||||
'doc_name': 'Period Closing Voucher',
|
||||
'doc_type': 'Setup Forms',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 11,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01188',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 12
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2011-05-24 14:47:53',
|
||||
'description': 'You can export balance of selected ledgers within a specific period',
|
||||
'display_name': 'Ledger Balance Export',
|
||||
'doc_name': 'Ledger Balance Export',
|
||||
'doc_type': 'Single DocType',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 12,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01283',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 13
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'General Ledger',
|
||||
'doc_name': 'GL Entry',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 13,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01021',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 14
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Accounts Receivable',
|
||||
'doc_name': 'GL Entry',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 14,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01022',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 15
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Accounts Payable',
|
||||
'doc_name': 'GL Entry',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 15,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01023',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 16
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Bank Reconciliation Statement',
|
||||
'doc_name': 'Journal Voucher Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 16,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01024',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 17
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Trial Balance',
|
||||
'doc_name': 'Account',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 17,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01025',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 18
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Sales Register',
|
||||
'doc_name': 'Receivable Voucher',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 18,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01026',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 19
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Purchase Register',
|
||||
'doc_name': 'Payable Voucher',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 19,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01027',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 20
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Bank Clearance report',
|
||||
'doc_name': 'Journal Voucher Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 20,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01028',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 21
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Monthly Ledger Summary Report',
|
||||
'doc_name': 'GL Entry',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 21,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01031',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 22
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Collection Report',
|
||||
'doc_name': 'Journal Voucher Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 22,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01032',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 23
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Total amout collection for a period - Customerwise',
|
||||
'doc_name': 'Account',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 23,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01033',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 24
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Payment Report',
|
||||
'doc_name': 'Journal Voucher Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 24,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01034',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 25
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2011-01-19 17:41:27',
|
||||
'description': None,
|
||||
'display_name': 'Itemwise Sales Register',
|
||||
'doc_name': 'RV Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 25,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01267',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 26
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Itemwise Purchase Register',
|
||||
'doc_name': 'PV Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 26,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01035',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 27
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Cost Center wise Expense',
|
||||
'doc_name': 'GL Entry',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 27,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01036',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 28
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'TDS Return',
|
||||
'doc_name': 'TDS Payment Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 28,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01038',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 29
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Budget Variance Report',
|
||||
'doc_name': 'Budget Detail',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 29,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01039',
|
||||
'owner': 'jai@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 30
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': None,
|
||||
'display_name': 'Payment Receipt Report',
|
||||
'doc_name': 'GL Entry',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 30,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01040',
|
||||
'owner': 'jai@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 31
|
||||
},
|
||||
|
||||
# Module Def Item
|
||||
{
|
||||
'click_function': None,
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'description': 'Track total commission given to your Business Associate',
|
||||
'display_name': 'Business Associate Commission Report',
|
||||
'doc_name': 'Receivable Voucher',
|
||||
'doc_type': 'Reports',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Item',
|
||||
'fields': None,
|
||||
'hide': None,
|
||||
'icon': None,
|
||||
'idx': 31,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDI01041',
|
||||
'owner': 'saumil@webnotestech.com',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'items',
|
||||
'parenttype': 'Module Def'
|
||||
'idx': 32
|
||||
},
|
||||
|
||||
# Module Def Role
|
||||
{
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Role',
|
||||
'idx': 1,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDR00302',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'roles',
|
||||
'parenttype': 'Module Def',
|
||||
'role': 'Accounts Manager'
|
||||
},
|
||||
|
||||
# Module Def Role
|
||||
{
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Role',
|
||||
'idx': 2,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDR00303',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'roles',
|
||||
'parenttype': 'Module Def',
|
||||
'role': 'Accounts User'
|
||||
},
|
||||
|
||||
# Module Def Role
|
||||
{
|
||||
'creation': '2010-09-25 10:50:37',
|
||||
'docstatus': 0,
|
||||
'doctype': 'Module Def Role',
|
||||
'idx': 3,
|
||||
'modified': '2011-07-01 09:36:04',
|
||||
'modified_by': 'Administrator',
|
||||
'name': 'MDR00304',
|
||||
'owner': 'Administrator',
|
||||
'parent': 'Accounts',
|
||||
'parentfield': 'roles',
|
||||
'parenttype': 'Module Def',
|
||||
'role': 'Administrator'
|
||||
}
|
||||
]
|
||||
]
|
@ -12,7 +12,7 @@ sql = webnotes.conn.sql
|
||||
get_value = webnotes.conn.get_value
|
||||
in_transaction = webnotes.conn.in_transaction
|
||||
convert_to_lists = webnotes.conn.convert_to_lists
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------
|
||||
from utilities.transaction_base import TransactionBase
|
||||
|
||||
@ -30,11 +30,11 @@ class DocType:
|
||||
#for r in ret:
|
||||
# inc = get_value('Account','Income - '+r[1], 'balance')
|
||||
# exp = get_value('Account','Expenses - '+r[1], 'balance')
|
||||
# pl[r[0]] = flt(flt(inc) - flt(exp))
|
||||
# pl[r[0]] = flt(flt(inc) - flt(exp))
|
||||
return {'cl':[r[0] for r in ret]}#, 'pl':pl}
|
||||
|
||||
def get_company_currency(self,arg=''):
|
||||
dcc = TransactionBase().get_company_currency(arg)
|
||||
|
||||
def get_company_currency(self,arg=''):
|
||||
dcc = TransactionBase().get_company_currency(arg)
|
||||
return dcc
|
||||
|
||||
# Get current balance
|
||||
@ -91,7 +91,7 @@ class DocType:
|
||||
|
||||
fy = get_defaults()['fiscal_year']
|
||||
parent, parent_acc_name, company, type = arg.split(',')
|
||||
|
||||
|
||||
# get children account details
|
||||
if type=='Account':
|
||||
|
||||
@ -103,7 +103,7 @@ class DocType:
|
||||
|
||||
# remove Decimals
|
||||
for c in cl: c['balance'] = flt(c['balance'])
|
||||
|
||||
|
||||
# get children cost center details
|
||||
elif type=='Cost Center':
|
||||
if parent=='Root Node':
|
||||
@ -111,7 +111,7 @@ class DocType:
|
||||
else:
|
||||
cl = sql("select name,group_or_ledger,cost_center_name from `tabCost Center` where ifnull(parent_cost_center, '')=%s and docstatus != 2 and company_name=%s order by name asc",(parent,company),as_dict=1)
|
||||
return {'parent':parent, 'parent_acc_name':parent_acc_name, 'cl':cl}
|
||||
|
||||
|
||||
# Add a new account
|
||||
# -----------------
|
||||
def add_ac(self,arg):
|
||||
@ -119,14 +119,14 @@ class DocType:
|
||||
ac = Document('Account')
|
||||
for d in arg.keys():
|
||||
ac.fields[d] = arg[d]
|
||||
ac.old_parent = ''
|
||||
ac.old_parent = ''
|
||||
ac_obj = get_obj(doc=ac)
|
||||
ac_obj.validate()
|
||||
ac_obj.doc.save(1)
|
||||
ac_obj.on_update()
|
||||
|
||||
return ac_obj.doc.name
|
||||
|
||||
|
||||
# Add a new cost center
|
||||
#----------------------
|
||||
def add_cc(self,arg):
|
||||
@ -138,33 +138,33 @@ class DocType:
|
||||
# map company abbr
|
||||
other_info = sql("select company_abbr from `tabCost Center` where name='%s'"%arg['parent_cost_center'])
|
||||
cc.company_abbr = other_info and other_info[0][0] or arg['company_abbr']
|
||||
|
||||
|
||||
cc_obj = get_obj(doc=cc)
|
||||
cc_obj.validate()
|
||||
cc_obj.doc.save(1)
|
||||
cc_obj.on_update()
|
||||
|
||||
return cc_obj.doc.name
|
||||
|
||||
|
||||
|
||||
|
||||
# Get field values from the voucher
|
||||
#------------------------------------------
|
||||
def get_val(self, src, d, parent=None):
|
||||
if not src:
|
||||
if not src:
|
||||
return None
|
||||
if src.startswith('parent:'):
|
||||
return parent.fields[src.split(':')[1]]
|
||||
elif src.startswith('value:'):
|
||||
return eval(src.split(':')[1])
|
||||
elif src:
|
||||
return d.fields.get(src)
|
||||
|
||||
return d.fields.get(src)
|
||||
|
||||
def check_if_in_list(self, le):
|
||||
for e in self.entries:
|
||||
if e.account == le.account and (cstr(e.against_voucher)==cstr(le.against_voucher)) and (cstr(e.against_voucher_type)==cstr(le.against_voucher_type)) and (cstr(e.cost_center)==cstr(le.cost_center)):
|
||||
return [e]
|
||||
return 0
|
||||
|
||||
|
||||
# Make a dictionary(le) for every gl entry and append to a list(self.entries)
|
||||
#----------------------------------------------------------------------------
|
||||
def make_single_entry(self,parent,d,le_map,cancel, merge_entries):
|
||||
@ -176,12 +176,12 @@ class DocType:
|
||||
is_expense_acct = sql("select name from tabAccount where is_pl_account='Yes' and debit_or_credit='Debit' and name=%s",self.get_val(le_map['account'], d, parent))
|
||||
if is_expense_acct and self.get_val(le_map['cost_center'], d, parent):
|
||||
get_obj('Budget Control').check_budget([self.get_val(le_map[k], d, parent) for k in flist if k in ['account','cost_center','debit','credit','posting_date','fiscal_year','company']],cancel)
|
||||
|
||||
|
||||
# Create new GL entry object and map values
|
||||
le = Document('GL Entry')
|
||||
for k in flist:
|
||||
le.fields[k] = self.get_val(le_map[k], d, parent)
|
||||
|
||||
|
||||
# if there is already an entry in this account then just add it to that entry
|
||||
same_head = self.check_if_in_list(le)
|
||||
if same_head and merge_entries:
|
||||
@ -190,8 +190,8 @@ class DocType:
|
||||
same_head.credit = flt(same_head.credit) + flt(le.credit)
|
||||
else:
|
||||
self.entries.append(le)
|
||||
|
||||
# Save GL Entries
|
||||
|
||||
# Save GL Entries
|
||||
# ----------------
|
||||
def save_entries(self, cancel, adv_adj, update_outstanding):
|
||||
for le in self.entries:
|
||||
@ -199,7 +199,7 @@ class DocType:
|
||||
if cancel or flt(le.debit) < 0 or flt(le.credit) < 0:
|
||||
tmp=le.debit
|
||||
le.debit, le.credit = abs(flt(le.credit)), abs(flt(tmp))
|
||||
|
||||
|
||||
|
||||
le_obj = get_obj(doc=le)
|
||||
# validate except on_cancel
|
||||
@ -213,11 +213,11 @@ class DocType:
|
||||
# update total debit / credit
|
||||
self.td += flt(le.debit)
|
||||
self.tc += flt(le.credit)
|
||||
|
||||
|
||||
# Make Multiple Entries
|
||||
# ---------------------
|
||||
def make_gl_entries(self, doc, doclist, cancel=0, adv_adj = 0, use_mapper='', merge_entries = 1, update_outstanding='Yes'):
|
||||
# get entries
|
||||
# get entries
|
||||
le_map_list = sql("select * from `tabGL Mapper Detail` where parent = %s", use_mapper or doc.doctype, as_dict=1)
|
||||
self.td, self.tc = 0.0, 0.0
|
||||
for le_map in le_map_list:
|
||||
@ -228,10 +228,10 @@ class DocType:
|
||||
self.make_single_entry(doc,d,le_map,cancel, merge_entries)
|
||||
else:
|
||||
self.make_single_entry(None,doc,le_map,cancel, merge_entries)
|
||||
|
||||
|
||||
# save entries
|
||||
self.save_entries(cancel, adv_adj, update_outstanding)
|
||||
|
||||
|
||||
# check total debit / credit
|
||||
# Due to old wrong entries (total debit != total credit) some voucher could be cancelled
|
||||
if abs(self.td - self.tc) > 0.001 and not cancel:
|
||||
@ -289,7 +289,7 @@ class DocType:
|
||||
add.allocate_amount = 0
|
||||
if table_name == 'Advance Allocation Detail':
|
||||
add.tds_amount = flt(d[4])
|
||||
|
||||
|
||||
# Clear rows which is not adjusted
|
||||
#-------------------------------------
|
||||
def clear_advances(self, obj,table_name,table_field_name):
|
||||
@ -297,7 +297,7 @@ class DocType:
|
||||
if not flt(d.allocated_amount):
|
||||
sql("update `tab%s` set parent = '' where name = '%s' and parent = '%s'" % (table_name, d.name, d.parent))
|
||||
d.parent = ''
|
||||
|
||||
|
||||
# Update aginst document in journal voucher
|
||||
#------------------------------------------
|
||||
def update_against_document_in_jv(self, obj, table_field_name, against_document_no, against_document_doctype, account_head, dr_or_cr,doctype):
|
||||
@ -310,7 +310,7 @@ class DocType:
|
||||
|
||||
# update ref in JV Detail
|
||||
sql("update `tabJournal Voucher Detail` set %s = '%s' where name = '%s'" % (doctype=='Payable Voucher' and 'against_voucher' or 'against_invoice', cstr(against_document_no), d.jv_detail_no))
|
||||
|
||||
|
||||
# re-submit JV
|
||||
jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children =1)
|
||||
get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj =1)
|
||||
@ -319,22 +319,22 @@ class DocType:
|
||||
# cancel JV
|
||||
jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children=1)
|
||||
get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj = 1)
|
||||
|
||||
|
||||
# add extra entries
|
||||
self.add_extra_entry(jv_obj, d.journal_voucher, d.jv_detail_no, flt(d.allocated_amount), account_head, doctype, dr_or_cr, against_document_no)
|
||||
|
||||
|
||||
# re-submit JV
|
||||
jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children =1)
|
||||
get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj = 1)
|
||||
else:
|
||||
msgprint("Allocation amount cannot be greater than advance amount")
|
||||
raise Exception
|
||||
|
||||
|
||||
# Add extra row in jv detail for unadjusted amount
|
||||
#--------------------------------------------------
|
||||
def add_extra_entry(self,jv_obj,jv,jv_detail_no, allocate, account_head, doctype, dr_or_cr, against_document_no):
|
||||
# get old entry details
|
||||
|
||||
|
||||
jvd = sql("select %s, cost_center, balance, against_account from `tabJournal Voucher Detail` where name = '%s'" % (dr_or_cr,jv_detail_no))
|
||||
advance = jvd and flt(jvd[0][0]) or 0
|
||||
balance = flt(advance) - flt(allocate)
|
||||
@ -351,7 +351,7 @@ class DocType:
|
||||
add.against_account = cstr(jvd[0][3])
|
||||
add.is_advance = 'Yes'
|
||||
add.save(1)
|
||||
|
||||
|
||||
# check if advance entries are still valid
|
||||
# ----------------------------------------
|
||||
def validate_jv_entry(self, d, account_head, dr_or_cr):
|
||||
@ -406,22 +406,23 @@ In Account := %s User := %s has Repaired Outstanding Amount For %s : %s and foll
|
||||
"""
|
||||
vl = sql("""
|
||||
select voucher_type, voucher_no, account, sum(debit) as sum_debit, sum(credit) as sum_credit
|
||||
from `tabGL Entry`
|
||||
from `tabGL Entry`
|
||||
where is_cancelled='Yes' and creation > %s
|
||||
group by voucher_type, voucher_no, account
|
||||
""", after_date, as_dict=1)
|
||||
|
||||
|
||||
ac_list = []
|
||||
for v in vl:
|
||||
if v['sum_debit'] != 0 or v['sum_credit'] != 0:
|
||||
ac_list.append(v['account'])
|
||||
|
||||
fy_list = sql("""select name from `tabFiscal Year`
|
||||
where (%s between year_start_date and date_sub(date_add(year_start_date,interval 1 year), interval 1 day))
|
||||
or year_start_date > %s
|
||||
|
||||
fy_list = sql("""select name from `tabFiscal Year`
|
||||
where (%s between year_start_date and date_sub(date_add(year_start_date,interval 1 year), interval 1 day))
|
||||
or year_start_date > %s
|
||||
order by year_start_date ASC""", (after_date, after_date))
|
||||
|
||||
for fy in fy_list:
|
||||
fy_obj = get_obj('Fiscal Year', fy[0])
|
||||
for a in set(ac_list):
|
||||
fy_obj.repost(a)
|
||||
|
||||
|
@ -5,23 +5,14 @@
|
||||
{
|
||||
'creation': '2010-08-08 17:09:06',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-04-06 14:41:47',
|
||||
'modified': '2011-07-15 14:37:05',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'name': '__common__',
|
||||
'parent': 'Journal Voucher',
|
||||
'parentfield': 'fields',
|
||||
'parenttype': 'DocType'
|
||||
},
|
||||
|
||||
# These values are common for all DocType
|
||||
{
|
||||
'_last_update': '1305714002',
|
||||
'_last_update': '1310533805',
|
||||
'colour': 'White:FFF',
|
||||
'doctype': 'DocType',
|
||||
'module': 'Accounts',
|
||||
@ -32,15 +23,15 @@
|
||||
'show_in_menu': 0,
|
||||
'subject': ' ',
|
||||
'tag_fields': 'voucher_type',
|
||||
'version': 307
|
||||
'version': 308
|
||||
},
|
||||
|
||||
# These values are common for all DocFormat
|
||||
# These values are common for all DocField
|
||||
{
|
||||
'doctype': 'DocFormat',
|
||||
'doctype': 'DocField',
|
||||
'name': '__common__',
|
||||
'parent': 'Journal Voucher',
|
||||
'parentfield': 'formats',
|
||||
'parentfield': 'fields',
|
||||
'parenttype': 'DocType'
|
||||
},
|
||||
|
||||
@ -112,20 +103,6 @@
|
||||
'write': 0
|
||||
},
|
||||
|
||||
# DocFormat
|
||||
{
|
||||
'doctype': 'DocFormat',
|
||||
'format': 'Payment Receipt Voucher',
|
||||
'idx': 1
|
||||
},
|
||||
|
||||
# DocFormat
|
||||
{
|
||||
'doctype': 'DocFormat',
|
||||
'format': 'Cheque Printing Format',
|
||||
'idx': 2
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
@ -167,7 +144,7 @@
|
||||
'label': 'Voucher Type',
|
||||
'oldfieldname': 'voucher_type',
|
||||
'oldfieldtype': 'Select',
|
||||
'options': '\nJournal Entry\nBank Voucher\nCash Voucher\nCredit Card Voucher\nDebit Note\nCredit Note\nContra Voucher\nExcise Voucher\nWrite Off Voucher',
|
||||
'options': '\nJournal Entry\nBank Voucher\nCash Voucher\nCredit Card Voucher\nDebit Note\nCredit Note\nContra Voucher\nExcise Voucher\nWrite Off Voucher\nLoan Receipt',
|
||||
'permlevel': 0,
|
||||
'print_hide': 0,
|
||||
'search_index': 1
|
||||
|
0
accounts/doctype/loan/__init__.py
Normal file
0
accounts/doctype/loan/__init__.py
Normal file
54
accounts/doctype/loan/loan.js
Normal file
54
accounts/doctype/loan/loan.js
Normal file
@ -0,0 +1,54 @@
|
||||
$.extend(cur_frm.cscript, {
|
||||
Generate: function(doc, dt, dn) {
|
||||
cur_frm.cscript.clear_installments(doc);
|
||||
for(var i=0; i< doc.no_of_installments; i++) {
|
||||
d = LocalDB.add_child(doc, 'Loan Installment', 'installments');
|
||||
d.amount = doc.loan_amount / doc.no_of_installments;
|
||||
d.due_date = dateutil.add_months(doc.start_date, i+1);
|
||||
}
|
||||
cur_frm.refresh();
|
||||
},
|
||||
/* submit:function(doc){
|
||||
data=doc.get_values();
|
||||
|
||||
data['']=
|
||||
$c_obj(make_doclist(dt,dn),'loan_post',data,function(){});
|
||||
},*/
|
||||
refresh: function(doc) {
|
||||
cur_frm.cscript.hide_show_buttons(doc);
|
||||
},
|
||||
hide_show_buttons: function(doc) {
|
||||
if(doc.docstatus==0) {
|
||||
hide_field('Installment Reciept'); show_field('Generate');
|
||||
} else if (doc.docstatus==1) {
|
||||
show_field('Installment Reciept');hide_field('Generate');
|
||||
}
|
||||
},
|
||||
clear_installments: function(doc) {
|
||||
$.each(getchildren('Loan Installment', doc.name, 'installments', 'Loan'),
|
||||
function(i, d) {
|
||||
LocalDB.delete_doc('Loan Installment', d.name);
|
||||
}
|
||||
)
|
||||
},
|
||||
'Installment Reciept': function(doc, dt, dn) {
|
||||
var d = new wn.widgets.Dialog({
|
||||
width: 500,
|
||||
title: 'Add a new payment installment',
|
||||
fields: [
|
||||
{fieldtype:'Data', label:'Cheque Number', fieldname:'cheque_number', reqd:1},
|
||||
{fieldtype:'Date', label:'Cheque Date', fieldname:'cheque_date', reqd:1},
|
||||
{fieldtype:'Link', label:'Bank Account', fieldname:'bank_account', reqd:1, options:'Account'},
|
||||
{fieldtype:'Button', label:'Update',fieldname:'update'}
|
||||
]
|
||||
})
|
||||
d.show();
|
||||
d.fields_dict.update.input.onclick = function() {
|
||||
var data = d.get_values();
|
||||
|
||||
if(data) {
|
||||
$c_obj(make_doclist(dt,dn),'loan_installment_post',data,function(){cur_frm.refresh(); d.hide();});
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
48
accounts/doctype/loan/loan.py
Normal file
48
accounts/doctype/loan/loan.py
Normal file
@ -0,0 +1,48 @@
|
||||
import webnotes
|
||||
from webnotes.model.doc import make_autoname, Document, addchild
|
||||
from webnotes import msgprint
|
||||
from webnotes.utils import get_defaults
|
||||
import json
|
||||
from accounts.utils import post_jv
|
||||
sql = webnotes.conn.sql
|
||||
|
||||
class DocType:
|
||||
def __init__(self, doc, doclist):
|
||||
self.doc, self.doclist = doc, doclist
|
||||
|
||||
def autoname(self):
|
||||
"""
|
||||
Create Loan Id using naming_series pattern
|
||||
"""
|
||||
self.doc.name = make_autoname(self.doc.naming_series+ '.#####')
|
||||
|
||||
def loan_post(self):
|
||||
data['voucher_type']='Loan Issue'
|
||||
data['naming_series']='JV'
|
||||
data['fiscal_year'] = get_defaults()['fiscal_year'] # To be modified to take care
|
||||
data['company'] = get_defaults()['company']
|
||||
data['debit_account'] = self.doc['receivable_account']
|
||||
data['credit_account'] = self.doc['account']
|
||||
data['amount'] = self.doc.loan_amount
|
||||
jv_name=post_jv(data)
|
||||
|
||||
def loan_installment_post(self, args):
|
||||
"""
|
||||
Posts the loan receipt into Journal Voucher
|
||||
"""
|
||||
next_inst = sql("select amount,name from `tabLoan Installment` where parent=%s and ifnull(cheque_number,'')='' order by due_date limit 1",self.doc.name)
|
||||
|
||||
data = json.loads(args)
|
||||
data['voucher_type']='Loan Receipt'
|
||||
data['naming_series']='JV'
|
||||
data['amount']=next_inst[0][0]
|
||||
data['debit_account']=data.get('bank_account')
|
||||
data['credit_account']=self.doc.account
|
||||
data['fiscal_year']=get_defaults()['fiscal_year']
|
||||
data['company']=get_defaults()['company']
|
||||
jv_name=post_jv(data)
|
||||
|
||||
sql("update `tabLoan Installment` set cheque_number=%s, cheque_date=%s, jv_number=%s where name=%s",(data.get('cheque_number'),data.get('cheque_date'),jv_name,next_inst[0][1]))
|
||||
|
||||
self.doclist = [Document(d.doctype, d.name) for d in self.doclist]
|
||||
|
172
accounts/doctype/loan/loan.txt
Normal file
172
accounts/doctype/loan/loan.txt
Normal file
@ -0,0 +1,172 @@
|
||||
# DocType, Loan
|
||||
[
|
||||
|
||||
# These values are common in all dictionaries
|
||||
{
|
||||
'creation': '2011-07-15 10:35:26',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-07-18 12:12:19',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all DocType
|
||||
{
|
||||
'_last_update': '1310963215',
|
||||
'colour': 'White:FFF',
|
||||
'doctype': 'DocType',
|
||||
'module': 'Accounts',
|
||||
'name': '__common__',
|
||||
'section_style': 'Simple',
|
||||
'show_in_menu': 0,
|
||||
'version': 15
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'name': '__common__',
|
||||
'parent': 'Loan',
|
||||
'parentfield': 'fields',
|
||||
'parenttype': 'DocType',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# These values are common for all DocPerm
|
||||
{
|
||||
'doctype': 'DocPerm',
|
||||
'name': '__common__',
|
||||
'parent': 'Loan',
|
||||
'parentfield': 'permissions',
|
||||
'parenttype': 'DocType',
|
||||
'read': 1,
|
||||
'role': 'Accounts User'
|
||||
},
|
||||
|
||||
# DocType, Loan
|
||||
{
|
||||
'doctype': 'DocType',
|
||||
'name': 'Loan'
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'cancel': 1,
|
||||
'create': 1,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 1,
|
||||
'permlevel': 0,
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 2,
|
||||
'permlevel': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'naming_series',
|
||||
'fieldtype': 'Select',
|
||||
'idx': 1,
|
||||
'label': 'Naming Series',
|
||||
'options': '\nLOAN',
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'account',
|
||||
'fieldtype': 'Link',
|
||||
'idx': 2,
|
||||
'label': 'Account',
|
||||
'options': 'Account',
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'receivable_account',
|
||||
'fieldtype': 'Link',
|
||||
'idx': 3,
|
||||
'label': 'Receivable Account',
|
||||
'options': 'Account'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'invoice',
|
||||
'fieldtype': 'Link',
|
||||
'idx': 4,
|
||||
'label': 'Invoice',
|
||||
'options': 'Receivable Voucher',
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'loan_amount',
|
||||
'fieldtype': 'Currency',
|
||||
'idx': 5,
|
||||
'label': 'Loan Amount',
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'start_date',
|
||||
'fieldtype': 'Date',
|
||||
'idx': 6,
|
||||
'label': 'Start Date',
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'no_of_installments',
|
||||
'fieldtype': 'Int',
|
||||
'idx': 7,
|
||||
'label': 'No of Installments',
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'colour': 'White:FFF',
|
||||
'doctype': 'DocField',
|
||||
'fieldtype': 'Button',
|
||||
'idx': 8,
|
||||
'label': 'Generate',
|
||||
'trigger': 'Client'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'installments',
|
||||
'fieldtype': 'Table',
|
||||
'idx': 9,
|
||||
'label': 'Installments',
|
||||
'options': 'Loan Installment'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'allow_on_submit': 1,
|
||||
'colour': 'White:FFF',
|
||||
'doctype': 'DocField',
|
||||
'fieldtype': 'Button',
|
||||
'idx': 10,
|
||||
'label': 'Installment Reciept'
|
||||
}
|
||||
]
|
17
accounts/doctype/loan/test_loan.py
Normal file
17
accounts/doctype/loan/test_loan.py
Normal file
@ -0,0 +1,17 @@
|
||||
import unittest
|
||||
import webnotes
|
||||
from webnotes.model.code import get_obj
|
||||
|
||||
class TestScheduleGeneartion(unittest.TestCase):
|
||||
def setUp(self):
|
||||
webnotes.conn.begin()
|
||||
# create a mock loan
|
||||
self.loan = get_obj('Loan', 'LOAN00001')
|
||||
|
||||
def test_generation(self):
|
||||
"test the genaration of loan installments"
|
||||
self.loan.generate()
|
||||
self.assertEqual(self.loan.get_installment_total(), self.loan.doc.loan_amount)
|
||||
|
||||
def tearDown(self):
|
||||
webnotes.conn.rollback()
|
0
accounts/doctype/loan_installment/__init__.py
Normal file
0
accounts/doctype/loan_installment/__init__.py
Normal file
111
accounts/doctype/loan_installment/loan_installment.txt
Normal file
111
accounts/doctype/loan_installment/loan_installment.txt
Normal file
@ -0,0 +1,111 @@
|
||||
# DocType, Loan Installment
|
||||
[
|
||||
|
||||
# These values are common in all dictionaries
|
||||
{
|
||||
'creation': '2011-07-15 10:36:42',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-07-15 15:48:34',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all DocType
|
||||
{
|
||||
'colour': 'White:FFF',
|
||||
'doctype': 'DocType',
|
||||
'istable': 1,
|
||||
'module': 'Accounts',
|
||||
'name': '__common__',
|
||||
'section_style': 'Simple',
|
||||
'show_in_menu': 0,
|
||||
'version': 4
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'name': '__common__',
|
||||
'parent': 'Loan Installment',
|
||||
'parentfield': 'fields',
|
||||
'parenttype': 'DocType'
|
||||
},
|
||||
|
||||
# DocType, Loan Installment
|
||||
{
|
||||
'doctype': 'DocType',
|
||||
'name': 'Loan Installment'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'amount',
|
||||
'fieldtype': 'Currency',
|
||||
'idx': 1,
|
||||
'label': 'Amount',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'due_date',
|
||||
'fieldtype': 'Date',
|
||||
'idx': 2,
|
||||
'label': 'Due Date',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'cheque_number',
|
||||
'fieldtype': 'Data',
|
||||
'idx': 3,
|
||||
'label': 'Cheque Number',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'cheque_date',
|
||||
'fieldtype': 'Date',
|
||||
'idx': 4,
|
||||
'label': 'Cheque Date',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'deposit_date',
|
||||
'fieldtype': 'Date',
|
||||
'idx': 5,
|
||||
'label': 'Deposit Date',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'realized_date',
|
||||
'fieldtype': 'Date',
|
||||
'idx': 6,
|
||||
'label': 'Realized Date',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'jv_number',
|
||||
'fieldtype': 'Link',
|
||||
'hidden': 0,
|
||||
'idx': 7,
|
||||
'label': 'JV Number',
|
||||
'options': 'Journal Voucher',
|
||||
'permlevel': 1
|
||||
}
|
||||
]
|
@ -1,11 +1,26 @@
|
||||
SELECT DISTINCT `tabGL Entry`.`Aging_date`,`tabGL Entry`.`transaction_date`,`tabGL Entry`.`account`, `tabGL Entry`.`against_voucher_type`, `tabGL Entry`.`against_voucher`,`tabGL Entry`.`voucher_type`,`tabGL Entry`.`voucher_no`, `tabGL Entry`.remarks
|
||||
FROM `tabGL Entry`,`tabAccount`
|
||||
WHERE `tabGL Entry`.`posting_date`>= '%(posting_date)s'
|
||||
AND `tabGL Entry`.`posting_date`<= '%(posting_date1)s'
|
||||
AND `tabGL Entry`.`account` LIKE '%(account)s%%'
|
||||
AND `tabGL Entry`.`company` LIKE '%(company)s%%'
|
||||
AND ((ifnull(`tabGL Entry`.voucher_type,'') = 'Payable Voucher' and `tabGL Entry`.credit>0) OR `tabGL Entry`.voucher_type = 'Journal Voucher')
|
||||
AND `tabGL Entry`.`is_cancelled` = 'No'
|
||||
AND `tabAccount`.master_type = 'Supplier'
|
||||
AND `tabAccount`.name = `tabGL Entry`.account
|
||||
ORDER BY `tabGL Entry`.`posting_date`
|
||||
SELECT *
|
||||
FROM (
|
||||
|
||||
SELECT a.posting_date, a.voucher_no, a.account, a.credit AS inv_amount, ifnull( a.credit, 0 ) - ifnull( b.debit, 0 ) AS outstanding
|
||||
FROM (
|
||||
|
||||
SELECT gl . *
|
||||
FROM `tabGL Entry` gl, `tabAccount` acc
|
||||
WHERE gl.account = acc.name
|
||||
AND acc.master_type = 'Supplier'
|
||||
AND ifnull( gl.is_cancelled, 'No' ) = 'No'
|
||||
AND gl.credit >0
|
||||
AND gl.posting_date <= current_date
|
||||
)a
|
||||
LEFT JOIN (
|
||||
|
||||
SELECT against_voucher, account, sum( debit ) AS debit
|
||||
FROM `tabGL Entry`
|
||||
WHERE ifnull( is_cancelled, 'No' ) = 'No'
|
||||
AND posting_date <= current_date
|
||||
GROUP BY against_voucher, account
|
||||
)b ON a.voucher_no = b.against_voucher
|
||||
AND a.account = b.account
|
||||
)c
|
||||
WHERE outstanding !=0
|
||||
ORDER BY posting_date, voucher_no
|
@ -12,7 +12,7 @@
|
||||
|
||||
# These values are common for all Search Criteria
|
||||
{
|
||||
'add_col': '`tabPO Detail`.qty - ifnull(`tabPO Detail`.received_qty, 0) AS "Pending Quantity To Receive"\n(`tabPO Detail`.qty - ifnull(`tabPO Detail`.received_qty, 0)) * `tabPO Detail`.purchase_rate AS "Pending Amount To Receive\'"',
|
||||
'add_col': '`tabPO Detail`.qty - ifnull(`tabPO Detail`.received_qty, 0) AS "Pending Quantity To Receive"\n(`tabPO Detail`.qty - ifnull(`tabPO Detail`.received_qty, 0)) * `tabPO Detail`.purchase_rate AS "Pending Amount To Receive"',
|
||||
'add_cond': '`tabPO Detail`.qty - ifnull(`tabPO Detail`.received_qty, 0) > 0 \n`tabPurchase Order`.status != "Stopped"',
|
||||
'columns': 'Purchase Order\x01ID,Purchase Order\x01Supplier,Purchase Order\x01Supplier Name,Purchase Order\x01Status,Purchase Order\x01PO Date,Purchase Order\x01Fiscal Year,PO Detail\x01Indent No,PO Detail\x01Item Code,PO Detail\x01Item Name,PO Detail\x01Description,PO Detail\x01Quantity,PO Detail\x01UOM,PO Detail\x01Received Qty',
|
||||
'criteria_name': 'Pending PO Items To Receive',
|
||||
|
@ -5,7 +5,7 @@
|
||||
{
|
||||
'creation': '2010-08-08 17:09:20',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-07-13 17:38:55',
|
||||
'modified': '2011-07-14 16:07:20',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
},
|
||||
@ -51,38 +51,50 @@
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 1,
|
||||
'cancel': 1,
|
||||
'create': 1,
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 1,
|
||||
'match': 'owner',
|
||||
'permlevel': 0,
|
||||
'role': 'System Manager',
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
'role': 'Employee',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 1,
|
||||
'create': 0,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 2,
|
||||
'match': 'owner',
|
||||
'permlevel': 0,
|
||||
'role': 'HR User',
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
'role': 'Employee',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 1,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 3,
|
||||
'permlevel': 0,
|
||||
'role': 'HR User',
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 1,
|
||||
'cancel': 1,
|
||||
'create': 1,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 4,
|
||||
'permlevel': 0,
|
||||
'role': 'HR Manager',
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
@ -90,28 +102,18 @@
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 4,
|
||||
'idx': 5,
|
||||
'permlevel': 1,
|
||||
'role': 'HR User',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
'role': 'HR User'
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': 'DocPerm',
|
||||
'idx': 5,
|
||||
'idx': 6,
|
||||
'permlevel': 1,
|
||||
'role': 'HR Manager',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
'role': 'HR Manager'
|
||||
},
|
||||
|
||||
# DocField
|
||||
|
@ -58,7 +58,7 @@ class DocType:
|
||||
def connect_gateway(self):
|
||||
"login to gateway"
|
||||
from webnotes.utils.webservice import FrameworkServer
|
||||
fw = FrameworkServer('www.erpnext.com', '/', '__system@webnotestech.com', 'password')
|
||||
fw = FrameworkServer('www.erpnext.com', '/', '__system@webnotestech.com', 'password', https=1)
|
||||
return fw
|
||||
|
||||
def get_sender_name(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user