• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Подскажите код для экспорта техпроцесса в XML и обратный импорт

Автор iecoza, 17.04.15, 08:45:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

iecoza

Подскажите код для экспорта техпроцесса в XML и обратный импорт.
на входе техпроцесс test.vtp
на выходе хочу получить XML файл и каталог с эскизами.

спасибо за поддержку.
(ужасные визуальные проверки у вас. лишний раз в форуме не напишешь.)

вот небольшая код, который не работает. эскизы сохраняет. а XML нет.
приведите пример.
не уверен со строчкой "root := model.vrGetObjVector.vrItem(0);"
нужно импорт и экспорт полного ТП
-------------------
var
  m_uniref : IUniRefer;
  model : IVModel;
  root : IVObject;
  vtpfile : string;
begin
  vtpfile := 'c:\test.vtp';
  m_uniref := CoUniRefer.Create;
  m_uniref.GlobalVars.Logon.LogonAsParams('Технолог','111','Технологи');
  model := CoVModel.Create;
  model.vrLoadModel(vtpfile, nil,(OPEN_FULL_STR_SERVER or FILES_EXTRACT));
  model.vrApplySecurity;
  root := model.vrGetObjVector.vrItem(0);
  root.vrXML(true, 'c:\22');
  root := nil;
  model := nil;
-------------------

Chipollino

Всё верно он вам выдаёт - файлы складывает. а полученный XML он возвращает как результат функции, который ещё надо сохранить (или обработать - в зависимости от задачи)

Вам проще будет сразу заменить сроку на

model.vrGetObjVector.vrItem(0).vrXML(true, 'c:\22').Save('c:\22\tehproc.xml')

Должно сработать

iecoza


Chipollino

Вы строчку вставили в вашу программу? Что при этом выдаёт и в каком месте?

vrXML возвращает интерфейс с XML который вы уже и сохраняете через Save(путь)
https://msdn.microsoft.com/en-us/library/aa923351.aspx

iecoza

спасибо. получилось вот так:

var
  disp: IDispatch;
  v: Variant;
--- // ---
  disp := model.vrGetObjVector.vrItem(0).vrXML(true, 'c:\22');
  v := disp;
  v.Save('c:\22\tehproc.xml');

----------

теперь последнее... нужно создать vtp файл и импортировать из этого XML

Chipollino

Видимо для Паскаля это нормально...

А зачем заморачиваться с XML тогда, если можно просто скопировать файл? или вы черех XML хотите данные править? Помнится при выгрузке типовой технологии терялись какие-то данные и полученная потом их этого XML технология отличалась чем-то от оригинальной. Возможно это только с типовой так.

Но если очень хочется, то создаёте новую модель ТП и через vrXMLImport(disp) ваши данные туда, затем через vrSaveModel('c:\22\newTP.vtp') сохраняете

Лично я бы не стал заморачиваться тогда с XML вообще, а правил бы саму модель из оригинального ТП и её просто пересохранил.
+ Благодарностей: 1

iecoza

изначально в конфигурации наименование материалов, переходов, профессий итп были доступны для редактрования
технологи писали техпроцессы. но не заполняли справочник а брали например материал трубку и меняли наименование на эмаль.
а связь по справочнику была с трубкой. идр объекты так же.
очень много техпроцессов.
хочу всё привести к нормальному виду. чтобы справочник правил ответственный человек.
и технологи вставляли актуальные данные. и не редактировали так где нельзя.

написал на 1С обработку вытаскивания объектов. из XML. унификацию их в нужном мне виде с
исправленными ссылками на объекты.

для этого мне нужно все тп перевести в xml. обработать их, изменить и воссоздать правильные vtp.

подскажите как сделать импорт и экспорт через vrXMLImport, vrXMLExport.
как то нужно подключить через IVAddins.

спасибо.



tur

У нас тоже было похожее только с УТС, заставили всех технологов все ТП переделать ручками

Chipollino

Вот с реализацией я точно не подскажу - я и паскаль не знаю, и подобными вещами не занимался. Лично я тоже считаю, что правильнее будет технологов заставить исправлять. А для проверки можно использовать уже готовый функционал проверки ТП по справочным данным.

Ну или в крайнем случае исправлять саму модель технологии без перехода на XML, т.е. перенести реализацию из 1С в эту программу.

tur

Цитата: Chipollino от 20.04.15, 17:06:35
Вот с реализацией я точно не подскажу - я и паскаль не знаю, и подобными вещами не занимался. Лично я тоже считаю, что правильнее будет технологов заставить исправлять. А для проверки можно использовать уже готовый функционал проверки ТП по справочным данным.

Мы тоже так и сделали использовали проверку по справочным данным и при сохранении ТП в Лоцман использовали непосредственно в Лоцмане передачу оснастки не из ТП, а из справочника УТС по ключу из ТП. Например, был молоток (в УТС), а технолог в Вертикали поменял молоток на шаблон, при передаче в Лоцман заходит молоток и технолог начинает "радоваться".

iecoza

вопрос остается открытый. ищется пример кода

импорта и экспорта ТП через функции vrXMLImport, vrXMLExport

Alekstrimal

Цитата: Chipollino от 20.04.15, 17:06:35
Вот с реализацией я точно не подскажу - я и паскаль не знаю, и подобными вещами не занимался. Лично я тоже считаю, что правильнее будет технологов заставить исправлять. А для проверки можно использовать уже готовый функционал проверки ТП по справочным данным.

