КОМПАС.выгрузка в 1С

1. user1169791 13.05.19 07:20 Сейчас в теме
Всем доброго утра!ребят у меня такой вопрос,есть программа КОМПАС, можно ли из нее вытащить данные и перетащить в 1с!?меня по большей части интересует спецификация!если можно перетащить,то как это будет выглядить?как уже готовая специфиция?или он просто перекинет данные,ну скажем просто детали прибора перекинет,как номенклатуру,а спецификацию,нужно будет самому составлять?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. dchumak 42 13.05.19 08:36 Сейчас в теме
Добрый день.
Загрузить в 1С можно все (написание внешних обработок еще никто не отменил).
Вопрос в том, что можно выгрузить из компаса?
4. user1169791 13.05.19 09:10 Сейчас в теме
(2)а как это узнать?и вот по поводу спецификации походу придется заполнять в ручную?
6. PhoenixAOD 62 13.05.19 09:21 Сейчас в теме
(4)ну для начала, зайти в компас, посмотреть что он может экспортировать и в каком формате.
5. user1169791 13.05.19 09:21 Сейчас в теме
(2)что то нашел,как выгрузить из компаса спецификацию в Excel,подскажите пожалуйста,а если загружать с экселя в 1с, это пройдет как обновление!или вместе со старыми свалится в кучу,не важно есть ли там такое же или нет?
7. PhoenixAOD 62 13.05.19 09:21 Сейчас в теме
(5)обновление чего? что свалится в кучу?
8. user1169791 13.05.19 09:24 Сейчас в теме
(7) ну я прочитал что можно спецификацию из компаса экспортировать в ексель!у меня уже есть какая то номенклатура,если из компаса заберу все что есть,и буду гнать в 1с,отбор будет по номенклатуре,типа уже существует,то он ее не будет заносить?или же перенесет все без исключения?
10. catena 110 13.05.19 09:30 Сейчас в теме
(8)Как загрузите, так и будет, не понятно, в чем вопрос.
12. user1169791 13.05.19 09:56 Сейчас в теме
(10) ну вот есть спецификация номенклатуры,а есть просто номенклатура!
скажет есть прибор его спецификация деталь1,деталь2,деталь3!
так вот оно перенесется в виде готовой спецификации,или просто в номенклатуру,скажем в папку детали!и уже потом надо будет самому создавать спецификации приборам исходя из данных в папке?
13. catena 110 13.05.19 09:58 Сейчас в теме
(12)Любой ручной труд, который можно систематизировать, поддается автоматизации. Как загрузите, так и будет.
9. user1169791 13.05.19 09:26 Сейчас в теме
(7)и вот этот вопрос все очень меня беспокоящий,данные перенесутся как списком номенклатурыи придется спецификации составлять в ручную,или уже готовой спецификацией к этой номенклатуре?
14. dchumak 42 13.05.19 10:01 Сейчас в теме
(9) как напишете загрузку в 1С так и будет.
3. user1169791 13.05.19 09:10 Сейчас в теме
а как это узнать?и вот по поводу спецификации походу придется заполнять в ручную?
11. catena 110 13.05.19 09:31 Сейчас в теме
15. user1169791 13.05.19 10:05 Сейчас в теме
(11) а на сторонней ссылке нигде нет подобной обработки?
16. PhoenixAOD 62 13.05.19 10:28 Сейчас в теме
(15) в Вашем случаи нужно все писать с нуля, обрабатывать каждую строку и колонку по известным только Вам признакам.
18. pm74 199 15.05.19 11:55 Сейчас в теме
(1) у меня где то был пдфник но потерял поищите в сети по Kompas.Application.5
пример подключения ( для чертежей)
				Попытка
					Kompass=Новый COMОбъект("Kompas.Application.5");
					Kompass.Visible=true;
					Документ2Д=Kompass.Document2D();
					Документ2Д.ksOpenDocument(ИмяФайлаКомпас,0);

	ДобавитьОбработчик Документ2Д.SaveDocument,ПриСохраненииДокумента;
	ДобавитьОбработчик Документ2Д.CloseDocument ,ПриЗакрытииДокумента; 
				Исключение
					Сообщить("НЕ УДАЛОСЬ ПОДКЛЮЧИТСЯ К КОМПАС-3D");
				КонецПопытки;
	Попытка
		W=Новый COMОбъект("Wscript.Shell");
		W.AppActivate("КОМПАС-3D");
	Исключение
	КонецПопытки;

