Перенос данных из конструкторской документации в учетную систему — одна из самых трудоемких задач на производственном предприятии. Ручной ввод сотен позиций из спецификаций КОМПАС-3D в 1С:Предприятие не только занимает много времени, но и неизбежно ведет к ошибкам в номенклатуре и количестве. В этой статье мы подробно разберем, как автоматизировать процесс формирования материальных ведомостей, используя различные методы интеграции двух систем.
Важно понимать, что КОМПАС-3D и 1С:Предприятие — это программные продукты разных разработчиков (АСКОН и 1С соответственно). Типовые конфигурации 1С (такие как Бухгалтерия предприятия или Управление торговлей) ориентированы на широкий круг пользователей и не содержат специфических инструментов для взаимодействия с CAD-системами. Для решения этой задачи используются либо специализированные отраслевые решения, либо механизмы обмена данными через промежуточные файлы и программные интерфейсы.
Если на вашем предприятии требуется глубокая интеграция и постоянный обмен данными, рассмотрим использование систем класса PDM (Product Data Management) и PLM (Product Lifecycle Management). Это наиболее надежный и профессиональный путь автоматизации.
Номенклатура и документы СпецификацияНоменклатуры.Если бюджет предприятия не предполагает покупку дорогостоящих PLM-систем, проанализируем возможности стандартного функционала КОМПАС-3D по экспорту данных. Для реализации этого метода нам потребуется стандартная обработка 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: " + ОписаниеОшибки());
КонецПопытки;
Для разработчиков на платформе 1С наиболее эффективным будет использование прямого программного доступа к объектам КОМПАС через COM-соединение или новое API (особенно актуально для КОМПАС-3D v23). Это позволит 1С «подключиться» к запущенному экземпляру КОМПАСа и прочитать данные прямо из открытого окна спецификации.
Выясним причину, почему это лучше экспорта в файл: при прямом обращении через API мы можем получать не только текстовые данные, но и атрибуты объектов, массу, материал и даже иерархическую вложенность сборок без промежуточных этапов сохранения.
Пример обращения к API КОМПАС из 1С:
// Подключаемся к КОМПАС-3D
Попытка
Kompas = ПолучитьCOMОбъект( , "Kompas.Application.5");
Исключение
Сообщить("КОМПАС-3D не запущен!");
Возврат;
КонецПопытки;
// Получаем активный документ (спецификацию)
ActiveDocument = Kompas.ActiveDocument1D();
Если ActiveDocument <> Неопределено Тогда
// Разберем структуру спецификации через объекты API
// Использование итератора по строкам спецификации
КонецЕсли;
Проанализируем ключевые моменты, которые необходимо учесть при автоматизации:
Обозначение из КОМПАС-3D в качестве артикула или уникального идентификатора в 1С.Рассмотрев все варианты, можно сделать следующий вывод. Если ваше предприятие планирует масштабное производство, оптимальным выбором будет внедрение 1С:PDM или Appius-PLM. Эти системы уже содержат все необходимые «компиляторы» и кнопки на панелях инструментов.
Для небольших конструкторских бюро или разовых задач по формированию ведомостей достаточно будет настройки универсальной загрузки из Excel. Несмотря на то, что это требует «двух кликов» вместо одного, такой подход полностью исключает ручной ввод и гарантирует точность данных в материальной ведомости.
Программистам же стоит обратить внимание на API КОМПАС-3D. С помощью объектов ksSpecification и ksSpcDocument можно создать индивидуальный инструмент, который будет идеально интегрирован в бизнес-процессы именно вашей организации, формируя ведомости по нажатию кнопки прямо в интерфейсе 1С.