Added the ability to select a company as a party type, and little changes
This commit is contained in:
parent
5a1b2e6c06
commit
e272094f74
|
|
@ -0,0 +1,11 @@
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def add_company_to_party_account_types(bootinfo):
|
||||||
|
# Проверяем, существует ли объект party_account_types в bootinfo
|
||||||
|
if "party_account_types" in bootinfo:
|
||||||
|
# Если "Company" еще нет в списке, добавляем его
|
||||||
|
if "Company" not in bootinfo["party_account_types"]:
|
||||||
|
bootinfo["party_account_types"]["Company"] = "Company"
|
||||||
|
else:
|
||||||
|
# Инициализируем party_account_types, если его нет
|
||||||
|
bootinfo["party_account_types"] = {"Company": "Company"}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
frappe.ui.form.on('Payment Entry', {
|
||||||
|
onload: function(frm) {
|
||||||
|
// Изменяем фильтр для поля Party Type, добавляя "Company"
|
||||||
|
frm.set_query("party_type", function () {
|
||||||
|
return {
|
||||||
|
filters: {
|
||||||
|
name: ["in", Object.keys(frappe.boot.party_account_types).concat("Company")]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
// Фильтр для поля "Party Bank Account" в зависимости от типа Party Type
|
||||||
|
frm.set_query("party_bank_account", function() {
|
||||||
|
if (frm.doc.party_type === "Company") {
|
||||||
|
// Если Party Type = Company, применяем фильтр Is Company Account = Yes
|
||||||
|
return {
|
||||||
|
filters: {
|
||||||
|
is_company_account: 1, // 1 означает "Yes"
|
||||||
|
company: frm.doc.company
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// Оригинальный фильтр для других типов Party Type
|
||||||
|
return {
|
||||||
|
filters: {
|
||||||
|
is_company_account: 0, // 0 означает "No"
|
||||||
|
party_type: frm.doc.party_type,
|
||||||
|
party: frm.doc.party
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Фильтр для поля "Account Paid To" только если Party Type = Company
|
||||||
|
frm.set_query("paid_to", function() {
|
||||||
|
if (frm.doc.party_type === "Company") {
|
||||||
|
// Устанавливаем фильтр для "Account Type in Cash, Bank" только если Party Type = Company
|
||||||
|
return {
|
||||||
|
filters: {
|
||||||
|
account_type: ["in", ["Bank", "Cash"]],
|
||||||
|
is_group: 0, // 0 означает "No"
|
||||||
|
company: frm.doc.company // Фильтрация по компании
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// В других случаях оставляем стандартный фильтр или пустой фильтр
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue