Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  ENOVIA SmarTeam
  script

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  script (2679 mal gelesen)
s.martim
Mitglied



Sehen Sie sich das Profil von s.martim an!   Senden Sie eine Private Message an s.martim  Schreiben Sie einen Gästebucheintrag für s.martim

Beiträge: 10
Registriert: 08.04.2004

erstellt am: 23. Jul. 2004 09:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo!

ich möchte per script werte in smarteam auslesen und neu schreiben.

Als Beispiel:
'cn_bearbeiter2' soll den wert von 'cn_bearbeiter1' annehmen.
'cn_bearbeiter1' soll "geleert" werden.

Hat vielleicht jemand zufällig ein script dieser art oder kann mir jemand sagen, wie ich das aktuelle Objekt in SmarTeam abgreife und Attribute zuweise etc... ?

Vielen Dank im Voraus.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianS
Moderator
Leiter Kundenbetreuung


Sehen Sie sich das Profil von ChristianS an!   Senden Sie eine Private Message an ChristianS  Schreiben Sie einen Gästebucheintrag für ChristianS

Beiträge: 635
Registriert: 27.09.2000

erstellt am: 23. Jul. 2004 15:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.martim 10 Unities + Antwort hilfreich

Hi,

probiers mal damit :

Dieses Skript wird als benutzerdefinierte Funktion eingebunden. Wenn es im Event laufen soll, dann ändere es einfach ab und benutze nicht das SmObject sondern den Bereich mit dem thirdrec.

Gruß
Christian

Declare Sub CONV_RecListToComRecordList Lib "Smtdm32" (ByVal RecList As Long,ByRef COMRecList As ISmRecordList)
Declare Sub CONV_ComRecListToRecordList Lib "SmTdm32" (ByVal COMRecList As ISmRecordList,ByRef REcList As Long)

Function SetValues(ApplHndl As Long,Sstr As String,FirstPar As Long,SecondPar As Long,ThirdPar As Long ) As Integer
  Dim SmSession As ISmSession
  Dim FirstRec  As Object
  Dim SecondRec As Object
  Dim ThirdRec  As Object

  'Script specific variables
  Dim SmObject  As ISmObject
 
  'Error handling
  On Error GoTo AssignErrorCode

'================================Converting procedural script arguments into COM ones===============================

    'Converting ApplHndl to SmSession
    Set SmSession = SCREXT_ObjectForInterface(ApplHndl)

    'Converting three record lists into COM SmRecordList objects (remove those that you don't need)
    CONV_RecListToComRecordList FirstPar,FirstRec
    CONV_RecListToComRecordList SecondPar,SecondRec
    CONV_RecListToComRecordList ThirdPar,ThirdRec


'================================            Script Body - Write your code here   ===============================
  For i = 0 To FirstRec.Recordcount -1
    Set SmObject = SmSession.ObjectStore.ObjectFromData(FirstRec.GetRecord(i),True)
    SmObject.Retrieve
    smobject.data.value("cn_bearbeiter2") =  smobject.data.value("cn_bearbeiter1")
    smobject.data.value("cn_bearbeiter1")=""
    smobject.update
    Next i

  '***********************************************************************************
  ' Alternativ kann man auch über den Thirdrec gehen, wenn es in einem Event passieren soll
  ' Thirdrec.addheader "cn_bearbeiter1", 255, TDMT_CHAR
  ' Thirdrec.addheader "cn_bearbeiter2", 255, TDMT_CHAR
  ' For i = 0 To FirstRec.Recordcount -1
  '  Thirdrec.value("cn_bearbeiter2",i) = firstrec.value("cn_bearbeiter1",i)
  '  Thirdrec.value("cn_bearbeiter1",i) = ""
  ' Next i
  '================================            Script Body - end your code here   ===============================
  ' CONV_ComRecListToRecordList ThirdRec,ThirdPar
  '**********************************************************************************

    SetValues = ERR_NONE

    Exit Function
  AssignErrorCode :
MsgBox "Error Detected in Function:  SetValues" & ebcrlf & _
  "Error Details:" & ebcrlf & _
  Err.Description & ebcrlf ,EbExclamation,"Error Detected"
      SetValues = ERR_GEN
End Function

