Показать сообщение отдельно
Старый 29.03.2016, 15:41   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Думаю, затея разработчиков AIF была примерно такая:
  • штатные проверки на обязательность заполнения полей и по relation'ам таблиц выводят подчас невнятные сообщения, типа значение "такое-то" не найдено в связанном справочнике сяком-то
  • программный код, в отличие от пользователя, с большим трудом по текстовому сообщению может понять, какую именно проверку не прошел поставщик, коду больше подходят некие уникальные идентификаторы ошибок
  • при создании/изменении поставщиков через AIF, в т.ч. с использованием Excel Add-in, очень важно понимать, в каком именно поле ошибка, а из сообщений это не всегда очевидно
Значит, решили разработчики AIF, надо продублировать проверки ядра и:
  • явно указывать, в каком поле ошибка
  • добавить некий уникальный идентификатор ошибки (см. библиотеку макросов #VendFaults)
Т.е. все перечисленные проверки для AIF, дублирующие проверки ядра, по сути нужны, чтобы добавить метку поля в текст ошибки и уникальный идентификатор ошибки - в контекст AifFault. За счет уникального идентификатора ошибки становится возможно "различать" в коде без интеллектуального разбора сообщений инфолога. А результат этих проверок действительно не важен, ведь они - лишь костылик для толкования и детализации результатов проверок в ядре.