Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
commit
6c615d9527
@ -134,6 +134,16 @@
|
||||
'to_field': 'serial_no'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'checking_operator': u'=',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'export_rate',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': u'export_rate'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
@ -143,17 +153,6 @@
|
||||
'validation_logic': 'docstatus=1'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'from_field': 'delivery_note_details',
|
||||
'from_table': 'Delivery Note Detail',
|
||||
'match_id': 1,
|
||||
'to_field': 'entries',
|
||||
'to_table': 'RV Detail',
|
||||
'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
@ -186,4 +185,4 @@
|
||||
'to_table': 'Sales Team',
|
||||
'validation_logic': 'name is not null'
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -3,189 +3,188 @@
|
||||
|
||||
# These values are common in all dictionaries
|
||||
{
|
||||
'creation': '2010-08-08 17:09:36',
|
||||
'creation': '2010-09-20 12:33:35',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-09-15 15:04:45',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
'modified': '2012-03-28 19:19:38',
|
||||
'modified_by': u'Administrator',
|
||||
'owner': u'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'doctype': u'Table Mapper Detail',
|
||||
'name': '__common__',
|
||||
'parent': 'Sales Order-Receivable Voucher',
|
||||
'parentfield': 'table_mapper_details',
|
||||
'parenttype': 'DocType Mapper'
|
||||
'parent': u'Sales Order-Receivable Voucher',
|
||||
'parentfield': u'table_mapper_details',
|
||||
'parenttype': u'DocType Mapper'
|
||||
},
|
||||
|
||||
# These values are common for all Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'name': '__common__',
|
||||
'parent': 'Sales Order-Receivable Voucher',
|
||||
'parentfield': 'field_mapper_details',
|
||||
'parenttype': 'DocType Mapper'
|
||||
'parent': u'Sales Order-Receivable Voucher',
|
||||
'parentfield': u'field_mapper_details',
|
||||
'parenttype': u'DocType Mapper'
|
||||
},
|
||||
|
||||
# These values are common for all DocType Mapper
|
||||
{
|
||||
'doctype': u'DocType Mapper',
|
||||
'from_doctype': 'Sales Order',
|
||||
'module': 'Accounts',
|
||||
'from_doctype': u'Sales Order',
|
||||
'module': u'Accounts',
|
||||
'name': '__common__',
|
||||
'ref_doc_submitted': 1,
|
||||
'to_doctype': 'Receivable Voucher'
|
||||
'to_doctype': u'Receivable Voucher'
|
||||
},
|
||||
|
||||
# DocType Mapper, Sales Order-Receivable Voucher
|
||||
{
|
||||
'doctype': u'DocType Mapper',
|
||||
'name': 'Sales Order-Receivable Voucher'
|
||||
'name': u'Sales Order-Receivable Voucher'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'checking_operator': '=',
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'customer',
|
||||
'map': 'Yes',
|
||||
'checking_operator': u'=',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'customer',
|
||||
'map': u'Yes',
|
||||
'match_id': 0,
|
||||
'to_field': 'customer'
|
||||
'to_field': u'customer'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'eval: obj.basic_rate and (flt(obj.amount) - flt(obj.billed_amt))/flt(obj.basic_rate) or obj.qty',
|
||||
'map': 'Yes',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'eval: obj.basic_rate and (flt(obj.amount) - flt(obj.billed_amt))/flt(obj.basic_rate) or obj.qty',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': 'qty'
|
||||
'to_field': u'qty'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'parent',
|
||||
'map': 'Yes',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'parent',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': 'sales_order'
|
||||
'to_field': u'sales_order'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'name',
|
||||
'map': 'Yes',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'name',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': 'so_detail'
|
||||
'to_field': u'so_detail'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'eval:flt(obj.amount) - flt(obj.billed_amt)',
|
||||
'map': 'Yes',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'eval:flt(obj.amount) - flt(obj.billed_amt)',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': 'amount'
|
||||
'to_field': u'amount'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'eval: (flt(obj.amount) - flt(obj.billed_amt))* flt(obj.export_rate)/flt(obj.basic_rate)',
|
||||
'map': 'Yes',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'eval: (flt(obj.amount) - flt(obj.billed_amt))* flt(obj.export_rate)/flt(obj.basic_rate)',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': 'export_amount'
|
||||
'to_field': u'export_amount'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'checking_operator': '=',
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'project_name',
|
||||
'map': 'Yes',
|
||||
'checking_operator': u'=',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'project_name',
|
||||
'map': u'Yes',
|
||||
'match_id': 0,
|
||||
'to_field': 'project_name'
|
||||
'to_field': u'project_name'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'reserved_warehouse',
|
||||
'map': 'Yes',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'reserved_warehouse',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': 'warehouse'
|
||||
'to_field': u'warehouse'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'naming_series',
|
||||
'map': 'No',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'naming_series',
|
||||
'map': u'No',
|
||||
'match_id': 0,
|
||||
'to_field': 'naming_series'
|
||||
'to_field': u'naming_series'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'doctype': 'Field Mapper Detail',
|
||||
'from_field': 'incentives',
|
||||
'map': 'No',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'incentives',
|
||||
'map': u'No',
|
||||
'match_id': 3,
|
||||
'to_field': 'incentives'
|
||||
'to_field': u'incentives'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
{
|
||||
'checking_operator': u'=',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'export_rate',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': u'export_rate'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'from_table': 'Sales Order',
|
||||
'doctype': u'Table Mapper Detail',
|
||||
'from_table': u'Sales Order',
|
||||
'match_id': 0,
|
||||
'to_table': 'Receivable Voucher',
|
||||
'validation_logic': 'docstatus=1'
|
||||
'to_table': u'Receivable Voucher',
|
||||
'validation_logic': u'docstatus=1'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'from_field': 'sales_order_detail',
|
||||
'from_table': 'Sales Order Detail',
|
||||
'doctype': u'Table Mapper Detail',
|
||||
'from_field': u'sales_order_detail',
|
||||
'from_table': u'Sales Order Detail',
|
||||
'match_id': 1,
|
||||
'to_field': 'entries',
|
||||
'to_table': 'RV Detail',
|
||||
'validation_logic': 'docstatus = 1'
|
||||
'to_field': u'entries',
|
||||
'to_table': u'RV Detail',
|
||||
'validation_logic': u'(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'from_field': 'sales_order_detail',
|
||||
'from_table': 'Sales Order Detail',
|
||||
'match_id': 1,
|
||||
'to_field': 'entries',
|
||||
'to_table': 'RV Detail',
|
||||
'validation_logic': '(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'from_field': 'other_charges',
|
||||
'from_table': 'RV Tax Detail',
|
||||
'doctype': u'Table Mapper Detail',
|
||||
'from_field': u'other_charges',
|
||||
'from_table': u'RV Tax Detail',
|
||||
'match_id': 2,
|
||||
'to_field': 'other_charges',
|
||||
'to_table': 'RV Tax Detail',
|
||||
'validation_logic': 'name is not null'
|
||||
'to_field': u'other_charges',
|
||||
'to_table': u'RV Tax Detail',
|
||||
'validation_logic': u'name is not null'
|
||||
},
|
||||
|
||||
# Table Mapper Detail
|
||||
{
|
||||
'doctype': 'Table Mapper Detail',
|
||||
'from_field': 'sales_team',
|
||||
'from_table': 'Sales Team',
|
||||
'doctype': u'Table Mapper Detail',
|
||||
'from_field': u'sales_team',
|
||||
'from_table': u'Sales Team',
|
||||
'match_id': 3,
|
||||
'to_field': 'sales_team',
|
||||
'to_table': 'Sales Team',
|
||||
'validation_logic': 'name is not null'
|
||||
'to_field': u'sales_team',
|
||||
'to_table': u'Sales Team',
|
||||
'validation_logic': u'name is not null'
|
||||
}
|
||||
]
|
@ -46,6 +46,14 @@ class DocType:
|
||||
else:
|
||||
msgprint("Please enter atleast 1 invoice in the table below", raise_exception=1)
|
||||
|
||||
self.calculate_total_invoiced_amount()
|
||||
|
||||
def calculate_total_invoiced_amount(self):
|
||||
total = 0
|
||||
for d in getlist(self.doclist, 'invoice_details'):
|
||||
total += flt(d.grand_total)
|
||||
webnotes.conn.set(self.doc, 'total_invoiced_amount', total)
|
||||
|
||||
|
||||
def get_invoice_details(self, invoice_no):
|
||||
""" Pull details from invoices for referrence """
|
||||
|
@ -3,188 +3,223 @@
|
||||
|
||||
# These values are common in all dictionaries
|
||||
{
|
||||
'creation': '2011-12-07 16:16:16',
|
||||
'creation': '2011-12-14 11:40:47',
|
||||
'docstatus': 0,
|
||||
'modified': '2011-12-07 17:50:17',
|
||||
'modified_by': 'Administrator',
|
||||
'owner': 'Administrator'
|
||||
'modified': '2012-04-06 17:29:50',
|
||||
'modified_by': u'Administrator',
|
||||
'owner': u'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all DocType
|
||||
{
|
||||
'_last_update': '1323255350',
|
||||
'colour': 'White:FFF',
|
||||
'_last_update': u'1333712835',
|
||||
'allow_attach': 1,
|
||||
'colour': u'White:FFF',
|
||||
'doctype': 'DocType',
|
||||
'module': 'Accounts',
|
||||
'max_attachments': 3,
|
||||
'module': u'Accounts',
|
||||
'name': '__common__',
|
||||
'section_style': 'Simple',
|
||||
'section_style': u'Simple',
|
||||
'show_in_menu': 0,
|
||||
'version': 11
|
||||
'version': 19
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'doctype': u'DocField',
|
||||
'name': '__common__',
|
||||
'parent': 'C-Form',
|
||||
'parentfield': 'fields',
|
||||
'parenttype': 'DocType',
|
||||
'permlevel': 0
|
||||
'parent': u'C-Form',
|
||||
'parentfield': u'fields',
|
||||
'parenttype': u'DocType'
|
||||
},
|
||||
|
||||
# These values are common for all DocPerm
|
||||
{
|
||||
'doctype': 'DocPerm',
|
||||
'doctype': u'DocPerm',
|
||||
'name': '__common__',
|
||||
'parent': 'C-Form',
|
||||
'parentfield': 'permissions',
|
||||
'parenttype': 'DocType',
|
||||
'parent': u'C-Form',
|
||||
'parentfield': u'permissions',
|
||||
'parenttype': u'DocType',
|
||||
'read': 1
|
||||
},
|
||||
|
||||
# DocType, C-Form
|
||||
{
|
||||
'doctype': 'DocType',
|
||||
'name': 'C-Form'
|
||||
'name': u'C-Form'
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 1,
|
||||
'doctype': 'DocPerm',
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 0,
|
||||
'role': 'Accounts User',
|
||||
'role': u'Accounts User',
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'create': 1,
|
||||
'doctype': 'DocPerm',
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 0,
|
||||
'role': 'Accounts Manager',
|
||||
'role': u'Accounts Manager',
|
||||
'submit': 0,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'doctype': 'DocPerm',
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 1,
|
||||
'role': 'All'
|
||||
'role': u'All'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldtype': 'Column Break',
|
||||
'width': '50%'
|
||||
'doctype': u'DocField',
|
||||
'fieldtype': u'Column Break',
|
||||
'permlevel': 0,
|
||||
'width': u'50%'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'naming_series',
|
||||
'fieldtype': 'Select',
|
||||
'label': 'Series',
|
||||
'options': '\nC-FORM/',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'naming_series',
|
||||
'fieldtype': u'Select',
|
||||
'label': u'Series',
|
||||
'options': u'\nC-FORM/',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'c_form_no',
|
||||
'fieldtype': 'Data',
|
||||
'label': 'C-Form No',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'c_form_no',
|
||||
'fieldtype': u'Data',
|
||||
'label': u'C-Form No',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'received_date',
|
||||
'fieldtype': 'Date',
|
||||
'label': 'Received Date',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'received_date',
|
||||
'fieldtype': u'Date',
|
||||
'label': u'Received Date',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'customer',
|
||||
'fieldtype': 'Link',
|
||||
'label': 'Customer',
|
||||
'options': 'Customer',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'customer',
|
||||
'fieldtype': u'Link',
|
||||
'label': u'Customer',
|
||||
'options': u'Customer',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldtype': 'Column Break',
|
||||
'width': '50%'
|
||||
'doctype': u'DocField',
|
||||
'fieldtype': u'Column Break',
|
||||
'permlevel': 0,
|
||||
'width': u'50%'
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'company',
|
||||
'fieldtype': 'Select',
|
||||
'label': 'Company',
|
||||
'options': 'link:Company'
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'company',
|
||||
'fieldtype': u'Select',
|
||||
'label': u'Company',
|
||||
'options': u'link:Company',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'fiscal_year',
|
||||
'fieldtype': 'Select',
|
||||
'label': 'Fiscal Year',
|
||||
'options': 'link:Fiscal Year',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'fiscal_year',
|
||||
'fieldtype': u'Select',
|
||||
'label': u'Fiscal Year',
|
||||
'options': u'link:Fiscal Year',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'quarter',
|
||||
'fieldtype': 'Select',
|
||||
'label': 'Quarter',
|
||||
'options': '\nI\nII\nIII\nIV'
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'quarter',
|
||||
'fieldtype': u'Select',
|
||||
'label': u'Quarter',
|
||||
'options': u'\nI\nII\nIII\nIV',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'total_amount',
|
||||
'fieldtype': 'Currency',
|
||||
'label': 'Total Amount',
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'total_amount',
|
||||
'fieldtype': u'Currency',
|
||||
'label': u'Total Amount',
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'state',
|
||||
'fieldtype': 'Select',
|
||||
'label': 'State',
|
||||
'options': "link:State\ncountry='India'",
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'state',
|
||||
'fieldtype': u'Select',
|
||||
'label': u'State',
|
||||
'options': u"link:State\ncountry='India'",
|
||||
'permlevel': 0,
|
||||
'reqd': 1
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldtype': 'Section Break'
|
||||
'doctype': u'DocField',
|
||||
'fieldtype': u'Section Break',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': 'DocField',
|
||||
'fieldname': 'invoice_details',
|
||||
'fieldtype': 'Table',
|
||||
'label': 'Invoice Details',
|
||||
'options': 'C-Form Invoice Detail'
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'invoice_details',
|
||||
'fieldtype': u'Table',
|
||||
'label': u'Invoice Details',
|
||||
'options': u'C-Form Invoice Detail',
|
||||
'permlevel': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'total_invoiced_amount',
|
||||
'fieldtype': u'Currency',
|
||||
'label': u'Total Invoiced Amount',
|
||||
'permlevel': 1,
|
||||
'print_hide': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
{
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'file_list',
|
||||
'fieldtype': u'Text',
|
||||
'hidden': 1,
|
||||
'label': u'File List',
|
||||
'permlevel': 0,
|
||||
'print_hide': 1
|
||||
}
|
||||
]
|
@ -35,45 +35,111 @@ class DocType:
|
||||
yr = 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)",dt)
|
||||
return yr and yr[0][0] or ''
|
||||
|
||||
# Get gl entries for the period and account
|
||||
def get_gl_entries(self, lft, rgt):
|
||||
gle = sql("select t1.posting_date, t1.voucher_type, t1.voucher_no, t1.debit, t1.credit, t1.remarks from `tabGL Entry` t1, `tabAccount` t2 WHERE t1.posting_date >= %s AND t1.posting_date <= %s and ifnull(t1.is_opening, 'No') = 'No' AND t1.account = t2.name AND t2.lft >= %s AND t2.rgt <= %s and ifnull(t1.is_cancelled, 'No') = 'No'", (self.doc.from_date, self.doc.to_date, lft, rgt), as_dict=1)
|
||||
|
||||
def validate_date(self):
|
||||
"""check for from date and to date within same year"""
|
||||
if not 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) and %s between year_start_date and date_sub(date_add(year_start_date,interval 1 year), interval 1 day)",(self.doc.from_date, self.doc.to_date)):
|
||||
msgprint("From Date and To Date must be within same year")
|
||||
raise Exception
|
||||
|
||||
if not self.doc.from_date or not self.doc.to_date:
|
||||
msgprint("From Date and To Date is mandatory")
|
||||
raise Exception
|
||||
|
||||
|
||||
def add_header(self):
|
||||
title = 'Ledger Balances Between ' + getdate(self.doc.from_date).strftime('%d-%m-%Y') + ' and ' + getdate(self.doc.to_date).strftime('%d-%m-%Y')
|
||||
return [[title], ['Account', 'Opening(Dr)', 'Opening (Cr)', 'Debit', 'Credit', 'Closing(Dr)', 'Closing(Cr)'], ['', '', '', '', '', '', '', 'Posting Date', 'Voucher Type', 'Voucher No', 'Debit', 'Credit', 'Remarks']]
|
||||
|
||||
|
||||
|
||||
def get_account_subtree(self, acc):
|
||||
return sql("""
|
||||
SELECT
|
||||
CONCAT(REPEAT(' ', COUNT(parent.name) - (sub_tree.depth + 1)), node.name) as account,
|
||||
node.lft AS lft, node.rgt AS rgt,
|
||||
node.debit_or_credit as dr_or_cr, node.group_or_ledger as group_or_ledger, node.is_pl_account as is_pl_account
|
||||
FROM tabAccount AS node,
|
||||
tabAccount AS parent,
|
||||
tabAccount AS sub_parent,
|
||||
(
|
||||
SELECT node.name, (COUNT(parent.name) - 1) AS depth
|
||||
FROM tabAccount AS node, tabAccount AS parent
|
||||
WHERE node.lft BETWEEN parent.lft AND parent.rgt
|
||||
AND node.name = %s
|
||||
GROUP BY node.name
|
||||
ORDER BY node.lft
|
||||
)AS sub_tree
|
||||
WHERE node.lft BETWEEN parent.lft AND parent.rgt
|
||||
AND node.lft BETWEEN sub_parent.lft AND sub_parent.rgt
|
||||
AND sub_parent.name = sub_tree.name
|
||||
GROUP BY node.name
|
||||
ORDER BY node.lft""", acc, as_dict = 1)
|
||||
|
||||
|
||||
|
||||
def show_acc_summary(self, glc, acc_det):
|
||||
from_date_year = self.get_year(add_days(self.doc.from_date, -1))
|
||||
to_date_year = self.get_year(self.doc.to_date)
|
||||
acc = acc_det['account'].strip()
|
||||
|
||||
if from_date_year == to_date_year:
|
||||
debit_on_fromdate, credit_on_fromdate, opening = glc.get_as_on_balance(acc, from_date_year, add_days(self.doc.from_date, -1), acc_det['dr_or_cr'], acc_det['lft'], acc_det['rgt']) # opening = closing of prev_date
|
||||
elif acc_det['is_pl_account'] == 'No': # if there is no previous year in system and not pl account
|
||||
opening = sql("select opening from `tabAccount Balance` where account = %s and period = %s", (acc, to_date_year))
|
||||
debit_on_fromdate, credit_on_fromdate, opening = 0, 0, flt(opening[0][0])
|
||||
else: # if pl account and there is no previous year in system
|
||||
debit_on_fromdate, credit_on_fromdate, opening = 0,0,0
|
||||
|
||||
# closing balance
|
||||
#--------------------------------
|
||||
debit_on_todate, credit_on_todate, closing = glc.get_as_on_balance(acc, to_date_year, self.doc.to_date, acc_det['dr_or_cr'], acc_det['lft'], acc_det['rgt'])
|
||||
|
||||
# transaction betn the period
|
||||
#----------------------------------------
|
||||
debit = flt(debit_on_todate) - flt(debit_on_fromdate)
|
||||
credit = flt(credit_on_todate) - flt(credit_on_fromdate)
|
||||
|
||||
# Debit / Credit
|
||||
if acc_det['dr_or_cr'] == 'Credit':
|
||||
opening, closing = -1*opening, -1*closing
|
||||
|
||||
return [acc_det['account'], flt(opening>0 and opening or 0), flt(opening<0 and -opening or 0),
|
||||
debit, credit, flt(closing>0.01 and closing or 0), flt(closing<-0.01 and -closing or 0)]
|
||||
|
||||
|
||||
def show_gl_entries(self, acc):
|
||||
"""Get gl entries for the period and account"""
|
||||
gle = sql("select posting_date, voucher_type, voucher_no, debit, credit, remarks from `tabGL Entry` WHERE account = %s and posting_date >= %s AND posting_date <= %s and ifnull(is_opening, 'No') = 'No' and ifnull(is_cancelled, 'No') = 'No'", (acc, self.doc.from_date, self.doc.to_date), as_dict=1)
|
||||
entries, dr, cr = [], 0, 0
|
||||
for d in gle:
|
||||
dr, cr = dr + flt(d['debit']), cr + flt(d['credit'])
|
||||
entries.append(['', d['posting_date'], d['voucher_type'], d['voucher_no'], d['debit'], d['credit'], d['remarks']])
|
||||
return entries, dr, cr
|
||||
entries.append(['', '', '', '', '', '', '', d['posting_date'], d['voucher_type'], d['voucher_no'], d['debit'], d['credit'], d['remarks']])
|
||||
return entries
|
||||
|
||||
|
||||
|
||||
|
||||
# Get Report Data
|
||||
def get_report_data(self):
|
||||
from_date_year = self.get_year(add_days(self.doc.from_date, -1))
|
||||
to_date_year = self.get_year(self.doc.to_date)
|
||||
self.validate_date()
|
||||
|
||||
res = []
|
||||
res += self.add_header()
|
||||
|
||||
# result initiatlization
|
||||
header = 'Ledger Balances Between ' + getdate(self.doc.from_date).strftime('%d-%m-%Y') + ' and ' + getdate(self.doc.to_date).strftime('%d-%m-%Y')
|
||||
res = [[header], ['Account', 'Posting Date', 'Voucher Type', 'Voucher No', 'Debit', 'Credit', 'Remarks']]
|
||||
glc = get_obj('GL Control')
|
||||
|
||||
for d in getlist(self.doclist, 'ledger_details'):
|
||||
# Fetch acc details
|
||||
acc_det = sql("select debit_or_credit, is_pl_account, lft, rgt from tabAccount where name = '%s'" % d.account, as_dict=1)[0]
|
||||
sub_tree = self.get_account_subtree(d.account)
|
||||
|
||||
# Opening
|
||||
opening = glc.get_as_on_balance(d.account, from_date_year, add_days(self.doc.from_date, -1), acc_det['debit_or_credit'], acc_det['lft'], acc_det['rgt'])[2]
|
||||
if acc_det['debit_or_credit'] == 'Credit':
|
||||
opening = -1*opening
|
||||
for acc_det in sub_tree:
|
||||
acc_summary = self.show_acc_summary(glc, acc_det)
|
||||
res.append(acc_summary)
|
||||
|
||||
# Show gl entries if account is ledger
|
||||
if acc_det['group_or_ledger'] == 'Ledger' and (acc_summary[3] or acc_summary[4]):
|
||||
gle = self.show_gl_entries(acc_det['account'].strip())
|
||||
res += gle
|
||||
|
||||
# GL Entries
|
||||
gle, debit, credit = self.get_gl_entries(acc_det['lft'], acc_det['rgt'])
|
||||
|
||||
# Closing
|
||||
closing = opening + debit - credit
|
||||
|
||||
# Append to result
|
||||
res.append([d.account])
|
||||
res += gle
|
||||
res.append(['', '', '', 'Total Debit/Credit', debit, credit])
|
||||
res.append(['', '', '', 'Opening Balance', opening])
|
||||
res.append(['', '', '', 'Closing Balance', closing])
|
||||
|
||||
return res
|
||||
|
@ -935,7 +935,7 @@
|
||||
'oldfieldname': u'in_words_export',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 1,
|
||||
'print_hide': 1
|
||||
'print_hide': 0
|
||||
},
|
||||
|
||||
# DocField
|
||||
@ -1518,4 +1518,4 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -19,4 +19,12 @@ pscript['onload_accounts-home'] = function(wrapper) {
|
||||
if(wn.control_panel.country!='India') {
|
||||
$('.india-specific').toggle(false);
|
||||
}
|
||||
}
|
||||
|
||||
if(wn.boot.profile.roles.indexOf('Accounts Manager')==-1 && wn.boot.profile.roles.indexOf('Accounts User')==-1) {
|
||||
$('[href*="Accounts Browser"]').each(function() {
|
||||
var txt = $(this).text();
|
||||
$(this).parent().css('color', '#999').html(txt);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ class DocType(TransactionBase):
|
||||
if d.fields.has_key(x):
|
||||
d.fields[x] = f_lst[x]
|
||||
|
||||
item = sql("select is_stock_item, is_purchase_item from tabItem where name=%s and (ifnull(end_of_life,'')='' or end_of_life = '0000-00-00' or end_of_life > now())", d.item_code)
|
||||
item = sql("select is_stock_item, is_purchase_item, is_sub_contracted_item from tabItem where name=%s and (ifnull(end_of_life,'')='' or end_of_life = '0000-00-00' or end_of_life > now())", d.item_code)
|
||||
if not item:
|
||||
msgprint("Item %s does not exist in Item Master." % cstr(d.item_code))
|
||||
raise Exception
|
||||
@ -239,9 +239,10 @@ class DocType(TransactionBase):
|
||||
raise Exception
|
||||
|
||||
# validate purchase item
|
||||
if not item[0][1]=='Yes':
|
||||
msgprint("Item %s is not purchase item." % (d.item_code))
|
||||
if item[0][1] != 'Yes' and item[0][2] != 'Yes':
|
||||
msgprint("Item %s is not a purchase item or sub-contracted item. Please check" % (d.item_code))
|
||||
raise Exception
|
||||
|
||||
|
||||
if d.fields.has_key('prevdoc_docname') and d.prevdoc_docname:
|
||||
# check warehouse, uom in previous doc and in current doc are same.
|
||||
|
0
erpnext/patches/april_2012/__init__.py
Normal file
0
erpnext/patches/april_2012/__init__.py
Normal file
4
erpnext/patches/april_2012/reload_c_form.py
Normal file
4
erpnext/patches/april_2012/reload_c_form.py
Normal file
@ -0,0 +1,4 @@
|
||||
def execute():
|
||||
import webnotes
|
||||
from webnotes.modules.module_manager import reload_doc
|
||||
reload_doc('accounts', 'doctype', 'c_form')
|
3
erpnext/patches/jan_mar_2012/mapper_fix.py
Normal file
3
erpnext/patches/jan_mar_2012/mapper_fix.py
Normal file
@ -0,0 +1,3 @@
|
||||
def execute():
|
||||
import webnotes
|
||||
webnotes.conn.sql("delete from `tabTable Mapper Detail` where to_table = 'RV Detail' and parent = 'Delivery Note-Receivable Voucher' and validation_logic = 'amount > ifnull(billed_amt, 0) and docstatus = 1'")
|
9
erpnext/patches/jan_mar_2012/reload_mapper.py
Normal file
9
erpnext/patches/jan_mar_2012/reload_mapper.py
Normal file
@ -0,0 +1,9 @@
|
||||
def execute():
|
||||
import webnotes
|
||||
from webnotes.modules.module_manager import reload_doc
|
||||
|
||||
reload_doc('stock', 'DocType Mapper', 'Sales Order-Delivery Note')
|
||||
reload_doc('accounts', 'DocType Mapper', 'Sales Order-Receivable Voucher')
|
||||
reload_doc('accounts', 'DocType Mapper', 'Delivery Note-Receivable Voucher')
|
||||
|
||||
webnotes.conn.sql("delete from `tabField Mapper Detail` where parent = 'Sales Order-Delivery Note' and from_field = 'basic_rate' and to_field = 'basic_rate'")
|
14
erpnext/patches/mar_2012/earning_deduction_type_patch.py
Normal file
14
erpnext/patches/mar_2012/earning_deduction_type_patch.py
Normal file
@ -0,0 +1,14 @@
|
||||
def execute():
|
||||
import webnotes
|
||||
webnotes.conn.sql("""
|
||||
UPDATE `tabDocField`
|
||||
SET fieldtype = 'Link', options = 'Deduction Type'
|
||||
WHERE parent = 'Deduction Detail'
|
||||
AND fieldname = 'd_type'
|
||||
""")
|
||||
webnotes.conn.sql("""
|
||||
UPDATE `tabDocField`
|
||||
SET fieldtype = 'Link', options = 'Earning Type'
|
||||
WHERE parent = 'Earning Detail'
|
||||
AND fieldname = 'e_type'
|
||||
""")
|
10
erpnext/patches/mar_2012/so_rv_mapper_fix.py
Normal file
10
erpnext/patches/mar_2012/so_rv_mapper_fix.py
Normal file
@ -0,0 +1,10 @@
|
||||
def execute():
|
||||
import webnotes
|
||||
count = webnotes.conn.sql("""SELECT COUNT(*) FROM `tabTable Mapper Detail`
|
||||
WHERE parent='Sales Order-Receivable Voucher'
|
||||
AND from_table='Sales Order Detail'""")
|
||||
if count and count[0][0]==2:
|
||||
webnotes.conn.sql("""DELETE FROM `tabTable Mapper Detail`
|
||||
WHERE parent='Sales Order-Receivable Voucher'
|
||||
AND from_table='Sales Order Detail'
|
||||
AND validation_logic='docstatus = 1'""")
|
@ -207,5 +207,25 @@ patch_list = [
|
||||
'patch_file': 'update_se_fld_options',
|
||||
'description': 'Purpose SE: Others to Other'
|
||||
},
|
||||
{
|
||||
'patch_module': 'patches.jan_mar_2012',
|
||||
'patch_file': 'reload_mapper',
|
||||
'description': 'SO-DN, SO-Rv, DN-RV'
|
||||
},
|
||||
{
|
||||
'patch_module': 'patches.jan_mar_2012',
|
||||
'patch_file': 'mapper_fix',
|
||||
'description': 'DN-RV duplicate table entry'
|
||||
},
|
||||
{
|
||||
'patch_module': 'patches.mar_2012',
|
||||
'patch_file': 'so_rv_mapper_fix',
|
||||
'description': 'SO-RV duplicate mapper entry removal'
|
||||
},
|
||||
{
|
||||
'patch_module': 'patches.april_2012',
|
||||
'patch_file': 'reload_c_form',
|
||||
'description': 'Added attchemnt option and total field'
|
||||
},
|
||||
|
||||
]
|
||||
|
@ -875,7 +875,7 @@
|
||||
'oldfieldname': u'in_words_export',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 1,
|
||||
'print_hide': 1,
|
||||
'print_hide': 0,
|
||||
'width': u'200px'
|
||||
},
|
||||
|
||||
@ -1199,4 +1199,4 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -157,11 +157,18 @@ cur_frm.cscript.hide_price_list_currency = function(doc, cdt, cdn, callback1) {
|
||||
args: {'price_list':doc.price_list_name, 'company': doc.company},
|
||||
callback: function(r, rt) {
|
||||
pl_currency = r.message[0]?r.message[0]:[];
|
||||
unhide_field(['price_list_currency', 'plc_conversion_rate']);
|
||||
|
||||
if (pl_currency.length==1) {
|
||||
if (pl_currency[0] == doc.currency) set_multiple(cdt, cdn, {price_list_currency:doc.currency, plc_conversion_rate:doc.conversion_rate});
|
||||
else if (pl_currency[0] = r.message[1]) set_multiple(cdt, cdn, {price_list_currency:pl_currency[0], plc_conversion_rate:1})
|
||||
hide_field(['price_list_currency', 'plc_conversion_rate']);
|
||||
} else unhide_field(['price_list_currency', 'plc_conversion_rate']);
|
||||
set_multiple(cdt, cdn, {price_list_currency:pl_currency[0]});
|
||||
if (pl_currency[0] == doc.currency) {
|
||||
set_multiple(cdt, cdn, {plc_conversion_rate:doc.conversion_rate});
|
||||
hide_field(['price_list_currency', 'plc_conversion_rate']);
|
||||
} else if (pl_currency[0] == r.message[1]) {
|
||||
set_multiple(cdt, cdn, {plc_conversion_rate:1})
|
||||
hide_field(['price_list_currency', 'plc_conversion_rate']);
|
||||
}
|
||||
}
|
||||
|
||||
if (r.message[1] == doc.currency) {
|
||||
set_multiple(cdt, cdn, {conversion_rate:1});
|
||||
|
@ -963,7 +963,7 @@
|
||||
'oldfieldname': u'in_words_export',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 1,
|
||||
'print_hide': 1,
|
||||
'print_hide': 0,
|
||||
'width': u'200px'
|
||||
},
|
||||
|
||||
@ -1333,4 +1333,4 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -240,7 +240,9 @@ class DocType:
|
||||
Adds common conditions in dictionary "args"
|
||||
"""
|
||||
start_date, end_date = self.get_start_end_dates()
|
||||
fiscal_start_date = webnotes.utils.get_defaults()['year_start_date']
|
||||
fiscal_year = webnotes.utils.get_defaults()['fiscal_year']
|
||||
fiscal_start_date = webnotes.conn.get_value('Fiscal Year', fiscal_year,
|
||||
'year_start_date')
|
||||
|
||||
if 'new' in args['type']:
|
||||
args.update({
|
||||
|
@ -36,6 +36,10 @@ cur_frm.pformat.rounded_total_export = function(doc) {
|
||||
return '';
|
||||
}
|
||||
|
||||
cur_frm.pformat.in_words_export = function(doc) {
|
||||
return '';
|
||||
}
|
||||
|
||||
cur_frm.pformat.other_charges= function(doc){
|
||||
//function to make row of table
|
||||
var make_row = function(title,val,bold){
|
||||
@ -89,7 +93,7 @@ cur_frm.pformat.other_charges= function(doc){
|
||||
out += make_row('Rounded Total',fmt_money(doc.rounded_total_export),1);
|
||||
}
|
||||
|
||||
if(doc.in_words_export){
|
||||
if(doc.in_words_export && !print_hide_dict['in_words_export']){
|
||||
out +='</table></td></tr>';
|
||||
out += '<tr><td colspan = "2">';
|
||||
out += '<table><tr><td style="width:25%;"><b>In Words</b></td>'
|
||||
|
@ -70,7 +70,10 @@ class DocType:
|
||||
ret.append(p)
|
||||
|
||||
# fields list
|
||||
fl = ['', 'owner'] + [l[0] for l in sql("select fieldname from tabDocField where parent=%s and fieldtype='Link' and ifnull(options,'')!=''", doctype)]
|
||||
fl = ['', 'owner'] + [l[0] for l in sql("""\
|
||||
select fieldname from tabDocField where parent=%s
|
||||
and ((fieldtype='Link' and ifnull(options,'')!='') or
|
||||
(fieldtype='Select') and lcase(ifnull(options,'')) like 'link:%%')""", doctype)]
|
||||
|
||||
return {'perms':ret, 'fields':fl}
|
||||
|
||||
|
@ -131,10 +131,10 @@
|
||||
{
|
||||
'checking_operator': u'=',
|
||||
'doctype': u'Field Mapper Detail',
|
||||
'from_field': u'basic_rate',
|
||||
'from_field': u'export_rate',
|
||||
'map': u'Yes',
|
||||
'match_id': 1,
|
||||
'to_field': u'basic_rate'
|
||||
'to_field': u'export_rate'
|
||||
},
|
||||
|
||||
# Field Mapper Detail
|
||||
@ -264,4 +264,4 @@
|
||||
'to_table': u'Delivery Note',
|
||||
'validation_logic': u'docstatus = 1'
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -337,12 +337,12 @@ class DocType:
|
||||
and t1.docstatus != 2
|
||||
""", self.doc.item_code)
|
||||
|
||||
if ((flt(ret[0]['re_order_level']) > flt(current_qty)) and ret[0]['re_order_level']):
|
||||
self.create_auto_indent(ret[0], doc_type, doc_name)
|
||||
if ((flt(ret[0]['re_order_level']) > flt(current_qty[0][0])) and ret[0]['re_order_level']):
|
||||
self.create_auto_indent(ret[0], doc_type, doc_name, current_qty[0][0])
|
||||
|
||||
|
||||
|
||||
def create_auto_indent(self, i , doc_type, doc_name):
|
||||
def create_auto_indent(self, i , doc_type, doc_name, cur_qty):
|
||||
""" Create indent on reaching reorder level """
|
||||
|
||||
indent = Document('Indent')
|
||||
@ -361,7 +361,7 @@ class DocType:
|
||||
indent_details_child.item_name = i['item_name']
|
||||
indent_details_child.description = i['description']
|
||||
indent_details_child.item_group = i['item_group']
|
||||
indent_details_child.qty = i['re_order_qty']
|
||||
indent_details_child.qty = i['re_order_qty'] or (flt(i['re_order_level']) - flt(cur_qty))
|
||||
indent_details_child.brand = i['brand']
|
||||
indent_details_child.save()
|
||||
indent_obj = get_obj('Indent',indent.name,with_children=1)
|
||||
|
@ -869,7 +869,7 @@
|
||||
'oldfieldname': u'in_words_export',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 1,
|
||||
'print_hide': 1,
|
||||
'print_hide': 0,
|
||||
'width': u'150px'
|
||||
},
|
||||
|
||||
@ -1346,4 +1346,4 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -41,13 +41,13 @@ cur_frm.fields_dict['default_bom'].get_query = function(doc) {
|
||||
// Expense Account
|
||||
// ---------------------------------
|
||||
cur_frm.fields_dict['purchase_account'].get_query = function(doc){
|
||||
return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Debit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'
|
||||
return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Debit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'
|
||||
}
|
||||
|
||||
// Income Account
|
||||
// --------------------------------
|
||||
cur_frm.fields_dict['default_income_account'].get_query = function(doc) {
|
||||
return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Credit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`account_type` ="Income Account" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'
|
||||
return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Credit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`account_type` ="Income Account" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,7 +23,10 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) {
|
||||
|
||||
var cfn_set_fields = function(doc, cdt, cdn) {
|
||||
lst = ['supplier','supplier_name','supplier_address','customer','customer_name','customer_address'];
|
||||
hide_field(lst);
|
||||
if (in_list(['Material Issue', 'Material Transfer', 'Material Receipt', 'Production Order', 'Subcontracting', 'Other'], doc.purpose)) {
|
||||
hide_field(lst);
|
||||
} else unhide_field(lst);
|
||||
|
||||
|
||||
if (doc.purpose == 'Production Order' || doc.purpose == 'Other'){
|
||||
unhide_field('Get Items');
|
||||
@ -52,6 +55,7 @@ var cfn_set_fields = function(doc, cdt, cdn) {
|
||||
if(doc.purpose == 'Purchase Return'){
|
||||
doc.customer=doc.customer_name = doc.customer_address=doc.delivery_note_no=doc.sales_invoice_no='';
|
||||
unhide_field(['supplier','supplier_name','supplier_address','purchase_receipt_no']);
|
||||
|
||||
}
|
||||
else if(doc.purpose == 'Sales Return'){
|
||||
doc.supplier=doc.supplier_name = doc.supplier_address=doc.purchase_receipt_no='';
|
||||
|
@ -31,8 +31,9 @@ in_transaction = webnotes.conn.in_transaction
|
||||
convert_to_lists = webnotes.conn.convert_to_lists
|
||||
|
||||
# -----------------------------------------------------------------------------------------
|
||||
from utilities.transaction_base import TransactionBase
|
||||
|
||||
class DocType:
|
||||
class DocType(TransactionBase):
|
||||
def __init__(self, doc, doclist=[]):
|
||||
self.doc = doc
|
||||
self.doclist = doclist
|
||||
@ -510,10 +511,11 @@ class DocType:
|
||||
|
||||
|
||||
def get_cust_addr(self):
|
||||
res = sql("select customer_name,address from `tabCustomer` where name = '%s'"%self.doc.customer)
|
||||
res = sql("select customer_name from `tabCustomer` where name = '%s'"%self.doc.customer)
|
||||
addr = self.get_address_text(customer = self.doc.customer)
|
||||
ret = {
|
||||
'customer_name' : res and res[0][0] or '',
|
||||
'customer_address' : res and res[0][1] or ''}
|
||||
'customer_address' : addr and addr[0] or ''}
|
||||
|
||||
return ret
|
||||
|
||||
@ -530,7 +532,8 @@ class DocType:
|
||||
|
||||
def get_supp_addr(self):
|
||||
res = sql("select supplier_name,address from `tabSupplier` where name = '%s'"%self.doc.supplier)
|
||||
addr = self.get_address_text(supplier = self.doc.supplier)
|
||||
ret = {
|
||||
'supplier_name' : res and res[0][0] or '',
|
||||
'supplier_address' : res and res[0][1] or ''}
|
||||
'supplier_address' : addr and addr[0] or ''}
|
||||
return ret
|
||||
|
@ -3,16 +3,16 @@
|
||||
|
||||
# These values are common in all dictionaries
|
||||
{
|
||||
'creation': '2010-08-08 17:09:25',
|
||||
'creation': '2009-05-12 16:46:45',
|
||||
'docstatus': 0,
|
||||
'modified': '2012-03-21 11:00:48',
|
||||
'modified': '2012-04-13 14:12:02',
|
||||
'modified_by': u'Administrator',
|
||||
'owner': u'Administrator'
|
||||
},
|
||||
|
||||
# These values are common for all DocType
|
||||
{
|
||||
'_last_update': u'1332233897',
|
||||
'_last_update': u'1334303911',
|
||||
'allow_attach': 0,
|
||||
'allow_copy': 0,
|
||||
'allow_email': 0,
|
||||
@ -41,7 +41,7 @@
|
||||
'subject': u'%(remarks)s',
|
||||
'tag_fields': u'purpose',
|
||||
'use_template': 0,
|
||||
'version': 259
|
||||
'version': 263
|
||||
},
|
||||
|
||||
# These values are common for all DocField
|
||||
@ -71,26 +71,26 @@
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'amend': 1,
|
||||
'cancel': 1,
|
||||
'create': 1,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 1,
|
||||
'role': u'Material Manager',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 1,
|
||||
'permlevel': 0,
|
||||
'role': u'Material User',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 1,
|
||||
'cancel': 1,
|
||||
'create': 1,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 0,
|
||||
'role': u'Material Manager',
|
||||
'submit': 1,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
@ -105,30 +105,6 @@
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 1,
|
||||
'role': u'Production User',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 2,
|
||||
'role': u'Production User',
|
||||
'submit': 0,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 1,
|
||||
@ -148,20 +124,25 @@
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 1,
|
||||
'role': u'Production Manager',
|
||||
'role': u'All',
|
||||
'submit': 0,
|
||||
'write': 0
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'amend': 0,
|
||||
'cancel': 0,
|
||||
'create': 0,
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 2,
|
||||
'role': u'Production User',
|
||||
'write': 1
|
||||
},
|
||||
|
||||
# DocPerm
|
||||
{
|
||||
'doctype': u'DocPerm',
|
||||
'permlevel': 2,
|
||||
'role': u'Production Manager',
|
||||
'submit': 0,
|
||||
'write': 1
|
||||
},
|
||||
|
||||
@ -191,12 +172,13 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'naming_series',
|
||||
'fieldtype': u'Select',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Series',
|
||||
'no_copy': 1,
|
||||
'oldfieldname': u'naming_series',
|
||||
'oldfieldtype': u'Select',
|
||||
'options': u'STE',
|
||||
'options': u'\nSTE',
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
@ -211,6 +193,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'amendment_date',
|
||||
'fieldtype': u'Date',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Amendment Date',
|
||||
'no_copy': 1,
|
||||
@ -219,6 +202,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -229,6 +213,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'purpose',
|
||||
'fieldtype': u'Select',
|
||||
'hidden': 0,
|
||||
'in_filter': 1,
|
||||
'label': u'Purpose',
|
||||
'no_copy': 0,
|
||||
@ -236,6 +221,7 @@
|
||||
'oldfieldtype': u'Select',
|
||||
'options': u'Material Issue\nMaterial Receipt\nMaterial Transfer\nSales Return\nPurchase Return\nSubcontracting\nProduction Order\nOther',
|
||||
'permlevel': 0,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 1,
|
||||
'search_index': 0,
|
||||
@ -259,6 +245,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 1,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -280,6 +267,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 1,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -303,7 +291,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'supplier',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 1,
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Supplier',
|
||||
'no_copy': 0,
|
||||
@ -313,6 +301,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -323,13 +312,16 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'supplier_name',
|
||||
'fieldtype': u'Data',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Supplier Name',
|
||||
'no_copy': 0,
|
||||
'oldfieldname': u'supplier_name',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 1,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -340,14 +332,16 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'supplier_address',
|
||||
'fieldtype': u'Small Text',
|
||||
'hidden': 1,
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Supplier Address',
|
||||
'no_copy': 0,
|
||||
'oldfieldname': u'supplier_address',
|
||||
'oldfieldtype': u'Small Text',
|
||||
'permlevel': 0,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -359,7 +353,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'customer',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 1,
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Customer',
|
||||
'no_copy': 0,
|
||||
@ -369,6 +363,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -379,14 +374,16 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'customer_name',
|
||||
'fieldtype': u'Data',
|
||||
'hidden': 1,
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Customer Name',
|
||||
'no_copy': 0,
|
||||
'oldfieldname': u'customer_name',
|
||||
'oldfieldtype': u'Data',
|
||||
'permlevel': 1,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -396,14 +393,16 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'customer_address',
|
||||
'fieldtype': u'Small Text',
|
||||
'hidden': 1,
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Customer Address',
|
||||
'no_copy': 0,
|
||||
'oldfieldname': u'customer_address',
|
||||
'oldfieldtype': u'Small Text',
|
||||
'permlevel': 0,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -424,6 +423,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -445,6 +445,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 1,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -479,6 +480,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'fg_completed_qty',
|
||||
'fieldtype': u'Currency',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'FG Completed Qty',
|
||||
'no_copy': 0,
|
||||
@ -487,6 +489,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0,
|
||||
'trigger': u'Client'
|
||||
},
|
||||
@ -511,6 +514,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'from_warehouse',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Source Warehouse',
|
||||
'no_copy': 0,
|
||||
@ -533,6 +537,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'to_warehouse',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Target Warehouse',
|
||||
'no_copy': 0,
|
||||
@ -576,6 +581,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'transfer_date',
|
||||
'fieldtype': u'Date',
|
||||
'hidden': 0,
|
||||
'in_filter': 1,
|
||||
'label': u'Transfer Date',
|
||||
'no_copy': 1,
|
||||
@ -595,6 +601,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'posting_date',
|
||||
'fieldtype': u'Date',
|
||||
'hidden': 0,
|
||||
'in_filter': 1,
|
||||
'label': u'Posting Date',
|
||||
'no_copy': 1,
|
||||
@ -613,6 +620,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'posting_time',
|
||||
'fieldtype': u'Time',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Posting Time',
|
||||
'no_copy': 1,
|
||||
@ -631,6 +639,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'amended_from',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Amended From',
|
||||
'no_copy': 1,
|
||||
@ -640,6 +649,7 @@
|
||||
'permlevel': 1,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -649,6 +659,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'transporter',
|
||||
'fieldtype': u'Data',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Transporter',
|
||||
'no_copy': 0,
|
||||
@ -657,6 +668,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -666,6 +678,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'is_excisable_goods',
|
||||
'fieldtype': u'Select',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Is Excisable Goods',
|
||||
'no_copy': 0,
|
||||
@ -675,6 +688,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -684,6 +698,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'excisable_goods',
|
||||
'fieldtype': u'Select',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Excisable Goods',
|
||||
'no_copy': 0,
|
||||
@ -693,6 +708,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -712,6 +728,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -721,6 +738,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'remarks',
|
||||
'fieldtype': u'Text',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Remarks',
|
||||
'no_copy': 1,
|
||||
@ -795,6 +813,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -814,6 +833,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'mtn_details',
|
||||
'fieldtype': u'Table',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'MTN Details',
|
||||
'no_copy': 0,
|
||||
@ -823,6 +843,7 @@
|
||||
'permlevel': 0,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -832,6 +853,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'total_amount',
|
||||
'fieldtype': u'Currency',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Total Amount',
|
||||
'no_copy': 0,
|
||||
@ -840,6 +862,7 @@
|
||||
'permlevel': 1,
|
||||
'print_hide': 1,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
},
|
||||
|
||||
@ -858,6 +881,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'company',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 0,
|
||||
'in_filter': 1,
|
||||
'label': u'Company',
|
||||
'no_copy': 0,
|
||||
@ -877,6 +901,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'fiscal_year',
|
||||
'fieldtype': u'Select',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Fiscal Year',
|
||||
'no_copy': 0,
|
||||
@ -896,6 +921,7 @@
|
||||
'doctype': u'DocField',
|
||||
'fieldname': u'select_print_heading',
|
||||
'fieldtype': u'Link',
|
||||
'hidden': 0,
|
||||
'in_filter': 0,
|
||||
'label': u'Select Print Heading',
|
||||
'no_copy': 0,
|
||||
@ -903,7 +929,9 @@
|
||||
'oldfieldtype': u'Link',
|
||||
'options': u'Print Heading',
|
||||
'permlevel': 0,
|
||||
'print_hide': 0,
|
||||
'report_hide': 0,
|
||||
'reqd': 0,
|
||||
'search_index': 0
|
||||
}
|
||||
]
|
Loading…
x
Reference in New Issue
Block a user