| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | SMW-Autoblok baut in der Konstruktion auf SolidWorks und Phoenix/PDM , ein Anwenderbericht
|
Autor
|
Thema: Nachträgliches Ändern von Feldern (2030 mal gelesen)
|
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist

 Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 04. Aug. 2009 13:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, gibt es die Möglichkeit, ein Datenbankfeld so einzustellen, das es auch nach der Zeichnungsfreigabe noch geändert werden kann? Im Normalfall sind ja alle Felder gesperrt. Es soll, ein Kommentar hinzugefügt werden, nachdem die Zeichnungen Freigegeben wurden. ------------------ Gruß, Gandhi Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. CAD-RPG - Anleitungen IVNGWC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blacky1985 Mitglied Application Engineer
 
 Beiträge: 348 Registriert: 16.04.2008 PSP 2008 SP1 PSP 2009 SP1 PSP 2010 AIP 2008 SP3 AIP 2009 SP2 AIP 2010
|
erstellt am: 04. Aug. 2009 14:22 <-- editieren / zitieren --> Unities abgeben:          Nur für muellc
Hallo, ja das wäre rein theoretisch Möglich und Realisierbar. In der DB sind ja eigentlich alle Felder frei über SQL zugänglich. Man kann hier z.B. mit einem Code: ___XdwCmd
Mit diesem Befehl lassen sich sämmtliche SQL-Statements auf der Datenbank ausführen. Dies könnte man dann je nach gebrauch einfach in eine Menüfunktion einbauen, so dass der Benutzer einen freien Text eingeben kann und dieser anschließend in der SQL Datenbank von PSP entsprechend übernommen wird. Im Gegensatz zum Code: ___ChangeField
funktioniert dies dann auch für alle Benutzer bei einem Freigegeben Dokument.Bei weiteren Fragen einfach nachfragen nochmals ;) ... Hoffe ich konnte dir damit weiter helfen. P:S: Vielleicht sollte man auch in die Funktion dann eine Code: ___CmpUtility
mit übernehmen, damit die PSP sicht automatisch nach dem ändern des Wertes einmal aktualisiert wird.------------------ Bei einem sinnvollen Posting würde man sich über entsprechende Honorierung in Form von einer kleinen Ü-Spende sehr freuen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist

 Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 05. Aug. 2009 07:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo Blacky, danke für deine schnelle Antwort. Ich muss dazu sagen, das ich nur gelegendlich veränderungen in Compass vornehme und daher wenig bis gar keine erfahrung mit Shell oder SQL befehlen habe. Ich möchte diesen Befehl fest ins Compass menue Integrieren. Einen Menüpunkt anlegen bekomme ich auch noch hin. Kannst du mir vielleicht erklären, wie der Befehl aussehen müsste, damit beim Ausführen ein Feld (z.B. CUSTOM_3_NAME) mit einem Text gefüllt wird. (entweder Benutzereingabe oder vordefiniert, was immer einfacher ist) besten Dank schonmal im voraus. ------------------ Gruß, Gandhi Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. CAD-RPG - Anleitungen IVNGWC [Diese Nachricht wurde von muellc am 05. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blacky1985 Mitglied Application Engineer
 
 Beiträge: 348 Registriert: 16.04.2008 PSP 2008 SP1 PSP 2009 SP1 PSP 2010 AIP 2008 SP3 AIP 2009 SP2 AIP 2010
|
erstellt am: 05. Aug. 2009 13:59 <-- editieren / zitieren --> Unities abgeben:          Nur für muellc
Hallo Ich würde empfehlen eine komplette kleine Funktion dafür zu schreiben, und diese dann einfach dem neuen Menüpunkt zuordnen. Als Kontext würde ich hier den aktuellen markieren Eintrag eimmer herbei zeiehn. Das ganze würde dann vom Ablauf her etwa wie folgt aussehen: Code:
/* Variable zu Beginn leeren sicherheitshalber */ ___Environment(MyVar=);/* Nachrichtenfenster mit dem Text 'Bitte den Wert eingeben:' anzeigen und den eingegeben Wert in die Variable MyVar schreiben */ ___Shell(read(MyVar)Bitte den Wert eingeben:); /* AIMKEY und Kontext des aktuellen markiereten Eintrages benutzen um das Feld 'CUSTOM_3_NAME' mit dem Wert aus der Variablen 'MyVar' zu belegen und per UPDATE-Statement in die SQL Datenbank übermitteln */ ___Shell(___XdwCmd ( "update #(DBI:DBVIEW) set CUSTOM_3_NAME='$(MyVar)' where AIMKEY=#(AIMKEY)" )); /* Variable am Ende leeren sicherheitshalber */ ___Environment(MyVar=); /* PSP Ansichtsfenster aktualisieren */ ___Shell(___DbUtils Sync All);
Das ganze ist jetzt aber ohne gewähr und sollte vorher entsprechend auch getestet werden bevor es in ein Wirksystem einfließt ------------------ Bei einem sinnvollen Posting würde man sich über entsprechende Honorierung in Form von einer kleinen Ü-Spende sehr freuen... [Diese Nachricht wurde von blacky1985 am 05. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist

 Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 05. Aug. 2009 15:08 <-- editieren / zitieren --> Unities abgeben:         
Also die Antwort war bisher schon 50 U's wert aber trotzdembin ich verwirrt. Da ich ja wie schon gesagt von SQL keinen Plan hab mache ich das ganze in der MNU Datei. Eintrag wie folgt Zitat:
Info_30=Test Type_30=COMMAND Func_30=___Shell Arg__30=___Shell(read(MyVar)Bitte den Wert eingeben:); ___Shell(___XdwCmd ( "update #(DBI:DBVIEW) set CUSTOM_3_NAME='$(MyVar)' where AIMKEY=#(AIMKEY)" )); ___Shell(___DbUtils Sync All);
Funktioniert auch, aber irgendwie nicht wie gewünscht.  Wenn ich die Funktion das erste mal Ausführe, ändert sich gar nix. Wenn ich sie ein zweites mal eingebe, wird der Wert vom ersten mal eingetragen. Beim dritten mal der Wert vom zweiten mal usw. Lasse ich MyVar vorher leeren, trägt er gar nichts ein.  Wo liegt mein fehler? [EDIT] Wenn ich die Variable vorher ausfülle, also als einzelnen Befehl, dann klappt es. Gibt es auch die Möglichkeit, diesen Wert auf mehrere Dokumente gleichzeitig zu übertragen? [/EDIT] [Diese Nachricht wurde von muellc am 05. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
T to the F Mitglied
 
 Beiträge: 398 Registriert: 06.06.2007 Win 7 x64 SP1 PrDS 2012 Ultimate Vault Pro 2012 i7 M640 8 GB Quadro FX 1800M
|
erstellt am: 05. Aug. 2009 15:27 <-- editieren / zitieren --> Unities abgeben:          Nur für muellc
Warum kompliziert, wenns auch einfach geht.... Es gibt einen Status namens QuickFix. Dieser Status kann in der Freigabe zu QuickFix gewechselt werden und wieder zur Freigabe zurückgegeben werden, ohne eine Revision zu Erzeugen. Um den Status zu aktivieren muss man: In der Konfig (unter dem Usermit dem du das machen willst ab und zu) AIM.DOC.ENG und den "StatusQuickFixEnable" auf 1 gesetzt werden. In dem Serververzeichnis \dbp die groupdef.cop so abändern das unter isMemberofQuickFixReleaseGroup und isMemberofQuickFixGroup der User steht (oder Usergroup) Dann musst du die .cop kompilieren und ins \etc verzeichnis werfen. FERTIG!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schirmer Mitglied
 Beiträge: 5 Registriert: 21.04.2008
|
erstellt am: 14. Dez. 2009 14:18 <-- editieren / zitieren --> Unities abgeben:          Nur für muellc
|
T to the F Mitglied
 
 Beiträge: 398 Registriert: 06.06.2007 Win 7 x64 SP1 PrDS 2012 Ultimate Vault Pro 2012 i7 M640 8 GB Quadro FX 1800M
|
erstellt am: 14. Dez. 2009 16:45 <-- editieren / zitieren --> Unities abgeben:          Nur für muellc
Oha... Keinerlei Programmierkenntnisse sind natürlich sehr schlecht... Am besten du schickst mir ne pm mit der .cop datei und sagst mir darin, welche Gruppen in den Quickfix ändern dürfen. Ich mach dir dann das schnell (wenn du möchtest) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |