Ошибки импорта

Данные, импортированные из книги MS Excel, проверяются на наличие формальных ошибок, а также на полноту и непротиворечивость в сопоставлении с информацией, находящейся на разных листах книги . Ошибки, если таковые есть, приводятся по разделам:

При переходе по группам ошибок отображаются ошибки (если таковые есть), с комментариями по положению источника ошибки на соответствующих листах и самой ошибке, например, как на рисунке ниже: Заметим, что поиск ошибок осуществляется по чисто формальным признакам (синтаксису). В число проверяемых синтаксических ошибок входят:

  • недопустимые значения;
  • ссылки на неизвестные сущности из других листов;
  • недостаточность ресурсов для исполнения операции;
  • и др.

При ошибках типа ссылки на неизвестную сущность, система взамен несуществующих создает соответствующие сущности в единственном экземпляре, и эти сущности будут соответственно отмечены. Например, при отсутствии на листе Оборудование рабочего центра, упомянутого на листе Технология (о чем будет сообщено в соответствующем разделе): В разделе Модели данных по разделу Оборудование будут заведены помеченные префиксом ИД (искусственные данные) сущности, как на рис. ниже: Неформальные ошибки внутри системы могут быть выявлены только в процессе моделирования (путем анализа несоответствий результатов моделирования в том или ином разделе ожиданиям или здравому смыслу) Например, если вместо имеющегося в реальности количества станков =100 поставить 1, то данный ресурс в процессе моделирования с большой вероятностью станет ограничением, что и выявится при анализе результатов.

Есть несколько ситуаций, которые не определяются как ошибочные, но которые требуют комментария по их отработке в системе:

  • допустимо использовать одинаковые EQUIPMENT_ID в таблице Оборудование для разных подразделений (одинаковые рабочие центры могут быть в разных цехах – это нормально, но это РАЗНЫЕ рабочие центры, с разным количеством станков в каждом). Однако при этом наименование NAME для EQUIPMENT_ID будет одинаковым и соответствовать первой по порядку чтения записи. При трактовке результатов могут возникнуть трудности, если не следить за тем, чтобы в этой ситуации каждому EQUIPMENT_ID соответствовало единственное значение NAME.
  • аналогично, допускается использование одинаковых ID персонала для разных DEPT_ID (цехов). Но наименования NAME профессии будет то, которое прочитается первым. Во избежание путаницы, необходимо следить, чтобы каждому ID профессии соответствовало единственное наименование профессии.
  • при задании количества в таблице Оборудование под AMOUNT понимается не только количество не имеющих ID станков в РЦ EQUIPMENT_ID, но все количество станков в РЦ в данном подразделении. Поэтому, если количество записей, соответствующих станкам с ID («инвентарными в цехе») будет больше, чем AMOUNT, соответствующий данному EQUIPMENT_ID, то AMOUNT проигнорируется без выдачи сообщения об ошибке. (Если AMOUNT будет больше, чем количество записей с ID в той же группе EQUIPMENT_ID, то будут созданы дополнительные (не имеющие ID – клиентского идентификатора экземпляра станка)
  • если в каком-либо разделе данных встретится ситуация, что имеется две синтаксически безошибочные записи, описывающие одну сущность, то вторая (и возможные следующие) запись проигнорируется. Например, из трех строк

прочитается только первая строка, а вторая и третья проигнорируются без сообщения об ошибке. Т.е. результаты будут зависеть от того, как отсортированы исходные таблицы. Это придает известную гибкость в подготовке данных, но ответственность за последствия лежит на пользователе.

Несмотря на то, что BFG-IS позволяет начать работу даже при наличии ошибок импорта - тем самым обеспечивая гибкость - настоятельно рекомендуется ошибок импорта избегать, как минимум - по каждой найденной ошибке принимать осознанные решения о необходимости корректировки.