Ну или в крайнем случае исправлять саму модель технологии без перехода на XML, т.е. перенести реализацию из 1С в эту программу.

Не самый умный способ "всех технологов все ТП переделать ручками" - представьте что у Вас 50 000 - 100 000 технологических процессов и полтора десятка технологов - вопрос: сколько времени у них займёт всё ручками переделать, не останавливая основную работу и внедрение новой продукции - дай Бог один - два ТП будет технолог в день успевать переделывать. Итого 100 000 имеющихся техпроцессов делим на 15 технологов и на 2 ТП в день, итого 3334 дня, делим на 21 рабочий день в месяц - 159 месяцев, делим на 12 месяцев в год - 13,3 лет - очень уж быстрая автоматизация работы получается...

tur

Цитата: Alekstrimal от 14.05.15, 20:57:33
Не самый умный способ "всех технологов все ТП переделать ручками" - представьте что у Вас 50 000 - 100 000 технологических процессов и полтора десятка технологов - вопрос: сколько времени у них займёт всё ручками переделать, не останавливая основную работу и внедрение новой продукции - дай Бог один - два ТП будет технолог в день успевать переделывать. Итого 100 000 имеющихся техпроцессов делим на 15 технологов и на 2 ТП в день, итого 3334 дня, делим на 21 рабочий день в месяц - 159 месяцев, делим на 12 месяцев в год - 13,3 лет - очень уж быстрая автоматизация работы получается...

Для справки любой техпроцесс в среднем живет один год, а дальше в нём что-то меняется по любому, т.е. он должен пересматриваться и проверяться. А персмотр - извините не автоматика делает, а технолог глазками.

Alekstrimal

Далеко не на всех предприятиях и тем более не все ТП живут по году. У нас например, очень много тп, живущих годы, а то и десятилетия, и далеко не каждый год (а то и десятилетие) требуют корректировок. И корректировки, извините, преимущественно заключаются не в перевыпуске всего ТП (тут армия технологов понадобится - см мой расчёт выше )) ), а в изменении одной или нескольких строк, максимум - замена листа, что просто не соизмеримо с полной переделкой ТП, пусть и в электронный вид (что в дальнейшем безусловно даст плоды капитального прироста производительности в работе технолога).
И, для справок, я не первый год в техотделе работаю, и оч хорошо представляю о чём говорю. А так же - я ни в коей мере не против перехода на электронный документооборот, а против бездумной загрузки людей работой, которую есть возможность (если она реально есть, конечно) автоматизировать, и уж тем более против злорадства по поводу "что правильнее будет технологов ЗАСТАВИТЬ исправлять" и "ЗАСТАВИЛИ всех технологов все ТП переделать РУЧКАМИ" - высказывания навивают мысль о том что вам в радость над людьми поиздеваться, а подбор и постановка слов во втором примере прямо-таки заставляет счесть, что у Вас таки были средства для автоматизации той работы, которую вы всё-таки именно ЗАСТАВИЛИ переделывать людей и именно РУЧКАМИ.
Прошу простить, если неверно расценил ваш юмор по поводу катаржной тяжёлой работы технолога.
И нет, я не технолог, я программист ЧПУ, но очень хорошо знаю специфику работы технолога.

tur

Не буду засорять тему, если охота поспорить открывайте новую тему - вот там и поспорим, про правку ручками, годы жизни ТП и нагрузки на технологов.

Chipollino

Цитата: Alekstrimal от 14.05.15, 20:57:33
Не самый умный способ "всех технологов все ТП переделать ручками" - представьте что у Вас 50 000 - 100 000 технологических процессов и полтора десятка технологов - вопрос: сколько времени у них займёт всё ручками переделать, не останавливая основную работу и внедрение новой продукции - дай Бог один - два ТП будет технолог в день успевать переделывать. Итого 100 000 имеющихся техпроцессов делим на 15 технологов и на 2 ТП в день, итого 3334 дня, делим на 21 рабочий день в месяц - 159 месяцев, делим на 12 месяцев в год - 13,3 лет - очень уж быстрая автоматизация работы получается...
Накипело?
А теперь назовите мне такое предприятие, где существует 100к различных действующих технологий (не наименований изделий, а именно технологий) которые используются и по каждой из них выпускалось хотя бы одно изделие за последний год. Сдаётся мне, что это предприятие должно выпускать всё - начиная от туалетной бумаги и заканчивая космическими кораблями.

Момент следующий - получается вместо того, чтобы один раз внести отсутствующий объект в справочник и нормально им пользоваться, бедный технолог "каторжно" вносит в технологию неправильный элемент, затем правит в технологии на нужный (и так в КАЖДОЙ технологии) - тут он поступил верно, а заставить его исправить его же косяк - внедренцы садисты и изверги...

И как вы собираетесь работать с новыми инструментами, если до сих пор составляете технологию на бумаге?
Изменение чего-либо в электронном документе ведёт к замене ФАЙЛА (т.е. всей технологии) - ГОСТ 2.051, а это уже подразумевает перевыпуск всего комплекта отчётов (МК, ВТП, КТТП) - следовательно нормоконтролёр проверяет весь комплект изменённый технологом (за который он и отвечает), но никак не дописка в ЛРИ и замена страницы.

Как вы у себя производство планируете после этого - ручками в эксель всё переносите и считаете??