fix: ensure defaults removed in bad frappe patch get set again (#31659)

diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 40c512c..1d5f5d7 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -267,6 +267,7 @@
 erpnext.patches.v13_0.enable_ksa_vat_docs #1
 erpnext.patches.v13_0.show_india_localisation_deprecation_warning
 erpnext.patches.v13_0.show_hr_payroll_deprecation_warning
+erpnext.patches.v13_0.reset_corrupt_defaults
 
 [post_model_sync]
 execute:frappe.delete_doc_if_exists('Workspace', 'ERPNext Integrations Settings')
diff --git a/erpnext/patches/v13_0/reset_corrupt_defaults.py b/erpnext/patches/v13_0/reset_corrupt_defaults.py
new file mode 100644
index 0000000..7a6d50f
--- /dev/null
+++ b/erpnext/patches/v13_0/reset_corrupt_defaults.py
@@ -0,0 +1,29 @@
+import frappe
+
+
+def execute():
+	"""
+	This patch is needed to fix parent incorrectly set as `__2fa` because of
+	https://github.com/frappe/frappe/commit/a822092211533ff17ff9b92dd86f6f868ed63e2e
+	"""
+
+	for doctype in (
+		"Accounts Settings",
+		"Stock Settings",
+		"Selling Settings",
+		"Buying Settings",
+		"CRM Settings",
+		"Global Defaults",
+		"Healthcare Settings",
+		"Education Settings",
+	):
+		try:
+			frappe.get_single(doctype).save()
+		except Exception:
+			pass
+
+	try:
+		pos_profile = frappe.get_last_doc("POS Profile")
+		pos_profile.set_defaults()
+	except Exception:
+		pass