Merge branch 'develop'
@ -1,2 +1,2 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
__version__ = '6.14.0'
|
__version__ = '6.14.1'
|
||||||
|
@ -347,6 +347,7 @@ frappe.ui.form.on("Journal Entry Account", {
|
|||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
if(r.message) {
|
if(r.message) {
|
||||||
$.extend(d, r.message);
|
$.extend(d, r.message);
|
||||||
|
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, dt, dn);
|
||||||
refresh_field('accounts');
|
refresh_field('accounts');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -355,11 +356,11 @@ frappe.ui.form.on("Journal Entry Account", {
|
|||||||
},
|
},
|
||||||
|
|
||||||
debit_in_account_currency: function(frm, cdt, cdn) {
|
debit_in_account_currency: function(frm, cdt, cdn) {
|
||||||
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
|
||||||
},
|
},
|
||||||
|
|
||||||
credit_in_account_currency: function(frm, cdt, cdn) {
|
credit_in_account_currency: function(frm, cdt, cdn) {
|
||||||
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
|
||||||
},
|
},
|
||||||
|
|
||||||
debit: function(frm, dt, dn) {
|
debit: function(frm, dt, dn) {
|
||||||
@ -368,6 +369,17 @@ frappe.ui.form.on("Journal Entry Account", {
|
|||||||
|
|
||||||
credit: function(frm, dt, dn) {
|
credit: function(frm, dt, dn) {
|
||||||
cur_frm.cscript.update_totals(frm.doc);
|
cur_frm.cscript.update_totals(frm.doc);
|
||||||
|
},
|
||||||
|
|
||||||
|
exchange_rate: function(frm, cdt, cdn) {
|
||||||
|
var company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
|
||||||
|
var row = locals[cdt][cdn];
|
||||||
|
|
||||||
|
if(row.account_currency == company_currency || !frm.doc.multi_currency) {
|
||||||
|
frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -395,8 +407,6 @@ $.extend(erpnext.journal_entry, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
set_debit_credit_in_company_currency: function(frm, cdt, cdn) {
|
set_debit_credit_in_company_currency: function(frm, cdt, cdn) {
|
||||||
erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
|
|
||||||
|
|
||||||
var row = locals[cdt][cdn];
|
var row = locals[cdt][cdn];
|
||||||
|
|
||||||
frappe.model.set_value(cdt, cdn, "debit",
|
frappe.model.set_value(cdt, cdn, "debit",
|
||||||
@ -413,7 +423,8 @@ $.extend(erpnext.journal_entry, {
|
|||||||
var row = locals[cdt][cdn];
|
var row = locals[cdt][cdn];
|
||||||
|
|
||||||
if(row.account_currency == company_currency || !frm.doc.multi_currency) {
|
if(row.account_currency == company_currency || !frm.doc.multi_currency) {
|
||||||
frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
|
row.exchange_rate = 1;
|
||||||
|
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
||||||
} else if (!row.exchange_rate || row.exchange_rate == 1 || row.account_type == "Bank") {
|
} else if (!row.exchange_rate || row.exchange_rate == 1 || row.account_type == "Bank") {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
|
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
|
||||||
@ -429,11 +440,15 @@ $.extend(erpnext.journal_entry, {
|
|||||||
},
|
},
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
if(r.message) {
|
if(r.message) {
|
||||||
frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
|
row.exchange_rate = r.message;
|
||||||
|
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
||||||
}
|
}
|
||||||
|
refresh_field("exchange_rate", cdn, "accounts");
|
||||||
},
|
},
|
||||||
|
|
||||||
quick_entry: function(frm) {
|
quick_entry: function(frm) {
|
||||||
|
@ -104,6 +104,12 @@ class JournalEntry(AccountsController):
|
|||||||
msgprint(_("Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.").format(d.idx, d.account))
|
msgprint(_("Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.").format(d.idx, d.account))
|
||||||
elif d.reference_type in ("Sales Order", "Purchase Order") and d.is_advance != "Yes":
|
elif d.reference_type in ("Sales Order", "Purchase Order") and d.is_advance != "Yes":
|
||||||
frappe.throw(_("Row {0}: Payment against Sales/Purchase Order should always be marked as advance").format(d.idx))
|
frappe.throw(_("Row {0}: Payment against Sales/Purchase Order should always be marked as advance").format(d.idx))
|
||||||
|
|
||||||
|
if d.is_advance == "Yes":
|
||||||
|
if d.party_type == 'Customer' and flt(d.debit) > 0:
|
||||||
|
frappe.throw(_("Row {0}: Advance against Customer must be credit").format(d.idx))
|
||||||
|
elif d.party_type == 'Supplier' and flt(d.credit) > 0:
|
||||||
|
frappe.throw(_("Row {0}: Advance against Supplier must be debit").format(d.idx))
|
||||||
|
|
||||||
def validate_against_jv(self):
|
def validate_against_jv(self):
|
||||||
for d in self.get('accounts'):
|
for d in self.get('accounts'):
|
||||||
|
@ -21,6 +21,11 @@ def get_data():
|
|||||||
"label": _("Customizing Forms"),
|
"label": _("Customizing Forms"),
|
||||||
"youtube_id": "pJhL9mmxV_U"
|
"youtube_id": "pJhL9mmxV_U"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "help",
|
||||||
|
"label": _("Report Builder"),
|
||||||
|
"youtube_id": "y0o5iYZOioU"
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -273,6 +278,11 @@ def get_data():
|
|||||||
"label": _("Publish Items on Website"),
|
"label": _("Publish Items on Website"),
|
||||||
"youtube_id": "W31LBBNzbgc"
|
"youtube_id": "W31LBBNzbgc"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "help",
|
||||||
|
"label": _("Shopping Cart"),
|
||||||
|
"youtube_id": "xkrYO-KFukM"
|
||||||
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 5.4 KiB |
BIN
erpnext/docs/assets/img/articles/change-language-1.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
erpnext/docs/assets/img/articles/change-language-2.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
erpnext/docs/assets/img/articles/change-language-3.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
erpnext/docs/assets/img/articles/change-password-1.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
erpnext/docs/assets/img/articles/change-password-2.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
erpnext/docs/assets/img/articles/edit-submitted-doc-1.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
erpnext/docs/assets/img/articles/edit-submitted-doc-2.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
erpnext/docs/assets/img/articles/edit-submitted-doc-3.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
erpnext/docs/assets/img/articles/new-company-1.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
erpnext/docs/assets/img/articles/new-company-2.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
erpnext/docs/assets/img/articles/new-company-3.png
Normal file
After Width: | Height: | Size: 59 KiB |
@ -35,7 +35,7 @@
|
|||||||
Version
|
Version
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<code>6.13.1</code>
|
<code>6.14.0</code>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -8,11 +8,11 @@ Following are the steps to set language in your ERPNext account.
|
|||||||
|
|
||||||
#### 1.1 Go to My Setting
|
#### 1.1 Go to My Setting
|
||||||
|
|
||||||

|
<img alt="My Setting" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-1.png">
|
||||||
|
|
||||||
#### 1.2 Select Language
|
#### 1.2 Select Language
|
||||||
|
|
||||||

|
<img alt="Select Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-2.png">
|
||||||
|
|
||||||
#### 1.3 Save User
|
#### 1.3 Save User
|
||||||
|
|
||||||
@ -28,11 +28,11 @@ Being a System Manager, you can set language in other user's master as well.
|
|||||||
|
|
||||||
#### Set Language
|
#### Set Language
|
||||||
|
|
||||||

|
<img alt="Global Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-3.png">
|
||||||
|
|
||||||
#### Save
|
#### Save
|
||||||
|
|
||||||
Save System Settings, and refresh your EPRNext account. On refreshing, you should language in your ERPNext account changed as per your preference.
|
Save System Settings, and refresh your EPRNext account. On refreshing, you should language in your ERPNext account changed as per your preference.
|
||||||
|
|
||||||
Note: For now, we have translation available only for few languages. You can contribute to make translation better, and add new languages from [here](https://frappe.io/translator).
|
Note: For now, we have translation available only for few languages. You can contribute to make translation better, and add new languages from [here](https://translate.erpnext.com).
|
||||||
<!-- markdown -->
|
<!-- markdown -->
|
@ -1,17 +1,17 @@
|
|||||||
<h1>Change Password</h1>
|
#Change User Password
|
||||||
|
|
||||||
Each ERPNext user can customize password for his/her ERPNext account. Also user with System Manager role will be able to reset password for himself as well as for other users. Following are the steps to go about changing your password.
|
Each ERPNext user can customize password for his/her ERPNext account. Also user with System Manager role will be able to reset password for himself as well as for other users. Following are the steps to go about changing your password.
|
||||||
|
|
||||||
|
|
||||||
####Step 1: Go to My Setting.
|
####Step 1: Go to My Setting
|
||||||
|
|
||||||

|
<img alt="Change Password" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-password-1.png">
|
||||||
|
|
||||||
####Step 2: Set New Password.
|
####Step 2: Set New Password
|
||||||
|
|
||||||

|
<img alt="Change Password" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-password-2.png">
|
||||||
|
|
||||||
Enter the new password and save the form to save changes.
|
Enter the new password and save the form to save changes.
|
||||||
|
|
||||||
|
|
||||||
<!-- markdown -->
|
<!-- markdown -->
|
@ -1,4 +1,4 @@
|
|||||||
<h1>Delete All Related Transactions for a Company</h1>
|
#Delete All Related Transactions for a Company
|
||||||
|
|
||||||
Often, users setup all the master data and then create a few dummy records. Then they want to delete the dummy records and the company and start over again, keeping the other master data like Customers, Items, BOMs intact.
|
Often, users setup all the master data and then create a few dummy records. Then they want to delete the dummy records and the company and start over again, keeping the other master data like Customers, Items, BOMs intact.
|
||||||
|
|
||||||
@ -12,8 +12,7 @@ In Company master, click on the **Delete Company Transactions** button right at
|
|||||||
|
|
||||||
This action will wipe out all the data related to that company like Quotation, Invoices, Purchase Orders etc. So be careful
|
This action will wipe out all the data related to that company like Quotation, Invoices, Purchase Orders etc. So be careful
|
||||||
|
|
||||||

|
<img alt="Delete Transactions" class="screenshot" src="{{docs_base_url}}/assets/img/articles/delete-company.png">
|
||||||
|
|
||||||
|
|
||||||
**Note:** If you want to delete the company record itself, the use the normal "Delete" button from Menu options. It will also delete Chart of Accounts, Chart of Cost Centers and Warehouse records for that company.
|
**Note:** If you want to delete the company record itself, the use the normal "Delete" button from Menu options. It will also delete Chart of Accounts, Chart of Cost Centers and Warehouse records for that company.
|
||||||
|
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
<h1>Edit Submitted Document</h1>
|
|
||||||
|
|
||||||
To edit submitted document, you need to cancel it first. Followings are steps to edit submitted document.
|
|
||||||
<br>
|
|
||||||
<br><b>Step 1: Cancel Submitted Document</b><br>
|
|
||||||
<br>You will find Cancel button on upper right corner of submitted document.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<img src="{{docs_base_path}}/assets/img/articles/Selection_001.png">
|
|
||||||
<br>
|
|
||||||
<br><b>Step 2: Amend the document</b><br>
|
|
||||||
<br>On cancellation of submitted document, <b>Amend</b> button will be became visible.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<img src="{{docs_base_path}}/assets/img/articles/Selection_00256341a.png">
|
|
||||||
<br>
|
|
||||||
<br><b>Step 3: Save and Submit the document</b><br>
|
|
||||||
<br>On clicking Amend button, same document will become editable again. After Making required changes, save and submit the document.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<img src="{{docs_base_path}}/assets/img/articles/Selection_0036e00ef.png">
|
|
||||||
<br>
|
|
||||||
<br><div class="well">Note: If your document linked with other documents, then you will need to cancel last document you made on top of this document. Example:<br><br>If you have created Delivery Note and Sales Invoice against Sales Order, which you need to amend, then you should first Cancel Delivery Note and Sales Invoice made for that Sales Order. Then amend Sales Order, re-save and re-submit it.<br>
|
|
||||||
</div><br>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- markdown -->
|
|
@ -0,0 +1,30 @@
|
|||||||
|
#Edit Submitted Document
|
||||||
|
|
||||||
|
To edit submitted document, you need to cancel it first. Followings are steps to edit submitted document.
|
||||||
|
|
||||||
|
Step 1: Cancel Submitted Document
|
||||||
|
|
||||||
|
You will find Cancel button on upper right corner of submitted document.
|
||||||
|
|
||||||
|
<img alt="Cancel Doc" class="screenshot" src="{{docs_base_url}}/assets/img/articles/edit-submitted-doc-1.png">
|
||||||
|
|
||||||
|
Step 2: Amend the document
|
||||||
|
|
||||||
|
On cancellation of submitted document, Amend button will be became visible.
|
||||||
|
|
||||||
|
<img alt="Amend Doc" class="screenshot" src="{{docs_base_url}}/assets/img/articles/edit-submitted-doc-2.png">
|
||||||
|
|
||||||
|
Step 3: Save and Submit the document
|
||||||
|
|
||||||
|
On clicking Amend button, same document will become editable again. After Making required changes, save and submit the document.
|
||||||
|
|
||||||
|
<img alt="Resave and Submit Doc" class="screenshot" src="{{docs_base_url}}/assets/img/articles/edit-submitted-doc-3.png">
|
||||||
|
|
||||||
|
<div class="well">Note: If your document linked with other documents, then you will need to cancel last document you made on top of this document.
|
||||||
|
|
||||||
|
Example:If you have created Delivery Note and Sales Invoice against Sales Order, which you need to amend, then you should first Cancel Delivery Note and Sales Invoice made for that Sales Order. Then amend Sales Order, re-save and re-submit it.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- markdown -->
|
@ -1,4 +1,4 @@
|
|||||||
<h1>Integrating ERPNext with other Applications</h1>
|
#Integrating ERPNext with other Applications
|
||||||
|
|
||||||
For now, ERPNext doesn't have out-of-the-box integration available for the third party applications. However, Frappe has REST API using which you can get ERPNext integrated with any other solution.
|
For now, ERPNext doesn't have out-of-the-box integration available for the third party applications. However, Frappe has REST API using which you can get ERPNext integrated with any other solution.
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ Learn more about Frappe API here.
|
|||||||
|
|
||||||
For experts services on integration, you can connect with our service providers from community portal.
|
For experts services on integration, you can connect with our service providers from community portal.
|
||||||
|
|
||||||
[https://frappe.io/community/service-providers](https://frappe.io/community/service-providers)
|
[https://community.eprnext.com/service-providers](https://community.erpnext.com/service-providers)
|
||||||
|
|
||||||
|
|
||||||
<!-- markdown -->
|
<!-- markdown -->
|
@ -1,4 +0,0 @@
|
|||||||
<h1>Manage Header And Footer</h1>
|
|
||||||
|
|
||||||
<h1>Manage Header And Footer</h1>
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
#Manage Header And Footer
|
||||||
|
|
||||||
|
Check following to learn how to setup Letter Head in ERPNext.
|
||||||
|
|
||||||
|
[Managing Letter Head](https://frappe.github.io/erpnext/user/manual/en/setting-up/setup-wizard/step-5-letterhead-and-logo.html)
|
||||||
|
|
||||||
|
ERPNext doesn't have option to define standard Footer. As a work around, you can use Terms and Condition master for footer. Content of Terms and Condition is already the last to appear in the standard print formats on transactions. Check following link to learn how to manage Terms and Conditions in ERPNext.
|
||||||
|
|
||||||
|
[Terms and Condition](https://frappe.github.io/erpnext/user/manual/en/setting-up/print/terms-and-conditions.html)
|
@ -1,24 +1,22 @@
|
|||||||
<h1>Managing Multiple Companies</h1>
|
#Managing Multiple Companies
|
||||||
|
|
||||||
<h1>Managing Multiple Companies</h1>
|
ERPNext allows you to create multiple companies in a single ERPNext instance.
|
||||||
|
|
||||||
ERPNext allows you to create multiple companies in the same/common ERPNext account.
|
In one account has multiple companies, you will find option to select Company in each transactions. While most of the records (mostly transactions) will be separated based on Company, there are few masters like Item, Item Group, Customer Group, Territory etc. which are common among all the companies.
|
||||||
|
|
||||||
With this, you will find option to select Company in your transactions. While most of the transactions will be separated based on Company, there are few masters like Item, Item Group, Customer Group, Territory etc. which can be used across all the companies.
|
If you have separate teams working on each company, you can restrict access of the User to the data of specific Company. Click [here](http://frappe.github.io/erpnext/user/manual/en/setting-up/users-and-permissions/) to know how to set permission rules for giving restricted access to the User.
|
||||||
|
|
||||||
If you have separate teams working on each company, you can also restrict the access of user to the data of specific company. Click [here](https://manual.erpnext.com/search?txt=user%20permission) to know more about how to set permission to achieve the same.
|
Following are the steps to add new Company.
|
||||||
|
|
||||||
Following are the steps to create companies in your ERPNext account.
|
|
||||||
|
|
||||||
####Go to Setup Module
|
####Go to Setup Module
|
||||||
|
|
||||||
`Setup > Masters > Company > New`
|
`Accounts > Setup > Company > New`
|
||||||
|
|
||||||
####Enter Company Details
|
####Enter Company Details
|
||||||
|
|
||||||
Company master will be saved with Company Name provided at the time of its creation.
|
Company will be saved with Company Name provided.
|
||||||
|
|
||||||

|
<img alt="New Company" class="screenshot" src="{{docs_base_url}}/assets/img/articles/new-company-1.png">
|
||||||
|
|
||||||
Also, you can define other properties for new company like:
|
Also, you can define other properties for new company like:
|
||||||
|
|
||||||
@ -30,13 +28,13 @@ Also, you can define other properties for new company like:
|
|||||||
|
|
||||||
Value will be auto-filled in most of these field to define company-wise defaults. You can edit/customize it as per your requirement.
|
Value will be auto-filled in most of these field to define company-wise defaults. You can edit/customize it as per your requirement.
|
||||||
|
|
||||||

|
<img alt="New Company" class="screenshot" src="{{docs_base_url}}/assets/img/articles/new-company-2.png">
|
||||||
|
|
||||||
####Chart of Account for New Company
|
####Chart of Account for New Company
|
||||||
|
|
||||||
A separate Chart of Account master will be set for each company in the ERPNext. This allows you managing Accounts/Ledger master separately for each company. Also it allows you avail financial statement and reports like Balance Sheet and Profit and Loss Statement separately for each company.
|
A separate Chart of Account master will be set for each company in the ERPNext. This allows you managing Accounts/Ledger master separately for each company. Also it allows you avail financial statement and reports like Balance Sheet and Profit and Loss Statement separately for each company.
|
||||||
|
|
||||||

|
<img alt="New Company" class="screenshot" src="{{docs_base_url}}/assets/img/articles/new-company-3.png">
|
||||||
|
|
||||||
|
|
||||||
<!-- markdown -->
|
<!-- markdown -->
|
@ -1,12 +1,10 @@
|
|||||||
<h1>Managing Perm Level in Permission Manager</h1>
|
#Managing Perm Level in Permission Manager
|
||||||
|
|
||||||
<h1>Managing Perm Level in Permission Manager</h1>
|
|
||||||
|
|
||||||
In each document, you can group fields by "levels". Each group of field is denoted by a unique number (0, 1, 2, 3 etc.). A separate set of permission rules can be applied to each field group. By default all fields are of level 0.
|
In each document, you can group fields by "levels". Each group of field is denoted by a unique number (0, 1, 2, 3 etc.). A separate set of permission rules can be applied to each field group. By default all fields are of level 0.
|
||||||
|
|
||||||
Perm Level for a field can be defined in the [Customize Form](https://erpnext.com/user-guide/customize-erpnext/customize-form).
|
Perm Level for a field can be defined in the [Customize Form](https://frappe.github.io/erpnext/user/manual/en/customize-erpnext/customize-form.html).
|
||||||
|
|
||||||

|
<img alt="Perm Level Field" class="screenshot" src="{{docs_base_url}}/assets/img/articles/perm-level-1.gif">
|
||||||
|
|
||||||
If you need to assign different permission of particular field to different users, you can achieve it via Perm Level. Let's consider an example for better understanding.
|
If you need to assign different permission of particular field to different users, you can achieve it via Perm Level. Let's consider an example for better understanding.
|
||||||
|
|
||||||
@ -16,11 +14,11 @@ For the amount related fields, you should set Perm Level as (say) 2.
|
|||||||
|
|
||||||
For Stock Manager, they will have permission on fields on Delivery Note as Perm Level 2 whereas a Stock User will not have any permission on Perm Level 2 for Delivery Note.
|
For Stock Manager, they will have permission on fields on Delivery Note as Perm Level 2 whereas a Stock User will not have any permission on Perm Level 2 for Delivery Note.
|
||||||
|
|
||||||

|
<img alt="Perm Level Rule" class="screenshot" src="{{docs_base_url}}/assets/img/articles/perm-level-2.png">
|
||||||
|
|
||||||
Considering the same scenario, if you want a Stock User to access a field at Perm Level 2, but not edit it, the Stock User will be assigned permission on Perm Level 2, but only for read, and not for write/edit.
|
Considering the same scenario, if you want a Stock User to access a field at Perm Level 2, but not edit it, the Stock User will be assigned permission on Perm Level 2, but only for read, and not for write/edit.
|
||||||
|
|
||||||

|
<img alt="Perm Level Rule 2" class="screenshot" src="{{docs_base_url}}/assets/img/articles/perm-level-3.png">
|
||||||
|
|
||||||
Perm Level (1, 2, 3) not need be in order. Perm Level is primarily for grouping number of fields together, and then assigning permission to Roles for that group. Hence, you can set any perm level for an item, and then do permission setting for it.
|
Perm Level (1, 2, 3) not need be in order. Perm Level is primarily for grouping number of fields together, and then assigning permission to Roles for that group. Hence, you can set any perm level for an item, and then do permission setting for it.
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
<h1>Managing Tree Structure Masters</h1>
|
#Managing Tree Structure Masters
|
||||||
|
|
||||||
<h1>Managing Tree Structure Masters</h1>
|
Some of the masters in ERPNext are maintained in tree structure. Tree structured masters allow you to set parent master, and child masters under those parents. Setting up this structure allows you creating intelligent report, and track growth at each level in the hierarchy.
|
||||||
|
|
||||||
Some of the masters in ERPNext are maintained in tree structure. Tree structured masters allow you to set Parent masters, and Child masters under those Parents. Setting up this structure allows you creating intelligent report, and track growth at each level in the hierarchy.
|
|
||||||
|
|
||||||
Following is the partial list of masters which are maintained in the tree structure.
|
Following is the partial list of masters which are maintained in the tree structure.
|
||||||
|
|
||||||
@ -26,7 +24,7 @@ Following are the steps to manage and create record in the tree structured maste
|
|||||||
|
|
||||||
Also you can type master name in Awesome Bar to go to the related master.
|
Also you can type master name in Awesome Bar to go to the related master.
|
||||||
|
|
||||||
Tree master allows you to set Parent Territories, and Child Territories Groups under those Parents.
|
Tree master allows you to set parent Territories, and Child Territories Groups under those parents.
|
||||||
|
|
||||||
####Step 2 : New Parent Territory
|
####Step 2 : New Parent Territory
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ app_publisher = "Frappe Technologies Pvt. Ltd."
|
|||||||
app_description = """ERP made simple"""
|
app_description = """ERP made simple"""
|
||||||
app_icon = "icon-th"
|
app_icon = "icon-th"
|
||||||
app_color = "#e74c3c"
|
app_color = "#e74c3c"
|
||||||
app_version = "6.14.0"
|
app_version = "6.14.1"
|
||||||
app_email = "info@erpnext.com"
|
app_email = "info@erpnext.com"
|
||||||
app_license = "GNU General Public License (v3)"
|
app_license = "GNU General Public License (v3)"
|
||||||
source_link = "https://github.com/frappe/erpnext"
|
source_link = "https://github.com/frappe/erpnext"
|
||||||
|
@ -46,7 +46,7 @@ frappe.ui.form.on("Time Log", "before_save", function(frm) {
|
|||||||
frappe.ui.form.on("Time Log", "to_time", function(frm) {
|
frappe.ui.form.on("Time Log", "to_time", function(frm) {
|
||||||
if(frm._setting_hours) return;
|
if(frm._setting_hours) return;
|
||||||
frm.set_value("hours", moment(cur_frm.doc.to_time).diff(moment(cur_frm.doc.from_time),
|
frm.set_value("hours", moment(cur_frm.doc.to_time).diff(moment(cur_frm.doc.from_time),
|
||||||
"minutes") / 60);
|
"seconds") / 3600);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ erpnext.SalesChart = Class.extend({
|
|||||||
if(node.expanded) {
|
if(node.expanded) {
|
||||||
node.toggle_node();
|
node.toggle_node();
|
||||||
}
|
}
|
||||||
node.reload_parent();
|
node.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -360,7 +360,7 @@ def get_projected_qty(item_code, warehouse):
|
|||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_available_qty(item_code, warehouse):
|
def get_available_qty(item_code, warehouse):
|
||||||
return frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse},
|
return frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse},
|
||||||
["projected_qty", "actual_qty"], as_dict=True) or {}
|
["projected_qty", "actual_qty"], as_dict=True) or {"projected_qty": 0, "actual_qty": 0}
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_batch_qty(batch_no,warehouse,item_code):
|
def get_batch_qty(batch_no,warehouse,item_code):
|
||||||
|
2
setup.py
@ -1,7 +1,7 @@
|
|||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
from pip.req import parse_requirements
|
from pip.req import parse_requirements
|
||||||
|
|
||||||
version = "6.14.0"
|
version = "6.14.1"
|
||||||
requirements = parse_requirements("requirements.txt", session="")
|
requirements = parse_requirements("requirements.txt", session="")
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|