[Diese Nachricht wurde von ChristianS am 23. Jul. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

s.martim
Mitglied



Sehen Sie sich das Profil von s.martim an!   Senden Sie eine Private Message an s.martim  Schreiben Sie einen Gästebucheintrag für s.martim

Beiträge: 10
Registriert: 08.04.2004

erstellt am: 23. Jul. 2004 16:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

tausend dank, du bist mein held!

teste die infos gleich mal aus und melde mich später nochmal ...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

s.martim
Mitglied



Sehen Sie sich das Profil von s.martim an!   Senden Sie eine Private Message an s.martim  Schreiben Sie einen Gästebucheintrag für s.martim

Beiträge: 10
Registriert: 08.04.2004

erstellt am: 26. Jul. 2004 10:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo!

Wenn ich das script einbinde kommt folgende Fehlermeldung:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error No: 02101
Interner Fehler. Methode 'SetupFromRecord' erfordert Attribut 'OBJECT_ID' im Eingabe-Datensatz.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error Detected in Function: SetValues
Error Details: SmarTeam Error (1). General error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Kann jemand mit dieser Meldung mehr anfangen als ich?

Danke im Voraus.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianS
Moderator
Leiter Kundenbetreuung


Sehen Sie sich das Profil von ChristianS an!   Senden Sie eine Private Message an ChristianS  Schreiben Sie einen Gästebucheintrag für ChristianS

Beiträge: 635
Registriert: 27.09.2000

erstellt am: 26. Jul. 2004 13:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.martim 10 Unities + Antwort hilfreich

Hi,

leider geht im Moment der Punkt 'Antwort erstellen nicht'. Deswegen kurz als PM.
Werde es nacher aber noch ins Forum schreiben.

Wie hast Du das Script denn eingebunden ?
Ist es in einem Event oder als Benutzerdefinierter Befehl ?
Wenn Du es z.B. in dem 'Before ADD' Event reingehängt hast, dann gibt es noch keine Object ID. Dann mußt Du über den Firstrec und thirdrec gehen.
Hängt es als Benutzerdefinierter Befehl drin, kann die Meldung bei bestimmten Ansichten von SMARTEAM kommen. Z.B. Wenn Du im 'Link' bereich eines Objectes die Funktion 'Separate Ansicht' gewählt hast, dann fehlen die Object_Id's (ist Fehler in ST).

Gruß
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

s.martim
Mitglied



Sehen Sie sich das Profil von s.martim an!   Senden Sie eine Private Message an s.martim  Schreiben Sie einen Gästebucheintrag für s.martim

Beiträge: 10
Registriert: 08.04.2004

erstellt am: 26. Jul. 2004 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich habe das script auf einen button gelegt, der sich auf dem CATIA-Drawing Formular auf einer neu erstellten Reiterkarte befindet; folglich muss ich wohl nicht über den firstrec und thirdrec gehen, oder sehe ich das falsch?

...besagte Ansicht ist nicht ausgewählt.

danke für deine hilfe.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianS
Moderator
Leiter Kundenbetreuung


Sehen Sie sich das Profil von ChristianS an!   Senden Sie eine Private Message an ChristianS  Schreiben Sie einen Gästebucheintrag für ChristianS

Beiträge: 635
Registriert: 27.09.2000

erstellt am: 26. Jul. 2004 15:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.martim 10 Unities + Antwort hilfreich

Hi,

ist das Dokument schon gespeichert oder bist Du noch im 'Add' vorm 'OK'.
Wenn Du noch im Eintragsmodus bist, dann gets über second- und thirdrec.
Bei einer offenen Registerkarte findest Du in der Regel im firstrec die Daten des offenen Tabs. In dem Secondrec befinden sich dann alle Header und Values aller Felder die auf den verschiedenen Tabs (z.B. General, Details, Revision etc.) sind.

Gruß
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianS
Moderator
Leiter Kundenbetreuung


Sehen Sie sich das Profil von ChristianS an!   Senden Sie eine Private Message an ChristianS  Schreiben Sie einen Gästebucheintrag für ChristianS

Beiträge: 635
Registriert: 27.09.2000

erstellt am: 27. Jul. 2004 09:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für s.martim 10 Unities + Antwort hilfreich

Hi,

mir ist noch etwas eingefallen.
Wenn Du eine Profilkarte in der normalen Ansicht hast, z.B. nach dem Hinzufügen oder Suchen, dann gab (gibt?) es da mal einen Fehler, dass ein Button auf der Profilkarte nicht die ObjectID usw. liefert.

Probiers einfach mal mit einem Icon aus.
Wenn Deine Funktion im Kontextmenü oder in einer Iconleiste liegt sollte es funktionieren.

Gruß
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

s.martim
Mitglied



Sehen Sie sich das Profil von s.martim an!   Senden Sie eine Private Message an s.martim  Schreiben Sie einen Gästebucheintrag für s.martim

Beiträge: 10
Registriert: 08.04.2004

erstellt am: 30. Jul. 2004 13:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von ChristianS:

Probiers einfach mal mit einem Icon aus.
Wenn Deine Funktion im Kontextmenü oder in einer Iconleiste liegt sollte es funktionieren.


DANKE, genau daran lag es. Habe das Script nun in der Menüleiste als ICON angelegt und nun funktioniert es.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz