Я не очень понимаю, как вы дошли до такого, не сталкиваясь и не разрешив такую проблему ранее, ведь и из самой логики понятно, что будет перезапись.
Логически все понятно
При регистрации профилей стояла галка сохранять все переменные
Потом добавил входные данные
Потом переменные с входными данными стали также записываться
А вот предположить что входные данные имеют низший приоритет над переменными загружаемыми с подгружаемым профилем я не мог. Смысл входных данных вообще своится у нулю.
Интуитивно понятная логика: Если я задаю начальные настройки, то я хочу их использовать, даже если загружаю новый профиль.
Это логическая ошибка алгоритма работы. Использование таблиц и переименование переменных это костыли, исправляющие ошибку логики работы.
Назовите хоть один случай, когда при загрузке профиля мне нужно перезаписать ИМЕННО ВХОДНЫЕ переменные.
Обратите внимание: я говорю не о всех переменных, а только те которые определены во входных настройках
Вам явно следует использовать таблицу или бд, либо разделить шаблон, для его упрощения.
Использовать таблицу и базы из-за ошибочной логики работы программы это не упрощение, а усложнение
Если вы не помните, то ошибка с базой данных с которой я мучился 2 месяца, лишний раз обращаться к базе отбивает желание.
Тем более ошибка с содинарной кавычкой в SQL из-за которой были проблемы вроде как исправлена, о чём не сообщили, узнал случайно.
Галка при загрузке профиля НЕ ЗАГРУЖАТЬ ИЗ ПРОФИЛЯ ЗНАЧЕНИЯ ПЕРЕМЕННЫХ НАЗНАЧЕННЫХ во ВХОДНЫХ настройках.
То есть
НЕ ВСЕХ ПЕРЕМЕННЫХ!!! а именно
только из ВХОДНЫХ настроек. По умолчания должна быть включена.
И не забудьте что приоритет этой галки должен быть выше чем "Создавать недостающие переменные."
Даже если сделаете возможность обращения к входным нстройкам, то это будут костыли