Показать
Прикрепленные файлы:
24. user1169791 17.05.19 07:07 Сейчас в теме
(18)чертежи то и не нужны...нужна спецификация!!
17. SGordon1 13.05.19 12:20 Сейчас в теме
Зависит все, я думаю, от того зачем вам компасовская спецификация в 1с ....
19. user1169791 16.05.19 14:00 Сейчас в теме
(17)На компасе,конструктора создают спецификацию,мне же нужно для ведения учета в 1с!но список номенклатуры огромен,вот я ищу варианты заполнения,что бы сразу спецификация вбивалась в 1с,так как нужно,а не поиском и заполнением вручную
20. SGordon1 16.05.19 14:02 Сейчас в теме
Т.е. просто хочется выгрузить список номенклатуры из компаса? думаю, это не сложная задача, если все необходимые Вам поля номенклатуры экспортируются из компаса....
21. user1169791 16.05.19 14:08 Сейчас в теме
(20)вот еще знать как это сделать...
22. SGordon1 16.05.19 16:56 Сейчас в теме
(21) через Excel то пробовали выгружать, смотрели что получается в файле?
23. user1169791 17.05.19 07:05 Сейчас в теме
(22) мне бы подсказал бы кто...как в Excel выгрузить..
25. SGordon1 17.05.19 11:14 Сейчас в теме
страница 109 и далеее ... (23)10.8.3. Экспорт в форматы баз данных My Webpage
26. user1169791 17.05.19 12:43 Сейчас в теме
(25) это прям практически помогло..но дело в том что у нас нет прикладных библиотек только чисто КОМПАС!походу без них это нельзя будет сделать?
27. user1169791 17.05.19 12:46 Сейчас в теме
(25) начальство поставило задачу запихать спецификацию из компаса в 1с!как это сделать ума не приложу,что то покупать и обновлять программы на отрез отказываются...в ручную с ума сойдешь все это делать...
28. pm74 199 17.05.19 13:23 Сейчас в теме
(27)
нашел описание держите
Прикрепленные файлы:
sdk.chi
sdk.chm
29. pm74 199 17.05.19 13:35 Сейчас в теме
(27) API экспортных функций видимо то, что нужно

Для тестов Компас 3d должен быть установлен на компе

подключаетесь примерно так
&НаКлиенте
Перем Kompass ; // Kompass
&НаКлиенте
Перем Документ2Д ; // Kompass

...
	ИмяФайлаКомпас = Объект.ВекторныйФайл;
	Если Kompass=Неопределено Тогда
		Попытка
			Kompass = ПолучитьCOMОбъект(,"Kompas.Application.5");
			Kompass.Visible=true;
			Документ2Д=Kompass.Document2D();
			Документ2Д.ksOpenDocument(ИмяФайлаКомпас,0);
		Исключение
			Попытка
				Kompass=Новый COMОбъект("Kompas.Application.5");
				Kompass.Visible=true;
				Документ2Д=Kompass.Document2D();
				Документ2Д.ksOpenDocument(ИмяФайлаКомпас,0);
			Исключение
				Сообщить("НЕ УДАЛОСЬ ПОДКЛЮЧИТСЯ К КОМПАС-3D");
			КонецПопытки;
		КонецПопытки;


Показать




Это от какой то старой версии , но год назад скачивал демку , в принципе все работало

з.ы. у вас там спецификации конечно , но не суть
31. user1169791 17.05.19 14:35 Сейчас в теме
(29) Вот с этим моментом можно поподробнее что и куда нужно,я только учусь и многое для меня очень трудно...
33. pm74 199 17.05.19 14:39 Сейчас в теме
(31) смотрите вот здесь практически готовый код уже есть (на питоне но не суть )
(32) возможно подойдет ( я ведь не знаю всех деталей ) , думаю что вам лучше у автора разработки спросить
34. user1169791 17.05.19 14:46 Сейчас в теме
(33) оуу там на английском,код ясно..куда его вносить вот в чем трудность..
36. pm74 199 17.05.19 14:55 Сейчас в теме
(31) код думается примерно такой




Попытка
Kompass=Новый COMОбъект("Kompas.Application.5");
Документ2Д=Kompass.Document2D(); // Возможно SpcDocument() нужно смотреть sdk и тестить с отладкой.


...
ДляКаждого ИмяФайлаСпецификации Из СписокФайлов Цикл

Документ2Д.ksOpenDocument(ИмяФайлаКомпас,0);

дальше нужно переделать весь этот кусок под 1с ( kompas_document - это Документ2Д ИМО)
//
kompas_document = application.ActiveDocument
kompas_document_spc = kompas_api7_module.ISpecificationDocument(kompas_document)
iDocumentSpc = kompas_object.SpcActiveDocument()
#kompas6_api5_module.Iterator# Интерфейс ksIterator
iIter=kompas_object.GetIterator() # Получить интерфейс итератора
iIter.ksCreateSpcIterator (0, 0, 0) #Создать итератор по объектам спецификации
#iIter.reference
obj = iIter.ksMoveIterator("F") # чтение первой строки
#Цикл для чтения строки
#обозначение, наименование, количество
for i in range(999): # Здесь в цикл нужно что то задать, чтобы узнать какие строки заполнены.
obj = iIter.ksMoveIterator("N") # новигация
iSpc = iDocumentSpc.GetSpecification()
#obj = iSpc.ksGetCurrentSpcObject() #Получаем текущий выделенный объект
формат = iSpc.ksGetSpcObjectColumnText (obj, 1, 1, 0)
обозначение = iSpc.ksGetSpcObjectColumnText (obj, 4, 1, 0)
наименование = iSpc.ksGetSpcObjectColumnText (obj, 5, 1, 0)
количество = iSpc.ksGetSpcObjectColumnText (obj, 6, 1, 0)
примечание = iSpc.ksGetSpcObjectColumnText (obj, 7, 1, 0)
print (обозначение, наименование, количество)

if обозначение=='' and наименование=='' and количество=='':
break

//



Документ2Д.ksCloseDocument();

КонецЦикла;
Показать
30. pm74 199 17.05.19 13:48 Сейчас в теме
(27) можете еще поспрашивать на форуме , может быть там подскажут как выгрузить в промежуточный файл
32. user1169791 17.05.19 14:37 Сейчас в теме
(30) я нашел вот такую обработку на этом сайте!скажите она может подойдет?
https://infostart.ru/public/346214/
35. user1169791 17.05.19 14:50 Сейчас в теме
(30) еще такой вопрос,в 1с уже имеется какая спецификация,что есть,что то пусто..а что есть на процентов 98 не правильно,либо устарела либо еще что то!мне изначально удалить все нужно?или она выгрузит все как нужно?
37. pm74 199 17.05.19 15:00 Сейчас в теме
(35)
или она выгрузит все как нужно?

если вы про обработку из (32) , то я не могу ответить, потому что не я ее писал и не знаю как она работает , судя по скринам просто загружает в таблицу значений
Как потом эту таблицу связывать с номенклатурой - вопрос второй

з.ы. имо самое то сложное во всем этом именно привязать строковые наименования к номенклатуре
38. pm74 199 17.05.19 15:10 Сейчас в теме
(27) ручного труда все равно будет дофига
39. corwax 20.05.19 12:04 Сейчас в теме
у компаса точно есть штатная выгрузка спецификации в эксель, нам готовый документ конструктора давали(сам не знаю где это), а дальше ничего сложного, из ручного труда только нажатие кнопки "загрузить спецификацию"
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)