Как автоматизировать передачу спецификаций из КОМПАС-3D в 1С для создания материальных ведомостей

Программист 1С v8.3 (Управляемые формы) Управленческий учет Промышленность, строительство и АПК
← На главную

Перенос данных из конструкторской документации в учетную систему — одна из самых трудоемких задач на производственном предприятии. Ручной ввод сотен позиций из спецификаций КОМПАС-3D в 1С:Предприятие не только занимает много времени, но и неизбежно ведет к ошибкам в номенклатуре и количестве. В этой статье мы подробно разберем, как автоматизировать процесс формирования материальных ведомостей, используя различные методы интеграции двух систем.

Почему в 1С нет «встроенной кнопки» для КОМПАС-3D

Важно понимать, что КОМПАС-3D и 1С:Предприятие — это программные продукты разных разработчиков (АСКОН и 1С соответственно). Типовые конфигурации 1С (такие как Бухгалтерия предприятия или Управление торговлей) ориентированы на широкий круг пользователей и не содержат специфических инструментов для взаимодействия с CAD-системами. Для решения этой задачи используются либо специализированные отраслевые решения, либо механизмы обмена данными через промежуточные файлы и программные интерфейсы.

Метод 1: Использование специализированных PLM-решений

Если на вашем предприятии требуется глубокая интеграция и постоянный обмен данными, рассмотрим использование систем класса PDM (Product Data Management) и PLM (Product Lifecycle Management). Это наиболее надежный и профессиональный путь автоматизации.

  1. 1С:PDM Управление инженерными данными. Данное решение полностью базируется на платформе 1С и имеет штатный «Интерфейс КОМПАС-3D». Оно позволяет считывать структуру изделия непосредственно из файла сборки или спецификации КОМПАС (есть готовая автоматизированная загрузка номенклатуры и её реквизитов из Excel) и автоматически создавать в 1С элементы справочника Номенклатура и документы СпецификацияНоменклатуры.
  2. Appius-PLM. Это комплексная система, которая «бесшовно» интегрируется в интерфейс КОМПАС-3D. Пользователь видит панель инструментов PLM прямо в конструкторском окне. Нажатием одной кнопки вся структура изделия и комплектация продукции передается в информационную базу 1С, включая чертежи в формате PDF и данные о материалах.

Метод 2: Автоматизация через промежуточные форматы (Excel и XML)

Если бюджет предприятия не предполагает покупку дорогостоящих PLM-систем, проанализируем возможности стандартного функционала КОМПАС-3D по экспорту данных. Для реализации этого метода нам потребуется стандартная обработка 1С ЗагрузкаДанныхИзТабличногоДокумента (поможет универсальная загрузка данных из Excel в любые документы и справочники) или написание небольшого программного кода.

Разберем процесс по шагам:

  1. В КОМПАС-3D откройте спецификацию и выполните экспорт в формат Excel или CSV. Это создаст структурированную таблицу, где каждая строка соответствует компоненту изделия — для этого подойдёт загрузка номенклатуры и документов из Excel.
  2. В 1С создадим алгоритм, который будет считывать этот файл. Рассмотрим пример кода для чтения данных из файла Excel:

Попытка
    ExcelПриложение = Новый COMОбъект("Excel.Application");
    Книга = ExcelПриложение.Workbooks.Open(ПутьКФайлу);
    Лист = Книга.Sheets(1);
    
    Для НомерСтроки = 2 По Лист.UsedRange.Rows.Count Цикл
        Наименование = Лист.Cells(НомерСтроки, 1).Value;
        Количество = Лист.Cells(НомерСтроки, 2).Value;
        Обозначение = Лист.Cells(НомерСтроки, 3).Value;
        
        // Логика поиска или создания номенклатуры
        НоваяНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
        // ... создание документа МатериальнаяВедомость
    КонецЦикла;
    
    Книга.Close(Ложь);
Исключение
    Сообщить("Ошибка при работе с Excel: " + ОписаниеОшибки());
КонецПопытки;

Метод 3: Прямая интеграция через API КОМПАС-3D

Для разработчиков на платформе 1С наиболее эффективным будет использование прямого программного доступа к объектам КОМПАС через COM-соединение или новое API (особенно актуально для КОМПАС-3D v23). Это позволит 1С «подключиться» к запущенному экземпляру КОМПАСа и прочитать данные прямо из открытого окна спецификации.

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

Пример обращения к API КОМПАС из 1С:


// Подключаемся к КОМПАС-3D
Попытка
    Kompas = ПолучитьCOMОбъект( , "Kompas.Application.5");
Исключение
    Сообщить("КОМПАС-3D не запущен!");
    Возврат;
КонецПопытки;

// Получаем активный документ (спецификацию)
ActiveDocument = Kompas.ActiveDocument1D();
Если ActiveDocument <> Неопределено Тогда
    // Разберем структуру спецификации через объекты API
    // Использование итератора по строкам спецификации
КонецЕсли;

Рекомендации по настройке обмена данными

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

Итоги и выбор решения

Рассмотрев все варианты, можно сделать следующий вывод. Если ваше предприятие планирует масштабное производство, оптимальным выбором будет внедрение 1С:PDM или Appius-PLM. Эти системы уже содержат все необходимые «компиляторы» и кнопки на панелях инструментов.

Для небольших конструкторских бюро или разовых задач по формированию ведомостей достаточно будет настройки универсальной загрузки из Excel. Несмотря на то, что это требует «двух кликов» вместо одного, такой подход полностью исключает ручной ввод и гарантирует точность данных в материальной ведомости.

Программистам же стоит обратить внимание на API КОМПАС-3D. С помощью объектов ksSpecification и ksSpcDocument можно создать индивидуальный инструмент, который будет идеально интегрирован в бизнес-процессы именно вашей организации, формируя ведомости по нажатию кнопки прямо в интерфейсе 1С.

← На главную