logo
logo
Есть ли запрещенные символы в названиях счетов? [RUSSIAN 10/04/2023 09:25]
Регулярно сталкиваюсь с тем, что при импорте XML (выгруженных из ACash) в Ability Cash получаю ошибку "В импортируемых данных обнаружено два счёта с одинаковым названием".
 
Так как само название проблемного счёта в тексте ошибки не фигурирует (я это уже завёл в доработку), то ищу приходится искать дубликаты при помощи других средств. Например, загружаю фрагмент <accounts> ... <accounts/> в Excel и там строю сводную, чтобы найти дубли.
 
И вот сегодня столкнулся с ситуацией, когда фактических дублей НЕТ. Все счета имеют уникальные наименования. А ошибка всё равно вылезает.
 
В итоге, методом дихотомии, нашёл проблемные счета. Подчёркиваю: они НЕ являются дубликатами, их названия уникальны. Но когда я удалил их из XML - то данные импортировались успешно (к счастью, транзакций по этим счетам не было, поэтому их наличие не было критичным).
 
Обратил внимание, что в наименованиях счетов у меня используются символы "%" (процент) и "*" (звёздочка).
 
И хотя я многие годы использовал такие символы (например, если счёт - это банковский депозит, то я указываю в наименовании процентную ставку), я решил уточнить: нет ли каких-то ситуаций, когда % работает как, например, wildcards в каком-нибудь внутреннем SQL-запросе в Ability Cash, что приводит к такой коллизии?
 
Сейчас пытаюсь создать минимальный файл, достаточный чтобы воспроизвести эту проблему, на случай, если dervish захочет пощупать это руками.