Интеграция Лоцман и Вертикаль

Автор ElRi, 18.07.08, 07:18:57

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

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

ElRi

Создаем в Вертикаль файл техпроцесса с помощью шаблонов техпроцесса, нажимаем кнопку "добавить фрагмент ТП"
Рис. 1

Выбираем шаблон ТП
Рис. 2, 3

После чего создаем в лоцмане техпроцесс, к примеру литье, и пытаемся извлечь из файла информацию, получем следующую ошибку
Рис. 4

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

В техподдержке сказали нужно настраивать прокси,  но среди них я не нашел нужного. F1 плиз кто разбирается  :)

Так как я не понял как тут добавлять рисунки, вот ссылка на изображения

fotki (точка) yandex (точка) ru/users/ElRi2007/

(в общем точки заменить на "." :) ) Заранее благодарен всем кто не полениться помочь

ArtI

В integrator.ini поставь VisualWork=1 и посмотри, что в модели передается

ElRi

Включил режим отображения, посмотрел. Передается дерево техопераций из Вертикали, у строк, что были добавлены вручную значение TYPE равно "Техоперация", у тех что добавлены плагином равно пусто. Попробовал вручную прописать вместо Пусто значение "Техоперация" и эта строчка успешно передалась в Лоцман, как бы теперь настроить эту передачу автоматически?

AI

Если предположить, что пустой тип всегда означает Техоперацию, то можно добавить такие строчки в транслятор для Вертикали

в функции fTransForLoodsman после ObjType = GetPropValue(Obj, C_TYPE) добавить

if (ansisametext(ObjType, "" )) then
    SetPropValue Obj,"Техоперация"
End If

ElRi

Добавил, только мне он сказал что ошибка, несоответствие типа в строке

if (ansisametext(ObjType, "" )) then

после я заменил ее на if StrComp (ObjType, "", 1) = 1 then, я так понял из транслятора, это означает сравнить две строки и если исли = 1 (истина), то условие выполнено. Только не ясно зачем там после двух параметров ставить еще цифру 1. На эту строку ругаться перестало, зато начало на следующую.

SetPropValue Obj,"Техоперация"

Опять говорит, что несоответствие типа. Экспериментирую дальше...

AI

 В начале транслятора вставьте 2 функции

' задать значение свойства
SUB SetPropValue(cmObj, stName, stValue)
Dim cmProp
    Set cmProp = cmObj.FindProp(stName)
    if cmProp is nothing then
      Set cmProp = cmObj.AddProp(stName, stValue)
    else
      cmProp.Value = stValue
    End If
end sub

' сравнение строк
Function AnsiSameText (str1, str2)
  if ( StrComp(str1, str2, vbTextCompare) = 0) then
        AnsiSameText = true
  else
        AnsiSameText = false
  end if
end Function

ElRi

Добавил строки, теперь получаю ошибку о неверном числе аргументов.
Параметр cmObj означает имя объекта, так? stName это что такое? Имя поля объекта? stValue это значение, которое надо записать в объект?

пытался писать
SetPropValue Obj,C_TYPE,"Техоперация"

говорит ошибка, требуется объект cmObj. Что не так в этот раз?

AI

Да, C_TYPE пропустил

у меня такая конструкция работает нормально

if (ansisametext(ObjType, "" )) then
    SetPropValue Obj, C_TYPE, "Техоперация"
End If

ElRi

Большое спасибо :) Вопрос решен  :)

AI

Файл транслятора

Yudeos

Поставили Лоцман и Вертикаль, а данные с Вертикали передать в Лоцман не удается. В лоцман-технологе дерево изделия не открывается, создавать ни чего не дает. Из Демо-Машиностроения открывает архивы в Вертикали, а обратно ни как. Как их правильно интегрировать? Говорят, что все должно автоматически получаться :%:

hatmaster

2 Yudeos
Прочитатйе Руководства по установке ЛОЦМАНА и ВЕРТИКАЛИ, проверьте пошагово все настройки. Особенно обратите внимание на настройки DCOM. В папке %ProgramFiles%\Ascon\Vertical 3.0\doc есть файл Дополнительные настройки ЛОЦМАН-Технолог для ВЕРТИКАЛЬ 3.0 и ЛОЦМАН 9.0.pdf.