feat(purchase): restore Agricultural Goods checkbox on Purchase Invoice
Re-add the `agricultural_goods` Check field (was a manual, unversioned DB custom field) next to `purchase_type`. The two checkboxes are mutually exclusive (new purchase_invoice.js clears the other when one is set). Agricultural Goods now reveals the same fields as Purchase Type: act_type / agricultural_country / ygb / line_code on the parent, plus tax_type and purchase_tax_amount on the items — all depends_on widened to `purchase_type || agricultural_goods`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dea23e1597
commit
8db8ff60a4
|
|
@ -498,13 +498,20 @@ def create_custom_fields():
|
||||||
insert_after='is_taxes_doc',
|
insert_after='is_taxes_doc',
|
||||||
default=0
|
default=0
|
||||||
),
|
),
|
||||||
|
dict(
|
||||||
|
fieldname='agricultural_goods',
|
||||||
|
label='Agricultural Goods',
|
||||||
|
fieldtype='Check',
|
||||||
|
insert_after='purchase_type',
|
||||||
|
default=0
|
||||||
|
),
|
||||||
dict(
|
dict(
|
||||||
fieldname='act_type',
|
fieldname='act_type',
|
||||||
label='Act Type',
|
label='Act Type',
|
||||||
fieldtype='Select',
|
fieldtype='Select',
|
||||||
options='\nPurchase Act\nEQF\nImport',
|
options='\nPurchase Act\nEQF\nImport',
|
||||||
insert_after='purchase_type',
|
insert_after='agricultural_goods',
|
||||||
depends_on='eval:doc.purchase_type'
|
depends_on='eval:doc.purchase_type || doc.agricultural_goods'
|
||||||
),
|
),
|
||||||
dict(
|
dict(
|
||||||
fieldname='agricultural_country',
|
fieldname='agricultural_country',
|
||||||
|
|
@ -512,7 +519,7 @@ def create_custom_fields():
|
||||||
fieldtype='Select',
|
fieldtype='Select',
|
||||||
options='\nAruba\nƏfqanıstan\nAnqola\nAngilya\nAlbaniya\nAndorra\nNiderland Antil adaları\nBƏƏ\nArgentina\nErmənistan\nAmerika Samoası\nAntiqua və Barbuda\nAvstraliya\nAvstriya\nBurundi\nBelçika\nBenin\nBurkina-Faso\nBanqladeş\nBolqarıstan\nBəhreyn\nBaham adaları\nBosniya və Herseqovina\nBelarus\nBeliz\nBermud adaları\nBoliviya\nBraziliya\nBarbados\nBruney\nButan\nBotsvana\nMAR\nKanada\nKokos adaları\nİsveçrə\nÇili\nÇin\nKot-d\'ivuar\nKamerun\nKDR\nKonqo Respublikası\nKuk adaları\nKolumbiya\nKomor adaları\nKabo-Verde\nKosta-Rika\nKuba\nMilad adası\nKayman adaları\nKipr\nÇexiya\nAlmaniya\nCibuti\nDominika\nDanimarka\nDominikan Respublikası\nƏlcəzair\nEkvador\nMisir\nEritreya\nQərbi Sahara\nİspaniya\nEstoniya\nEfiopiya\nFinlandiya\nFici\nFoklend adaları\nFransa\nFarer adaları\nMikroneziya\nQabon\nBöyük Britaniya\nGürcüstan\nQana\nCəbəli-Tariq\nQvineya\nQambiya\nQvineya-Bisau\nEkvatorial Qvineya\nYunanıstan\nQrenada\nQrenlandiya\nQvatemala\nQuam\nQayana\nHonkonq\nHonduras\nXorvatiya\nHaiti\nMacarıstan\nindoneziya\nHindistan\nirlandiya\nİran\nİraq\nislandiya\nisrail\nitaliya\nYamayka\nlordaniya\nYaponiya\nQazağıstan\nKeniya\nQırğızıstan\nKamboca\nKiribati\nSent-Kits və Nevis\nCənubi Koreya\nKüveyt\nLaos\nLivan\nLiberiya\nLiviya\nSent-Lüsiya\nLixtenşteyn\nŞri-Lanka\nLesoto\nLitva\nLüksemburq\nLatviya\nMakao\nMərakeş\nMonako\nMoldova\nMadaqaskar\nMaldiv adaları\nMeksika\nMarşall adaları\nMakedoniya\nMali\nMalta\nMyanma\nMonteneqro\nMonqolustan\nŞimali Marian adaları\nMozambik\nMavritaniya\nMontserrat\nMavriki\nMalavi\nMalayziya\nMayotta\nNamibiya\nYeni Kaledoniya\nNiger\nNorfolk adası\nNigeriya\nNikaraqua\nNiue\nNiderland\nNorveç\nNepal\nNauru\nYeni Zelandiya\nOman\nPakistan\nPanama\nPitkern adaları\nPeru\nFilippin\nPalau\nPapua-Yeni Qvineya\nPolşa\nPuerto-Riko\nKXDR\nPortuqaliya\nParaqvay\nFələstin Dövləti\nFransa Polineziyası\nQətər\nRuminiya\nRusiya\nRuanda\nSəudiyyə Ərəbistanı\nSudan\nSeneqal\nSinqapur\nMüqəddəs Yelena, Askenson və Tristan-da-Kunya adaları\nŞpisbergen və Yan-Mayen\nSolomon adaları\nSyerra-Leone\nSalvador\nSan-Marino\nSomali\nSen-Pyer və Mikelon\nSerbiya\nCənubi Sudan\nSan-Tome və Prinsipi\nSurinam\nSlovakiya\nSloeniya\nİsveç\nSvazilend\nSeyşel adaları\nSuriya\nTörks və Kaykos adaları\nÇad\nToqo\nTailand\nTacikistan\nTokelau\nTürkmənistan\nŞərqi Timor\nTonqa\nTrinidad və Tobaqo\nTunis\nTürkiyə\nTuvalu\nÇin Respublikası\nTanzaniya\nUqanda\nUkrayna\nUruqvay\nABŞ\nÖzbəkistan\nVatikan\nSent-Vinsent və Qrenadin\nVenesuela\nBritaniya Virgin adaları\nAmerika Virgin adaları\nVyetnam\nVanuatu\nUollis və Futuna\nSamoa\nYəmən\nCAR\nZambiya\nZimbabve',
|
options='\nAruba\nƏfqanıstan\nAnqola\nAngilya\nAlbaniya\nAndorra\nNiderland Antil adaları\nBƏƏ\nArgentina\nErmənistan\nAmerika Samoası\nAntiqua və Barbuda\nAvstraliya\nAvstriya\nBurundi\nBelçika\nBenin\nBurkina-Faso\nBanqladeş\nBolqarıstan\nBəhreyn\nBaham adaları\nBosniya və Herseqovina\nBelarus\nBeliz\nBermud adaları\nBoliviya\nBraziliya\nBarbados\nBruney\nButan\nBotsvana\nMAR\nKanada\nKokos adaları\nİsveçrə\nÇili\nÇin\nKot-d\'ivuar\nKamerun\nKDR\nKonqo Respublikası\nKuk adaları\nKolumbiya\nKomor adaları\nKabo-Verde\nKosta-Rika\nKuba\nMilad adası\nKayman adaları\nKipr\nÇexiya\nAlmaniya\nCibuti\nDominika\nDanimarka\nDominikan Respublikası\nƏlcəzair\nEkvador\nMisir\nEritreya\nQərbi Sahara\nİspaniya\nEstoniya\nEfiopiya\nFinlandiya\nFici\nFoklend adaları\nFransa\nFarer adaları\nMikroneziya\nQabon\nBöyük Britaniya\nGürcüstan\nQana\nCəbəli-Tariq\nQvineya\nQambiya\nQvineya-Bisau\nEkvatorial Qvineya\nYunanıstan\nQrenada\nQrenlandiya\nQvatemala\nQuam\nQayana\nHonkonq\nHonduras\nXorvatiya\nHaiti\nMacarıstan\nindoneziya\nHindistan\nirlandiya\nİran\nİraq\nislandiya\nisrail\nitaliya\nYamayka\nlordaniya\nYaponiya\nQazağıstan\nKeniya\nQırğızıstan\nKamboca\nKiribati\nSent-Kits və Nevis\nCənubi Koreya\nKüveyt\nLaos\nLivan\nLiberiya\nLiviya\nSent-Lüsiya\nLixtenşteyn\nŞri-Lanka\nLesoto\nLitva\nLüksemburq\nLatviya\nMakao\nMərakeş\nMonako\nMoldova\nMadaqaskar\nMaldiv adaları\nMeksika\nMarşall adaları\nMakedoniya\nMali\nMalta\nMyanma\nMonteneqro\nMonqolustan\nŞimali Marian adaları\nMozambik\nMavritaniya\nMontserrat\nMavriki\nMalavi\nMalayziya\nMayotta\nNamibiya\nYeni Kaledoniya\nNiger\nNorfolk adası\nNigeriya\nNikaraqua\nNiue\nNiderland\nNorveç\nNepal\nNauru\nYeni Zelandiya\nOman\nPakistan\nPanama\nPitkern adaları\nPeru\nFilippin\nPalau\nPapua-Yeni Qvineya\nPolşa\nPuerto-Riko\nKXDR\nPortuqaliya\nParaqvay\nFələstin Dövləti\nFransa Polineziyası\nQətər\nRuminiya\nRusiya\nRuanda\nSəudiyyə Ərəbistanı\nSudan\nSeneqal\nSinqapur\nMüqəddəs Yelena, Askenson və Tristan-da-Kunya adaları\nŞpisbergen və Yan-Mayen\nSolomon adaları\nSyerra-Leone\nSalvador\nSan-Marino\nSomali\nSen-Pyer və Mikelon\nSerbiya\nCənubi Sudan\nSan-Tome və Prinsipi\nSurinam\nSlovakiya\nSloeniya\nİsveç\nSvazilend\nSeyşel adaları\nSuriya\nTörks və Kaykos adaları\nÇad\nToqo\nTailand\nTacikistan\nTokelau\nTürkmənistan\nŞərqi Timor\nTonqa\nTrinidad və Tobaqo\nTunis\nTürkiyə\nTuvalu\nÇin Respublikası\nTanzaniya\nUqanda\nUkrayna\nUruqvay\nABŞ\nÖzbəkistan\nVatikan\nSent-Vinsent və Qrenadin\nVenesuela\nBritaniya Virgin adaları\nAmerika Virgin adaları\nVyetnam\nVanuatu\nUollis və Futuna\nSamoa\nYəmən\nCAR\nZambiya\nZimbabve',
|
||||||
insert_after='act_type',
|
insert_after='act_type',
|
||||||
depends_on='eval:doc.purchase_type && doc.act_type == "Import"'
|
depends_on='eval:(doc.purchase_type || doc.agricultural_goods) && doc.act_type == "Import"'
|
||||||
),
|
),
|
||||||
dict(
|
dict(
|
||||||
fieldname='ygb',
|
fieldname='ygb',
|
||||||
|
|
@ -520,7 +527,7 @@ def create_custom_fields():
|
||||||
fieldtype='Int',
|
fieldtype='Int',
|
||||||
length=12,
|
length=12,
|
||||||
insert_after='agricultural_country',
|
insert_after='agricultural_country',
|
||||||
depends_on='eval:doc.purchase_type'
|
depends_on='eval:doc.purchase_type || doc.agricultural_goods'
|
||||||
),
|
),
|
||||||
dict(
|
dict(
|
||||||
fieldname='line_code',
|
fieldname='line_code',
|
||||||
|
|
@ -528,7 +535,7 @@ def create_custom_fields():
|
||||||
fieldtype='Select',
|
fieldtype='Select',
|
||||||
options='\n310\n311\n314\n316',
|
options='\n310\n311\n314\n316',
|
||||||
insert_after='ygb',
|
insert_after='ygb',
|
||||||
depends_on='eval:doc.purchase_type'
|
depends_on='eval:doc.purchase_type || doc.agricultural_goods'
|
||||||
),
|
),
|
||||||
|
|
||||||
# === E-TAXES PURCHASE ACT SECTION ===
|
# === E-TAXES PURCHASE ACT SECTION ===
|
||||||
|
|
@ -1005,8 +1012,8 @@ def create_custom_fields():
|
||||||
fieldtype='Select',
|
fieldtype='Select',
|
||||||
options='\nTax Free\nTaxable',
|
options='\nTax Free\nTaxable',
|
||||||
insert_after='item_tax_template',
|
insert_after='item_tax_template',
|
||||||
depends_on='eval:parent.purchase_type',
|
depends_on='eval:parent.purchase_type || parent.agricultural_goods',
|
||||||
mandatory_depends_on='eval:parent.purchase_type',
|
mandatory_depends_on='eval:parent.purchase_type || parent.agricultural_goods',
|
||||||
in_list_view=1,
|
in_list_view=1,
|
||||||
columns=2
|
columns=2
|
||||||
),
|
),
|
||||||
|
|
@ -1015,7 +1022,7 @@ def create_custom_fields():
|
||||||
label='Purchase Tax Amount (5%)',
|
label='Purchase Tax Amount (5%)',
|
||||||
fieldtype='Currency',
|
fieldtype='Currency',
|
||||||
insert_after='tax_type',
|
insert_after='tax_type',
|
||||||
depends_on='eval:parent.purchase_type',
|
depends_on='eval:parent.purchase_type || parent.agricultural_goods',
|
||||||
read_only=1,
|
read_only=1,
|
||||||
in_list_view=1,
|
in_list_view=1,
|
||||||
columns=2,
|
columns=2,
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ app_include_css = [
|
||||||
|
|
||||||
doctype_js = {
|
doctype_js = {
|
||||||
"Sales Invoice": "public/js/sales_invoice.js",
|
"Sales Invoice": "public/js/sales_invoice.js",
|
||||||
|
"Purchase Invoice": "public/js/purchase_invoice.js",
|
||||||
"Employee": "public/js/employee.js",
|
"Employee": "public/js/employee.js",
|
||||||
"Bank Reconciliation Tool": "public/js/bank_reconciliation_tool.js",
|
"Bank Reconciliation Tool": "public/js/bank_reconciliation_tool.js",
|
||||||
"Company": "public/js/company_form.js",
|
"Company": "public/js/company_form.js",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
// Mutual exclusion between the two purchase-classification checkboxes on
|
||||||
|
// Purchase Invoice: only one of `purchase_type` / `agricultural_goods` may be
|
||||||
|
// set at a time. Checking one clears the other.
|
||||||
|
frappe.ui.form.on('Purchase Invoice', {
|
||||||
|
purchase_type: function (frm) {
|
||||||
|
if (frm.doc.purchase_type && frm.doc.agricultural_goods) {
|
||||||
|
frm.set_value('agricultural_goods', 0);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
agricultural_goods: function (frm) {
|
||||||
|
if (frm.doc.agricultural_goods && frm.doc.purchase_type) {
|
||||||
|
frm.set_value('purchase_type', 0);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
@ -23,6 +23,7 @@ _lt("Additional Comment")
|
||||||
_lt("Address Information")
|
_lt("Address Information")
|
||||||
_lt("Address for Mail")
|
_lt("Address for Mail")
|
||||||
_lt("Affiliate Organizations")
|
_lt("Affiliate Organizations")
|
||||||
|
_lt("Agricultural Goods")
|
||||||
_lt("Agricultural Land Information")
|
_lt("Agricultural Land Information")
|
||||||
_lt("Amount")
|
_lt("Amount")
|
||||||
_lt("Amount without VAT")
|
_lt("Amount without VAT")
|
||||||
|
|
@ -112,6 +113,7 @@ _lt("Legal Address Region")
|
||||||
_lt("Legal Address Room Number")
|
_lt("Legal Address Room Number")
|
||||||
_lt("Legal Address Street")
|
_lt("Legal Address Street")
|
||||||
_lt("Legal Form Code")
|
_lt("Legal Form Code")
|
||||||
|
_lt("Line Code")
|
||||||
_lt("Liquidation Date")
|
_lt("Liquidation Date")
|
||||||
_lt("List of tax systems applied")
|
_lt("List of tax systems applied")
|
||||||
_lt("Loaded from E-Taxes")
|
_lt("Loaded from E-Taxes")
|
||||||
|
|
@ -197,6 +199,7 @@ _lt("VAT free amount")
|
||||||
_lt("VAT registration date")
|
_lt("VAT registration date")
|
||||||
_lt("Vergi")
|
_lt("Vergi")
|
||||||
_lt("Wizards")
|
_lt("Wizards")
|
||||||
|
_lt("YGB")
|
||||||
_lt("Yalnız 0% və ƏDV-dən azad olunan əməliyyatlar üzrə maddələr")
|
_lt("Yalnız 0% və ƏDV-dən azad olunan əməliyyatlar üzrə maddələr")
|
||||||
_lt("taxes_doc")
|
_lt("taxes_doc")
|
||||||
_lt("İcbari Tibbi Sığorta")
|
_lt("İcbari Tibbi Sığorta")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue