Merge branch 'develop'

This commit is contained in:
Rushabh Mehta 2015-12-23 16:29:34 +05:30
commit d55d0c06e3
41 changed files with 115 additions and 84 deletions

View File

@ -1,2 +1,2 @@
from __future__ import unicode_literals
__version__ = '6.14.0'
__version__ = '6.14.1'

View File

@ -347,6 +347,7 @@ frappe.ui.form.on("Journal Entry Account", {
callback: function(r) {
if(r.message) {
$.extend(d, r.message);
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, dt, dn);
refresh_field('accounts');
}
}
@ -355,11 +356,11 @@ frappe.ui.form.on("Journal Entry Account", {
},
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) {
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) {
@ -368,6 +369,17 @@ frappe.ui.form.on("Journal Entry Account", {
credit: function(frm, dt, dn) {
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) {
erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
var row = locals[cdt][cdn];
frappe.model.set_value(cdt, cdn, "debit",
@ -413,7 +423,8 @@ $.extend(erpnext.journal_entry, {
var row = locals[cdt][cdn];
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") {
frappe.call({
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
@ -429,11 +440,15 @@ $.extend(erpnext.journal_entry, {
},
callback: function(r) {
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) {

View File

@ -105,6 +105,12 @@ class JournalEntry(AccountsController):
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))
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):
for d in self.get('accounts'):
if d.reference_type=="Journal Entry":

View File

@ -21,6 +21,11 @@ def get_data():
"label": _("Customizing Forms"),
"youtube_id": "pJhL9mmxV_U"
},
{
"type": "help",
"label": _("Report Builder"),
"youtube_id": "y0o5iYZOioU"
},
]
},
@ -273,6 +278,11 @@ def get_data():
"label": _("Publish Items on Website"),
"youtube_id": "W31LBBNzbgc"
},
{
"type": "help",
"label": _("Shopping Cart"),
"youtube_id": "xkrYO-KFukM"
},
]
},
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -35,7 +35,7 @@
Version
</td>
<td>
<code>6.13.1</code>
<code>6.14.0</code>
</td>
</tr>
</table>

View File

@ -8,11 +8,11 @@ Following are the steps to set language in your ERPNext account.
#### 1.1 Go to My Setting
![My Setting]({{docs_base_url}}/assets/img/articles/$SGrab_428.png)
<img alt="My Setting" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-1.png">
#### 1.2 Select Language
![Select Language]({{docs_base_url}}/assets/img/articles/$SGrab_429.png)
<img alt="Select Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-2.png">
#### 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
![Global Language]({{docs_base_url}}/assets/img/articles/Screen Shot 2015-02-05 at 4.35.12 pm.png)
<img alt="Global Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-3.png">
#### Save
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 -->

View File

@ -1,15 +1,15 @@
<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.
####Step 1: Go to My Setting.
####Step 1: Go to My Setting
![Image]({{docs_base_url}}/assets/img/articles/SGrab_250.png)
<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
![NEW]({{docs_base_url}}/assets/img/articles/Selection_014dd1559.png)
<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.

View File

@ -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.
@ -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
![Delete Company]({{docs_base_url}}/assets/img/articles/delete-company.png)
<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.

View File

@ -1,28 +0,0 @@
<h1>Edit Submitted Document</h1>
&nbsp;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 -->

View File

@ -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 -->

View File

@ -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.
@ -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.
[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 -->

View File

@ -1,4 +0,0 @@
<h1>Manage Header And Footer</h1>
<h1>Manage Header And Footer</h1>

View File

@ -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)

View File

@ -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 create companies in your ERPNext account.
Following are the steps to add new Company.
####Go to Setup Module
`Setup &gt; Masters &gt; Company &gt; New`
`Accounts > Setup > Company > New`
####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.
![New Company]({{docs_base_url}}/assets/img/articles/SGrab_343.png)
<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:
@ -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.
![New Company]({{docs_base_url}}/assets/img/articles/SGrab_344.png)
<img alt="New Company" class="screenshot" src="{{docs_base_url}}/assets/img/articles/new-company-2.png">
####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.
![Company]({{docs_base_url}}/assets/img/articles/SGrab_342.png)
<img alt="New Company" class="screenshot" src="{{docs_base_url}}/assets/img/articles/new-company-3.png">
<!-- markdown -->

View File

@ -1,12 +1,10 @@
<h1>Managing Perm Level in Permission Manager</h1>
<h1>Managing Perm Level in Permission Manager</h1>
#Managing Perm Level in Permission Manager
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).
![Customize Form]({{docs_base_url}}/assets/img/articles/$SGrab_256.png)
<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.
@ -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.
![Perm Level Manager]({{docs_base_url}}/assets/img/articles/$SGrab_253.png)
<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.
![Perm Level User]({{docs_base_url}}/assets/img/articles/$SGrab_254.png)
<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.

View File

@ -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 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.
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.
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.
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

View File

@ -7,7 +7,7 @@ app_publisher = "Frappe Technologies Pvt. Ltd."
app_description = """ERP made simple"""
app_icon = "icon-th"
app_color = "#e74c3c"
app_version = "6.14.0"
app_version = "6.14.1"
app_email = "info@erpnext.com"
app_license = "GNU General Public License (v3)"
source_link = "https://github.com/frappe/erpnext"

View File

@ -46,7 +46,7 @@ frappe.ui.form.on("Time Log", "before_save", function(frm) {
frappe.ui.form.on("Time Log", "to_time", function(frm) {
if(frm._setting_hours) return;
frm.set_value("hours", moment(cur_frm.doc.to_time).diff(moment(cur_frm.doc.from_time),
"minutes") / 60);
"seconds") / 3600);
});

View File

@ -155,7 +155,7 @@ erpnext.SalesChart = Class.extend({
if(node.expanded) {
node.toggle_node();
}
node.reload_parent();
node.reload();
}
}
});

View File

@ -360,7 +360,7 @@ def get_projected_qty(item_code, warehouse):
@frappe.whitelist()
def get_available_qty(item_code, 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()
def get_batch_qty(batch_no,warehouse,item_code):

View File

@ -1,7 +1,7 @@
from setuptools import setup, find_packages
from pip.req import parse_requirements
version = "6.14.0"
version = "6.14.1"
requirements = parse_requirements("requirements.txt", session="")
setup(