Compare commits
72 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45a8f9d006 | ||
|
|
1b0c797817 | ||
|
|
c119cbcb50 | ||
|
|
d595534431 | ||
|
|
5de53eb0eb | ||
|
|
5ccaf6f9d7 | ||
|
|
29fe53f63c | ||
|
|
49fe7af6de | ||
|
|
a68a3b5cc1 | ||
|
|
3931a35e27 | ||
|
|
56595ecda0 | ||
|
|
466ff3d31b | ||
|
|
61c6552434 | ||
|
|
4ad0963ee8 | ||
|
|
aa99fe2c4e | ||
|
|
d56ec92682 | ||
|
|
90852d334f | ||
|
|
694373d022 | ||
|
|
40d49ccf98 | ||
|
|
4372ac559a | ||
|
|
01478b3fc1 | ||
|
|
41c8cf645a | ||
|
|
70ed6ede5c | ||
|
|
7af5c4aefc | ||
|
|
01ca354d52 | ||
|
|
a974ab3dc5 | ||
|
|
cc24d28ddc | ||
|
|
441b2c7657 | ||
|
|
51d07dfca2 | ||
|
|
5e6757f197 | ||
|
|
6a8ff42a5a | ||
|
|
06db236aa0 | ||
|
|
733680bc3f | ||
|
|
14a0441b4b | ||
|
|
a311e706b0 | ||
|
|
e6a16c29df | ||
|
|
92bb480fc3 | ||
|
|
7dc0da18b5 | ||
|
|
c8a2b94200 | ||
|
|
203d4088fa | ||
|
|
5eefff13a1 | ||
|
|
9421e9873a | ||
|
|
5e4c8a52ee | ||
|
|
41f62f7250 | ||
|
|
4f39fd243e | ||
|
|
c43a11a313 | ||
|
|
1bffb42809 | ||
|
|
4660f820da | ||
|
|
1a19c05ef0 | ||
|
|
d53e780fb8 | ||
|
|
0f5d97a156 | ||
|
|
2f273674e9 | ||
|
|
734a40ad62 | ||
|
|
9547b774f7 | ||
|
|
e1f8b1d695 | ||
|
|
7be2e985b0 | ||
|
|
3b6287d849 | ||
|
|
ab7021ce64 | ||
|
|
ca4c663e07 | ||
|
|
275b3eec0d | ||
|
|
acaef538c2 | ||
|
|
041b062014 | ||
|
|
39e603a154 | ||
|
|
a4eeb919e6 | ||
|
|
c4d9554a05 | ||
|
|
2e1c8f27c4 | ||
|
|
4c7a32e446 | ||
|
|
2c069a418a | ||
|
|
ba2596a7e0 | ||
|
|
f7911687a0 | ||
|
|
f58a3726a7 | ||
|
|
1c77506e80 |
@@ -1,2 +1,2 @@
|
||||
from __future__ import unicode_literals
|
||||
__version__ = '6.12.2'
|
||||
__version__ = '6.12.7'
|
||||
|
||||
@@ -11,7 +11,10 @@
|
||||
"IVA por Cobrar": {},
|
||||
"Retenciones de IVA recibidas": {}
|
||||
},
|
||||
"Inventario": {}
|
||||
"Inventario": {
|
||||
"is_group": 1,
|
||||
"account_type": "Stock"
|
||||
}
|
||||
},
|
||||
"No Corriente": {
|
||||
"Activos Fijos": {},
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 1,
|
||||
"in_list_view": 0,
|
||||
"label": "Cheque Date",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
@@ -233,6 +233,29 @@
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"fieldname": "data_10",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
}
|
||||
],
|
||||
"hide_heading": 0,
|
||||
@@ -245,7 +268,7 @@
|
||||
"istable": 1,
|
||||
"max_attachments": 0,
|
||||
"menu_index": 0,
|
||||
"modified": "2015-11-30 12:52:01.090839",
|
||||
"modified": "2015-12-04 11:01:24.286320",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Bank Reconciliation Detail",
|
||||
|
||||
@@ -368,10 +368,6 @@ 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) {
|
||||
erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
|
||||
}
|
||||
})
|
||||
|
||||
@@ -418,7 +414,7 @@ $.extend(erpnext.journal_entry, {
|
||||
|
||||
if(row.account_currency == company_currency || !frm.doc.multi_currency) {
|
||||
frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
|
||||
} else if (!row.exchange_rate || row.account_type == "Bank") {
|
||||
} 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",
|
||||
args: {
|
||||
|
||||
@@ -295,7 +295,7 @@ class JournalEntry(AccountsController):
|
||||
for d in self.get("accounts"):
|
||||
if d.account_currency == self.company_currency:
|
||||
d.exchange_rate = 1
|
||||
elif not d.exchange_rate or d.account_type=="Bank" or \
|
||||
elif not d.exchange_rate or d.exchange_rate == 1 or \
|
||||
(d.reference_type in ("Sales Invoice", "Purchase Invoice") and d.reference_name):
|
||||
d.exchange_rate = get_exchange_rate(d.account, d.account_currency, self.company,
|
||||
d.reference_type, d.reference_name, d.debit, d.credit, d.exchange_rate)
|
||||
@@ -350,7 +350,7 @@ class JournalEntry(AccountsController):
|
||||
elif frappe.db.get_value("Account", d.account, "account_type") in ["Bank", "Cash"]:
|
||||
total_amount += (d.debit_in_account_currency or d.credit_in_account_currency)
|
||||
bank_account_currency = d.account_currency
|
||||
|
||||
|
||||
self.set_total_amount(total_amount, bank_account_currency)
|
||||
|
||||
def set_total_amount(self, amt, currency):
|
||||
@@ -743,6 +743,11 @@ def get_account_balance_and_party_type(account, date, company, debit=None, credi
|
||||
"exchange_rate": get_exchange_rate(account, account_details.account_currency,
|
||||
company, debit=debit, credit=credit, exchange_rate=exchange_rate)
|
||||
}
|
||||
|
||||
# un-set party if not party type
|
||||
if not party_type:
|
||||
grid_values["party"] = ""
|
||||
|
||||
return grid_values
|
||||
|
||||
@frappe.whitelist()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"bold": 1,
|
||||
"collapsible": 0,
|
||||
"fieldname": "account",
|
||||
"fieldtype": "Link",
|
||||
@@ -334,7 +334,7 @@
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"bold": 1,
|
||||
"collapsible": 0,
|
||||
"fieldname": "debit_in_account_currency",
|
||||
"fieldtype": "Currency",
|
||||
@@ -359,7 +359,7 @@
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"bold": 1,
|
||||
"collapsible": 0,
|
||||
"fieldname": "debit",
|
||||
"fieldtype": "Currency",
|
||||
@@ -408,7 +408,7 @@
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"bold": 1,
|
||||
"collapsible": 0,
|
||||
"fieldname": "credit_in_account_currency",
|
||||
"fieldtype": "Currency",
|
||||
@@ -433,7 +433,7 @@
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"bold": 1,
|
||||
"collapsible": 0,
|
||||
"fieldname": "credit",
|
||||
"fieldtype": "Currency",
|
||||
@@ -614,7 +614,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 1,
|
||||
"max_attachments": 0,
|
||||
"modified": "2015-11-24 02:36:05.804010",
|
||||
"modified": "2015-12-02 04:14:37.571883",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Journal Entry Account",
|
||||
|
||||
@@ -24,7 +24,7 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({
|
||||
|
||||
if(!doc.is_return) {
|
||||
if(doc.docstatus==1) {
|
||||
if(doc.outstanding_amount > 0) {
|
||||
if(doc.outstanding_amount != 0) {
|
||||
this.frm.add_custom_button(__('Payment'), this.make_bank_entry).addClass("btn-primary");
|
||||
}
|
||||
cur_frm.add_custom_button(__('Debit Note'), this.make_debit_note);
|
||||
|
||||
@@ -52,4 +52,5 @@ def get_items(price_list, sales_or_purchase, item=None):
|
||||
{condition}
|
||||
order by
|
||||
{order_by}
|
||||
i.name""".format(condition=condition, order_by=order_by), args, as_dict=1)
|
||||
i.name
|
||||
limit 24""".format(condition=condition, order_by=order_by), args, as_dict=1)
|
||||
|
||||
@@ -64,6 +64,7 @@ class SalesInvoice(SellingController):
|
||||
self.validate_pos()
|
||||
|
||||
if cint(self.update_stock):
|
||||
self.validate_dropship_item()
|
||||
self.validate_item_code()
|
||||
self.validate_warehouse()
|
||||
self.update_current_stock()
|
||||
@@ -409,6 +410,12 @@ class SalesInvoice(SellingController):
|
||||
if self.c_form_applicable == 'Yes' and self.c_form_no:
|
||||
msgprint(_("Please remove this Invoice {0} from C-Form {1}")
|
||||
.format(self.name, self.c_form_no), raise_exception = 1)
|
||||
|
||||
def validate_dropship_item(self):
|
||||
for item in self.items:
|
||||
if item.sales_order:
|
||||
if frappe.db.get_value("Sales Order Item", item.so_detail, "delivered_by_supplier"):
|
||||
frappe.throw(_("Could not update stock, invoice contains drop shipping item."))
|
||||
|
||||
def update_current_stock(self):
|
||||
for d in self.get('items'):
|
||||
|
||||
@@ -4,19 +4,26 @@
|
||||
cur_frm.add_fetch("customer", "customer_group", "customer_group" );
|
||||
cur_frm.add_fetch("supplier", "supplier_type", "supplier_type" );
|
||||
|
||||
cur_frm.toggle_reqd("sales_tax_template", cur_frm.doc.tax_type=="Sales");
|
||||
cur_frm.toggle_reqd("purchase_tax_template", cur_frm.doc.tax_type=="Purchase");
|
||||
|
||||
frappe.ui.form.on("Tax Rule", "tax_type", function(frm) {
|
||||
frm.toggle_reqd("sales_tax_template", frm.doc.tax_type=="Sales");
|
||||
frm.toggle_reqd("purchase_tax_template", frm.doc.tax_type=="Purchase");
|
||||
})
|
||||
|
||||
frappe.ui.form.on("Tax Rule", "onload", function(frm) {
|
||||
if(frm.doc.__islocal){
|
||||
if(frm.doc.__islocal) {
|
||||
frm.set_value("use_for_shopping_cart", 1);
|
||||
}
|
||||
})
|
||||
|
||||
frappe.ui.form.on("Tax Rule", "refresh", function(frm) {
|
||||
frappe.ui.form.trigger("Tax Rule", "tax_type");
|
||||
})
|
||||
|
||||
frappe.ui.form.on("Tax Rule", "use_for_shopping_cart", function(frm) {
|
||||
if(!frm.doc.use_for_shopping_cart && (frappe.get_list("Tax Rule", {"use_for_shopping_cart":1}).length == 0)){
|
||||
frappe.model.get_value("Shopping Cart Settings", "Shopping Cart Settings", "enabled", function(docfield) {
|
||||
if(!frm.doc.use_for_shopping_cart &&
|
||||
(frappe.get_list("Tax Rule", {"use_for_shopping_cart":1}).length == 0)) {
|
||||
frappe.model.get_value("Shopping Cart Settings", "Shopping Cart Settings",
|
||||
"enabled", function(docfield) {
|
||||
if(docfield.enabled){
|
||||
frm.set_value("use_for_shopping_cart", 1);
|
||||
frappe.throw(__("Shopping Cart is enabled"));
|
||||
|
||||
@@ -166,7 +166,10 @@ erpnext.AccountsChart = Class.extend({
|
||||
var dr_or_cr = node.data.balance < 0 ? "Cr" : "Dr";
|
||||
if (me.ctype == 'Account' && node.data && node.data.balance!==undefined) {
|
||||
$('<span class="balance-area pull-right text-muted small">'
|
||||
+ format_currency(Math.abs(node.data.balance), node.data.account_currency)
|
||||
+ (node.data.balance_in_account_currency ?
|
||||
(format_currency(Math.abs(node.data.balance_in_account_currency),
|
||||
node.data.account_currency) + " / ") : "")
|
||||
+ format_currency(Math.abs(node.data.balance), node.data.company_currency)
|
||||
+ " " + dr_or_cr
|
||||
+ '</span>').insertBefore(node.$ul);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,12 @@ def get_children():
|
||||
args['parent'], as_dict=1)
|
||||
|
||||
if ctype == 'Account':
|
||||
company_currency = frappe.db.get_value("Company", company, "default_currency")
|
||||
for each in acc:
|
||||
each["balance"] = flt(get_balance_on(each.get("value")))
|
||||
each["company_currency"] = company_currency
|
||||
each["balance"] = flt(get_balance_on(each.get("value"), in_account_currency=False))
|
||||
|
||||
if each.account_currency != company_currency:
|
||||
each["balance_in_account_currency"] = flt(get_balance_on(each.get("value")))
|
||||
|
||||
return acc
|
||||
|
||||
@@ -24,7 +24,7 @@ class ReceivablePayableReport(object):
|
||||
if party_naming_by == "Naming Series":
|
||||
columns += [args.get("party_type") + " Name::110"]
|
||||
|
||||
columns += [_("Voucher Type") + "::110", _("Voucher No") + ":Dynamic Link/Voucher Type:120",
|
||||
columns += [_("Voucher Type") + "::110", _("Voucher No") + ":Dynamic Link/"+_("Voucher Type")+":120",
|
||||
_("Due Date") + ":Date:80"]
|
||||
|
||||
if args.get("party_type") == "Supplier":
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{%= frappe.boot.letter_heads[frappe.defaults.get_default("letter_head")] %}
|
||||
</div>
|
||||
<h2 class="text-center">{%= __("Bank Reconciliation Statement") %}</h2>
|
||||
<h4 class="text-center">{%= filters.account && (filters.account + ", ") || "" %} {%= filters.company %}</h4>
|
||||
<h4 class="text-center">{%= filters.account %}</h4>
|
||||
<hr>
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
@@ -16,31 +16,31 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for(var i=0, l=data.length; i<l; i++) { %}
|
||||
{% if (data[i][__("Posting Date")]) { %}
|
||||
{% if (data[i]["posting_date"]) { %}
|
||||
<tr>
|
||||
<td>{%= dateutil.str_to_user(data[i][__("Posting Date")]) %}</td>
|
||||
<td>{%= data[i][__("Journal Entry")] %}</td>
|
||||
<td>{%= __("Against") %}: {%= data[i][__("Against Account")] %}
|
||||
{% if (data[i][__("Reference")]) { %}
|
||||
<br>{%= __("Reference") %}: {%= data[i][__("Reference")] %}
|
||||
{% if (data[i][__("Ref Date")]) { %}
|
||||
<br>{%= __("Reference Date") %}: {%= dateutil.str_to_user(data[i][__("Ref Date")]) %}
|
||||
<td>{%= dateutil.str_to_user(data[i]["posting_date"]) %}</td>
|
||||
<td>{%= data[i]["journal_entry"] %}</td>
|
||||
<td>{%= __("Against") %}: {%= data[i]["against_account"] %}
|
||||
{% if (data[i]["reference"]) { %}
|
||||
<br>{%= __("Reference") %}: {%= data[i]["reference"] %}
|
||||
{% if (data[i]["ref_date"]) { %}
|
||||
<br>{%= __("Reference Date") %}: {%= dateutil.str_to_user(data[i]["ref_date"]) %}
|
||||
{% } %}
|
||||
{% } %}
|
||||
{% if (data[i][__("Clearance Date")]) { %}
|
||||
<br>{%= __("Clearance Date") %}: {%= dateutil.str_to_user(data[i][__("Clearance Date")]) %}
|
||||
{% if (data[i]["clearance_date"]) { %}
|
||||
<br>{%= __("Clearance Date") %}: {%= dateutil.str_to_user(data[i]["clearance_date"]) %}
|
||||
{% } %}
|
||||
</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i][__("Debit")]) %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i][__("Credit")]) %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i]["debit"]) %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i]["credit"]) %}</td>
|
||||
</tr>
|
||||
{% } else { %}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>{%= data[i][__("Journal Entry")] %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i][__("Debit")]) %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i][__("Credit")]) %}</td>
|
||||
<td>{%= data[i]["journal_entry"] %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i]["debit"]) %}</td>
|
||||
<td style="text-align: right">{%= format_currency(data[i]["credit"]) %}</td>
|
||||
</tr>
|
||||
{% } %}
|
||||
{% } %}
|
||||
|
||||
@@ -22,8 +22,8 @@ def execute(filters=None):
|
||||
|
||||
total_debit, total_credit = 0,0
|
||||
for d in data:
|
||||
total_debit += flt(d.debit_in_account_currency)
|
||||
total_credit += flt(d.credit_in_account_currency)
|
||||
total_debit += flt(d.debit)
|
||||
total_credit += flt(d.credit)
|
||||
|
||||
amounts_not_reflected_in_system = frappe.db.sql("""
|
||||
select sum(jvd.debit_in_account_currency - jvd.credit_in_account_currency)
|
||||
|
||||
@@ -85,7 +85,7 @@ def get_columns(filters):
|
||||
]
|
||||
|
||||
columns += [
|
||||
_("Voucher Type") + "::120", _("Voucher No") + ":Dynamic Link/Voucher Type:160",
|
||||
_("Voucher Type") + "::120", _("Voucher No") + ":Dynamic Link/"+_("Voucher Type")+":160",
|
||||
_("Against Account") + "::120", _("Party Type") + "::80", _("Party") + "::150",
|
||||
_("Cost Center") + ":Link/Cost Center:100", _("Remarks") + "::400"
|
||||
]
|
||||
|
||||
@@ -159,6 +159,7 @@ class PurchaseOrder(BuyingController):
|
||||
def on_cancel(self):
|
||||
if self.has_drop_ship_item():
|
||||
self.update_status_updater()
|
||||
self.update_delivered_qty_in_sales_order()
|
||||
|
||||
pc_obj = frappe.get_doc('Purchase Common')
|
||||
self.check_for_stopped_or_closed_status(pc_obj)
|
||||
@@ -216,7 +217,7 @@ class PurchaseOrder(BuyingController):
|
||||
|
||||
for so_name in sales_orders_to_update:
|
||||
so = frappe.get_doc("Sales Order", so_name)
|
||||
so.update_delivery_status(self.name)
|
||||
so.update_delivery_status()
|
||||
so.set_status(update=True)
|
||||
so.notify_update()
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"options": "icon-user",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -52,6 +53,7 @@
|
||||
"options": "SUPP-",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -76,6 +78,7 @@
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
@@ -97,6 +100,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -123,6 +127,7 @@
|
||||
"options": "Supplier Type",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
@@ -146,6 +151,7 @@
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -168,6 +174,7 @@
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -191,6 +198,7 @@
|
||||
"options": "Currency",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -214,51 +222,7 @@
|
||||
"options": "Price List",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"fieldname": "column_break_10",
|
||||
"fieldtype": "Column Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"fieldname": "default_taxes_and_charges",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 1,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Taxes and Charges",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Purchase Taxes and Charges Template",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -281,6 +245,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -306,6 +271,7 @@
|
||||
"options": "icon-map-marker",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -328,6 +294,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 1,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -349,6 +316,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -372,6 +340,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 1,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -395,6 +364,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -420,6 +390,7 @@
|
||||
"options": "Party Account",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -443,6 +414,7 @@
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -468,6 +440,7 @@
|
||||
"oldfieldtype": "Data",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -493,6 +466,7 @@
|
||||
"oldfieldtype": "Code",
|
||||
"permlevel": 0,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -516,6 +490,7 @@
|
||||
"options": "Communication",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
@@ -534,7 +509,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2015-11-16 06:29:58.500467",
|
||||
"modified": "2015-12-08 12:52:56.827461",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Buying",
|
||||
"name": "Supplier",
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"creation": "2015-10-20 16:46:39.382799",
|
||||
"custom_format": 0,
|
||||
"disabled": 0,
|
||||
"doc_type": "Purchase Order",
|
||||
"docstatus": 0,
|
||||
"doctype": "Print Format",
|
||||
"font": "Default",
|
||||
"format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"HTML\", \"options\": \"<h1 style=\\\"text-align: center;\\\">Purchase Order</h1><div style=\\\"text-align: center;\\\">{{doc.name}}</div><div style=\\\"text-align: center;\\\"><hr></div>\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"title\"}, {\"print_hide\": 0, \"fieldname\": \"supplier\"}, {\"print_hide\": 0, \"fieldname\": \"supplier_name\"}, {\"print_hide\": 0, \"fieldname\": \"address_display\"}, {\"print_hide\": 0, \"fieldname\": \"contact_display\"}, {\"print_hide\": 0, \"fieldname\": \"contact_mobile\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"transaction_date\"}, {\"print_hide\": 0, \"fieldname\": \"customer\"}, {\"print_hide\": 0, \"fieldname\": \"customer_name\"}, {\"print_hide\": 0, \"fieldname\": \"customer_address_display\"}, {\"print_hide\": 0, \"fieldname\": \"customer_contact_display\"}, {\"print_hide\": 0, \"fieldname\": \"customer_contact_mobile\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"item_code\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"description\", \"print_width\": \"300px\"}, {\"print_hide\": 0, \"fieldname\": \"image\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"qty\", \"print_width\": \"60px\"}, {\"print_hide\": 0, \"fieldname\": \"uom\", \"print_width\": \"100px\"}, {\"print_hide\": 0, \"fieldname\": \"discount_percentage\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"rate\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"pricing_rule\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"supplier_quotation\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"supplier_quotation_item\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"items\"}, {\"print_hide\": 0, \"fieldname\": \"get_last_purchase_rate\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"total\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"category\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"add_deduct_tax\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"charge_type\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"row_id\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"included_in_print_rate\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"account_head\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"cost_center\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"description\", \"print_width\": \"300px\"}, {\"print_hide\": 0, \"fieldname\": \"rate\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"tax_amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"total\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"taxes\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"grand_total\"}, {\"print_hide\": 0, \"fieldname\": \"in_words\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"terms\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"customer_contact_person\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"recurring_print_format\"}]",
|
||||
"modified": "2015-10-20 17:21:45.810640",
|
||||
"modified_by": "saurabh@erpnext.com",
|
||||
"name": "Drop Shipping",
|
||||
"owner": "Administrator",
|
||||
"print_format_builder": 1,
|
||||
"print_format_type": "Server",
|
||||
"standard": "No"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
source_link = "https://github.com/frappe/erpnext"
|
||||
docs_base_url = "https://frappe.github.io/erpnext"
|
||||
headline = "Learn ERPNext Inside Out"
|
||||
sub_heading = "Find detailed explanation for all ERPNext features"
|
||||
headline = "ERPNext Documentation"
|
||||
sub_heading = "Detailed explanation for all ERPNext features and developer API"
|
||||
long_description = """ERPNext is a fully featured ERP system designed for Small and Medium Sized
|
||||
business. ERPNext covers a wide range of features including Accounting, CRM,
|
||||
Inventory management, Selling, Purchasing, Manufacturing, Projects, HR &
|
||||
@@ -15,10 +15,13 @@ ERPNext is Open Source under the GNU General Public Licence v3 and has been
|
||||
listed as one of the Best Open Source Softwares in the world by my online
|
||||
blogs."""
|
||||
|
||||
docs_version = "6.x.x"
|
||||
splash_light_background = True
|
||||
|
||||
def get_context(context):
|
||||
context.app.splash_light_background = True
|
||||
context.top_bar_items = [
|
||||
{"label": "Contents", "url": context.docs_base_url + "/contents.html", "right": 1},
|
||||
{"label": "User Guide", "url": context.docs_base_url + "/user/guides", "right": 1},
|
||||
{"label": "User Manual", "url": context.docs_base_url + "/user/manual", "right": 1},
|
||||
{"label": "Videos", "url": context.docs_base_url + "/user/videos", "right": 1},
|
||||
{"label": "Developer Docs", "url": context.docs_base_url + "/current", "right": 1}
|
||||
]
|
||||
|
||||
@@ -76,10 +76,10 @@ class StatusUpdater(Document):
|
||||
self.update_qty()
|
||||
self.validate_qty()
|
||||
|
||||
def set_status(self, update=False, status=None):
|
||||
def set_status(self, update=False, status=None, update_modified=True):
|
||||
if self.is_new():
|
||||
return
|
||||
|
||||
|
||||
if self.doctype in status_map:
|
||||
_status = self.status
|
||||
|
||||
@@ -102,9 +102,10 @@ class StatusUpdater(Document):
|
||||
|
||||
if self.status != _status and self.status not in ("Submitted", "Cancelled"):
|
||||
self.add_comment("Label", _(self.status))
|
||||
|
||||
|
||||
if update:
|
||||
frappe.db.set_value(self.doctype, self.name, "status", self.status)
|
||||
frappe.db.set_value(self.doctype, self.name, "status", self.status,
|
||||
update_modified=update_modified)
|
||||
|
||||
def validate_qty(self):
|
||||
"""Validates qty at row level"""
|
||||
|
||||
BIN
erpnext/docs/assets/img/articles/$SGrab_223.png
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_238.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_241.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_242.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_253.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_254.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_256.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_258.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_260.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_261.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_306.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_307.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_316.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_317.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_318.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_323.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_327.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_328.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_329.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_330.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_331.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_349.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_350.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_352.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_353.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_383.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_384.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_385.png
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_386.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_387.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_389.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_390.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_391.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_392.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_393.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_394.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_406.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_407.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_408.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_418.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_419.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_420.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_422.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_428.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_429.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_431.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_432.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_439.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
erpnext/docs/assets/img/articles/$SGrab_440.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
erpnext/docs/assets/img/articles/Order Copy.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
erpnext/docs/assets/img/articles/SGrab_250.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
erpnext/docs/assets/img/articles/SGrab_282.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
erpnext/docs/assets/img/articles/SGrab_283.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
erpnext/docs/assets/img/articles/SGrab_342.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
erpnext/docs/assets/img/articles/SGrab_343.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
erpnext/docs/assets/img/articles/SGrab_344.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 32 KiB |