Интеграция составов при переходе на новый PLM

Самая адская, неблагодарная и объёмная работа. Справедливо для всех видов составов: Конструкторского, Технологического, Фактического и тд.

1. Зачем надо? 🔪 Перенести составы изделий, чтобы было с чем работать в других модулях 🔪Нормализация составов - наведение порядка 🔪 Заимствование наработок при разработке новых продуктов 🔪 При внедрении новой PLM системы, интеграция составов из старой

2. Способы 🐛 Файлы обмена. Сначала экспортируем состав из старой системы в файл обмена, обычно это xml или excel. В таком случае нам понадобится парсер из файла, и макрос, который создаст элементы в новой системе. Уязвимости:

  • Если файл excel, то важно соблюдать единый формат, дополнительные колонки могут повредить интеграции. Butt beware, короче

🐛 Обмен через СУБД. Это более надёжный способ. Данные из старой системы экспортируем в СУБД и в новую уже забираем их. Никаких файлов, один источник данных

3. Подводные камни 🪠 Как бы хорошо ни вели состав в старой PLM системе, как бы там все стройно не было и хорошо бы ни работало, вас ожидают десятки исключений. Их следует учитывать при написании кода парсеров. 🪠 Человеческий фактор. Иногда составы жутко мусорные и хаотичны. Тогда помимо импора будет много работы по нормализации. 🪠 Особенности ПО. Например в T-FLEX применяемость - параметр подключения,  а в Teamcenter - обычный параметр. И логика построения данных в T-FLEX будет отличаться.

4. Что с этим всем делать? 🍻 Кропотливо и аккуратно отлаживать парсеры и макросы. Появилось новое исключение? Думаем, как обработать. Эту работу просто надо сделать. 🍻Запастись терпением 🍻 Как в DarkSouls валить босса надо постепенно,  так и тут, лучше постепенно состав загружать - так будет легче себя проверить. 🍻 Жёстко и мощно логировать результаты импорта, где возникли ошибки, где нет - экономит время потом

По своему опыту, больше всего крови попила применяемость конструкторского состава. Каких там записей только не было. Через СУБД обмен идёт легче и проще - там сложно несанкционировано добавить новые колонки или убрать те, что жизненно необходимы.

А с чем вы подобным сталкивались?