Для машиностроительного и приборостроительного предприятия SolidWorks и 1С решают разные задачи. SolidWorks используется конструкторами для проектирования изделия, сборок и деталей, а 1С отвечает за производство, закупки, склад, себестоимость и финансовый контур. Проблема начинается там, где между этими системами появляется Excel.
Если спецификация из SolidWorks выгружается вручную, инженер передаёт файл технологу, технолог корректирует его, сотрудник 1С создаёт или меняет номенклатуру, а затем производству приходится проверять, какая версия состава актуальна, предприятие получает не единую информационную среду, а цепочку ручных преобразований.
Что означает интеграция SolidWorks с 1С на практике
В зрелой архитектуре речь идёт не о простой «выгрузке спецификации». Интеграция связывает жизненный цикл изделия: от разработки конструкции и формирования BOM до подготовки производства, закупки материалов, выпуска продукции и расчёта себестоимости.
Состав изделия
Передача BOM из SolidWorks/PDM в 1С с сохранением структуры, количества, единиц измерения и ключевых атрибутов.
Номенклатура
Сопоставление деталей, сборок, материалов и покупных изделий с номенклатурой 1С без бесконтрольного создания дублей.
Версии и изменения
Передача только утверждённых изменений и контроль того, какая версия конструкции используется в производстве.
Производство
Использование инженерного состава для формирования ресурсных спецификаций, потребностей, заказов и планирования.
Почему обычная выгрузка Excel из SolidWorks — слабая архитектура
Excel может быть полезен как временный инструмент миграции или диагностики. Но делать его основным каналом обмена между CAD/PDM и ERP опасно.
- неочевидно, какая версия файла является актуальной;
- сложно контролировать повторную загрузку одной и той же спецификации;
- изменения конструкции могут потеряться между экспортом и импортом;
- один и тот же материал может появиться в 1С под разными наименованиями;
- невозможно нормально построить аудит: кто, когда и почему изменил состав;
- при массовом обмене ручная обработка становится узким местом.
Какие данные передавать из SolidWorks в 1С
Конкретный набор зависит от модели управления предприятием, но типовой контур выглядит так:
| Из SolidWorks / PDM | В 1С |
|---|---|
| Деталь / сборка | Номенклатура / изделие |
| BOM / дерево изделия | Ресурсная спецификация / состав |
| Материал | Материал / номенклатура |
| Количество | Норма расхода |
| Обозначение / артикул | Артикул / код |
| Версия / статус | Версия / состояние объекта |
Архитектура SolidWorks + 1С
Для среднего производственного предприятия оптимальная схема обычно выглядит не как прямое соединение каждой системы с каждой, а как отдельный интеграционный слой.
↓
SolidWorks PDM / инженерный контур
↓
Integration Service
├── mapping НСИ
├── validation
├── version control
├── idempotency
├── retry / queue
└── audit log
↓
1С:ERP / 1С:УПП / 1С:MES
Сам SolidWorks PDM предоставляет API для работы с BOM и другими объектами PDM. В актуальной документации SOLIDWORKS PDM Professional описан Web API с HTTP-операциями, а для BOM предусмотрены методы получения именованных и вычисляемых составов изделия.
Нужен ли отдельный Symfony-сервис?
Нет — не всегда. Если предприятие использует 1С:PLM и типовой поддерживаемый сценарий, значительная часть интеграции может быть реализована средствами экосистемы 1С. Официальная документация 1С указывает синхронизацию состава изделия с SolidWorks и передачу инженерных данных в 1С:ERP и 1С:MES.
Отдельный Integration Service становится оправданным, когда требуется связать несколько систем и управлять сложностью обмена: SolidWorks/PDM, 1С:ERP, MES, WMS, CRM, корпоративные каталоги или несколько баз 1С.
Когда Integration Layer действительно нужен
Несколько систем
CAD/PDM нужно связать не только с 1С, но и с MES, WMS, APS или другими системами.
Контроль изменений
Нужно отделять черновые изменения конструктора от утверждённых данных, доступных производству.
Надёжность обмена
Необходимы очереди, повторная обработка, идемпотентность и восстановление после временных ошибок.
Наблюдаемость
Бизнесу и ИТ нужен журнал обмена: что передано, что отклонено и почему.
Ключевая проблема — не API, а mapping
Технически получить BOM из PDM можно. Самая сложная часть проекта обычно начинается после этого: необходимо понять, как инженерная модель должна стать объектами ERP.
Например, SolidWorks может идентифицировать деталь по обозначению и файлу, а 1С — по коду номенклатуры. Конструктор может изменить материал или количество, а в ERP уже существует заказ производства по старой версии. Поэтому интеграция должна учитывать не только поля, но и бизнес-правила.
Сценарий 1. SolidWorks → 1С: новая спецификация
- Конструктор создаёт или изменяет изделие в SolidWorks.
- Изделие проходит необходимый статус согласования в PDM.
- Integration Service получает состав и атрибуты.
- Выполняется mapping номенклатуры и проверка данных.
- В 1С создаётся или обновляется структура изделия.
- Система фиксирует результат обмена и версию источника.
Сценарий 2. Изменение конструкции после запуска производства
Это один из наиболее важных сценариев для реального производства. Нельзя просто перезаписать спецификацию в 1С: необходимо определить, какие заказы уже запущены, какие материалы закуплены и с какой даты должна применяться новая версия.
Поэтому архитектура должна поддерживать как минимум:
- версию состава;
- статус согласования;
- дату вступления изменения в силу;
- связь с производственным заказом;
- журнал изменений;
- правила обработки уже запущенного производства.
Сценарий 3. SolidWorks → 1С → закупки
После публикации состава изделия 1С может использовать нормативные данные для расчёта потребности. Если изделие содержит покупные комплектующие, изменения конструкции могут непосредственно влиять на закупки.
SolidWorks → BOM → 1С:ERP → потребность → закупка → производство → себестоимость
SolidWorks + PDM + 1С:ERP — более правильная модель
Для предприятия с несколькими конструкторами и большим количеством изделий часто имеет смысл разделять CAD и PDM. SolidWorks отвечает за проектирование, PDM — за управление инженерными файлами, версиями и жизненным циклом, а 1С:ERP — за учёт и производство.
Такой подход соответствует и возможностям самой экосистемы: 1С указывает поддержку синхронизации состава изделия с SolidWorks, а инженерные данные могут передаваться в 1С:ERP и 1С:MES как производственный состав.
Почему нельзя синхронизировать всё подряд
Одна из распространённых ошибок — попытка сделать двустороннюю синхронизацию каждого поля. В результате две системы начинают бороться за право изменить один и тот же объект.
Гораздо надёжнее заранее определить master-систему:
| Данные | Master |
|---|---|
| Геометрия и CAD-файлы | SolidWorks / PDM |
| Инженерный BOM | PDM / инженерный контур |
| Учётная номенклатура | 1С |
| Закупки и остатки | 1С |
| Факт производства | 1С / MES |
Symfony как Integration Service
Если стандартной интеграции недостаточно, отдельный сервис на Symfony может выступать независимым слоем между инженерным и учётным контурами.
- Adapter: работа с PDM/API;
- Normalizer: приведение данных к единой модели;
- Mapping: сопоставление объектов с 1С;
- Validator: контроль обязательных атрибутов;
- Queue: асинхронная обработка;
- Retry: повторная доставка после временных ошибок;
- Idempotency: защита от дублей;
- Audit: полный журнал обмена.
Это особенно полезно, если SolidWorks/PDM становится только одной из систем промышленного контура. Тогда архитектура может выглядеть так:
MES ──────────────┤
WMS ──────────────┼──→ Integration Layer ──→ 1С:ERP
APS ──────────────┤
CRM ──────────────┘
Что даёт такая интеграция среднему производству
Единый состав изделия
Производство получает структурированные данные без повторного ручного ввода.
Быстрее обработка изменений
Изменения конструкции проходят контролируемый маршрут до ERP.
Прозрачнее себестоимость
Актуальный состав изделия становится основой для планирования материалов и расчёта затрат.
Меньше ошибок
Mapping и валидация снижают количество дублей и некорректных нормативных данных.
Практический кейс: PDM/SolidWorks + 1С:ERP
Показательный сценарий уже встречается в российских производственных проектах: при переходе на 1С:ERP предприятие связывает PDM/SolidWorks с ERP, чтобы автоматически обновлять спецификации и дерево состава изделия, включая изменения на ранних этапах производства. В опубликованном кейсе также отмечена задача синхронизации нормативных данных и управления изменениями между инженерным и производственным контурами.
Типичные ошибки проекта SolidWorks + 1С
- Начинать с API. Сначала нужно определить бизнес-объекты и master-системы.
- Передавать всё подряд. В обмен должны попадать только данные, необходимые конкретному процессу.
- Игнорировать версии. Для производства версия состава важнее самого факта наличия BOM.
- Не учитывать существующую НСИ. Иначе интеграция быстро создаст дубли номенклатуры.
- Не предусмотреть повторную обработку. Любой промышленный обмен должен переживать временные ошибки.
- Делать двустороннюю синхронизацию без правил. Для каждого объекта должен быть определён владелец данных.
Как проектировать интеграцию SolidWorks и 1С
- Описать процессы конструкторской и технологической подготовки производства.
- Определить master-системы для каждого класса данных.
- Определить жизненный цикл изделия и статусы согласования.
- Составить mapping SolidWorks/PDM → 1С.
- Определить правила создания и изменения номенклатуры.
- Спроектировать версионность и механизм обработки изменений.
- Выбрать способ интеграции: штатные средства, API или Integration Service.
- Реализовать журналирование, retry и контроль дублей.
- Провести нагрузочное и сценарное тестирование.
SolidWorks + 1С + MES: следующий уровень интеграции
Если предприятие использует MES, архитектура становится ещё интереснее. CAD/PDM отвечает за инженерный состав, 1С:ERP — за учёт, планирование и экономику, а MES — за оперативное производство.
↓ инженерный состав
1С:ERP
↓ производственные задания
MES
↓ факт производства
1С:ERP
↓ план-факт / себестоимость
SolidWorks + 1С и AI-аналитика
После того как инженерные и производственные данные связаны, появляется ещё один уровень автоматизации — аналитика. Можно анализировать не только факт продаж или производства, но и влияние изменений конструкции на закупки, сроки, загрузку оборудования и себестоимость.
Например, руководитель может задать вопрос: «Какие изменения в конструкции за последний месяц повлияли на стоимость производства?» — и получить ответ на основе связанного контура PDM, 1С и MES.
FAQ: SolidWorks и 1С
Можно ли интегрировать SolidWorks с 1С?
Да. Возможны разные варианты: от обмена через файлы и штатные механизмы 1С до интеграции через PDM/API и отдельный Integration Service. Экосистема 1С официально заявляет синхронизацию состава изделия с SolidWorks и передачу инженерных данных в 1С:ERP и 1С:MES.
Можно ли передавать спецификацию SolidWorks в 1С?
Да. Основной объект обмена — состав изделия/BOM, который после сопоставления может использоваться в производственном контуре 1С.
Нужен ли SolidWorks PDM для интеграции с 1С?
Не всегда. Но PDM существенно упрощает управление версиями, статусами и инженерными документами, когда над изделиями работает несколько пользователей и изменения должны контролироваться.
Можно ли интегрировать SolidWorks PDM через API?
Да. SOLIDWORKS PDM Professional предоставляет Web API, включая работу с BOM, файлами, версиями и другими объектами PDM.
Можно ли связать SolidWorks, 1С и MES?
Да. Такой контур позволяет разделить инженерные данные, ERP-учёт и оперативное производство, а интеграционный слой обеспечивает управляемую передачу данных между системами.
Что лучше: Excel или API?
Excel подходит для разовых миграций и диагностики. Для регулярного производственного обмена лучше использовать управляемую интеграцию с контролем версий, ошибок и повторной обработки.
Вывод
Интеграция SolidWorks с 1С — это не задача «выгрузить BOM». Для среднего производства это задача построения единого цифрового контура, где инженерные изменения контролируемо доходят до ERP, а производство работает с актуальным составом изделия.
Если используется 1С:PLM и типовой сценарий закрывает требования предприятия, разумно использовать штатные возможности. Если же вокруг 1С уже есть PDM, MES, WMS, APS и другие системы, отдельный Integration Layer позволяет не превращать каждую новую интеграцию в ещё одну точечную доработку.
По теме: если вы проектируете связанный контур, посмотрите Renga + 1С: интеграция BIM-модели со строительной ERP и Интеграция 1С с WMS: архитектура обмена складскими данными.