Думаю, затея разработчиков AIF была примерно такая:
- штатные проверки на обязательность заполнения полей и по relation'ам таблиц выводят подчас невнятные сообщения, типа значение "такое-то" не найдено в связанном справочнике сяком-то
- программный код, в отличие от пользователя, с большим трудом по текстовому сообщению может понять, какую именно проверку не прошел поставщик, коду больше подходят некие уникальные идентификаторы ошибок
- при создании/изменении поставщиков через AIF, в т.ч. с использованием Excel Add-in, очень важно понимать, в каком именно поле ошибка, а из сообщений это не всегда очевидно
Значит, решили разработчики AIF, надо
продублировать проверки ядра и:
- явно указывать, в каком поле ошибка
- добавить некий уникальный идентификатор ошибки (см. библиотеку макросов #VendFaults)
Т.е. все перечисленные проверки для AIF, дублирующие проверки ядра, по сути нужны, чтобы добавить метку поля в текст ошибки и уникальный идентификатор ошибки - в контекст AifFault. За счет уникального идентификатора ошибки становится возможно "различать" в коде без интеллектуального разбора сообщений инфолога. А результат этих проверок действительно не важен, ведь они - лишь костылик для толкования и детализации результатов проверок в ядре.