| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Auf dem Weg zur digitalen Auftragsmappe. (Phoenix/PDM,SOLIDWORKS,PDM System,PLM,PLM System), ein Anwenderbericht
|
Autor
|
Thema: Aktualisieren von CHANGE_USER und CHANGE_DATE (494 mal gelesen)
|
Shadow01 Mitglied Anwendungsprogrammierer
Beiträge: 87 Registriert: 24.01.2004 COMPASS Liebhaber. COMPASS Entwickler. 1x Windows 2000 Server, SQL 2000 1x Windows 2003 Server, SQL 2005 RC2 25x Windows XP Clients, Office 2003, AIP9, SolidWorks2004/5 (aktueller SP), Cadenas COMPASS 2000 pro 5.4.x.x mit Webserver, ACM, Replicator, Jobserver
|
erstellt am: 05. Jan. 2005 09:28 <-- editieren / zitieren --> Unities abgeben:
Hallo COMPASS User, ist eigentlich ausser mir sonst noch jemandem aufgefallen, dass bei einem kopierten Konstruktionsdokument die Einträge bei Geändert durch und Geändert am nicht aktualisiert werden. Szenario: Ich kopiere ein Konstruktionsdokument. Danach bearbeite ich es. Nach dem Speichern stehen immer noch die alten Einträge in den Feldern Geändert durch - am. Es gibt zwar das Attribut UpdateUserDateAndNameOnOpen, wenn das auf TRUE (muss groß geschrieben werden, da keine Konvertierung in Großbuchstaben bei der Überprüfung stattfindet) steht werden die Felder geändert. ABER!!! nicht nur beim Ändern, sondern bei jedem Öffnen des Dokuments. DAS KANN JA WOHL NICHT WAHR SEIN!. Das wiederspricht jeder ISO Zertifizierung und jeder normalen Arbeitsweise! Weis jemand wann hier ein offizieller Patch kommt??? Denn inoffiziellen habe ich schon selbst geschrieben. Trotzdem sowas darf nicht durch die Qualitätskontrolle! Jetzt geht's mir besser... Trotzdem noch COMPASS Liebhaber. ------------------ Angenehmen Tag noch... ;-) Shadow01 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 05. Jan. 2005 11:04 <-- editieren / zitieren --> Unities abgeben: Nur für Shadow01
Hallo Shadow01, bei kopierten dokumenten passiert das auch bei uns, aber sobald eine Freigabe dieser neuen dokumente erfolgt wird der richtige Namen/Datum eingetragen. AIS8/Compass3.3 Gruß Seher Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shadow01 Mitglied Anwendungsprogrammierer
Beiträge: 87 Registriert: 24.01.2004 COMPASS Liebhaber. COMPASS Entwickler. 1x Windows 2000 Server, SQL 2000 1x Windows 2003 Server, SQL 2005 RC2 25x Windows XP Clients, Office 2003, AIP9, SolidWorks2004/5 (aktueller SP), Cadenas COMPASS 2000 pro 5.4.x.x mit Webserver, ACM, Replicator, Jobserver
|
erstellt am: 05. Jan. 2005 11:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Seher, das ist aber der Name des Freigebenden. Die Änderungen dazwischen werden nicht berücksichtigt. Nehmen wir mal an, Du Konstruierts etwas, änderst die Konstruktion, ... usw. Deine Konstruktion wird nun von einem Anderen ergänzt. Hier wird jetzt kein Update der Einträge vorgenommen! Wenn jetzt eine Ableitung der Konstruktion z.B. zum Modellbau wandert steht Dein Name auf der Zeichnung bei Geändert durch, obwohl die letzte Änderung gar nicht von Dir kommt. Der Modellbauer sieht jetzt die Zeichnung und sagt sich 'So ein D??p, was hat der denn konstruiert... Da geh' ich gleich mal hin!' Der steht also bei Dir auf der Matte beschwert sich bei Dir, obwohl die bemängelte Änderung unter Umständen von Deinem Kollegen kommt. Das ist so schon passiert. Kroteskt wird das dann, wenn einer Deine Konstruktion als Kopie verwendet... Ich habe aber wie gesagt schon eine Lösung programmiert. Ich habe auch schon gehört, dass die selbe Lösung schon bei einem anderen Händler genau gleich programmiert wurde und an COMPASS systems geschickt wurde. Hier drängt sich aber die Frage auf, warum die getestete Lösung nicht schon als Hotfix verfügbar ist, da es sich meiner Meinung nach um einen schwerwiegenden Fehler handelt, da die Nachvollziehbarkeit von Änderungen nicht gewährleistet ist und damit nicht in einen zertifizierten Arbeitsablauf eingebunden werden kann. Anbei die Lösung des Ganzen als ZIP. ------------------ Angenehmen Tag noch... ;-) Shadow01 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 05. Jan. 2005 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Shadow01
Hallo Shadow01, ja, ist mir auch schon vor langem aufgefallen, dass Compass mit dem Befüllen der Datumswerte etwas sonderbare Wege geht bzw. ist die eine oder andere Logik nicht unbedingt sofort nachvollziehbar. Grundsätzlich ist zu sagen, dass beim SPEICHERN DER DATEI selbst Compass NIEmals irgendein Feld befüllt, weil es sich hier um ein nicht behandeltes Ereignis handelt. Diverse andere Ereignisse, die innerhalb von Compass stattfinden, werden sehr wohl abgefangen. Die eigentliche Kunst besteht darin, herauszufinden, welche Aktion welches Feld aktualisiert. Ich hab mir vor einiger Zeit mal die Mühe gemacht, so die wichtigsten Felder aus der Programmierung rauszulesen, das Ergebnis findest in der angehängten Textdatei. Ist nicht mehr ganz aktuell, hat sich aber nicht viel getan, so viel ich weiß. Was nun das Problem betrifft, dass der falsche Konstrukteur zur Verantwortung gezogen wird, da hilft glaube ich nur eins: vermerht die Statusverwaltung einsetzen (ob's damit vollständig erschlagen wird, weiß nich jetzt eigentlich auch nicht genau, wäre nochmal zu testen), weil nämlich beim in Änderung nehmen und wieder freigeben die Felder in der HISTORIE des Dokuments aktualisiert werden (und nicht mehr beim Dokument-Datenblatt selbst). Wir lösen das dann meist so, dass wir die Werte der Historie auf das Schriftfeld draufdrucken. Diese suchen wir uns über eine gespeicherte SQL-Prozedur, die wir über die entsprechende INI dann aufrufen. Ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! [Diese Nachricht wurde von WolfgangE am 11. Jan. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shadow01 Mitglied Anwendungsprogrammierer
Beiträge: 87 Registriert: 24.01.2004 COMPASS Liebhaber. COMPASS Entwickler. 1x Windows 2000 Server, SQL 2000 1x Windows 2003 Server, SQL 2005 RC2 25x Windows XP Clients, Office 2003, AIP9, SolidWorks2004/5 (aktueller SP), Cadenas COMPASS 2000 pro 5.4.x.x mit Webserver, ACM, Replicator, Jobserver
|
erstellt am: 05. Jan. 2005 13:47 <-- editieren / zitieren --> Unities abgeben:
Hallo WolfgangE, grundsätzlich hast Du recht, wenn Du sagst, dass das Speichern ausserhalb von Compass stattfindet. Trotzdem haben die Entwickler eine dbq-Routine implementiert, die beim Speichern von Inventor Dokumenten aufgerufen wird. Diese habe ich entsprechend erweitert und schon geht das Ganze. Das ist in dem Fall eine Frage der Integrationstiefe der Anwendung in Compass. Da aber gerade die Integration von Inventor, Autocad, ... so hervorgehoben wird verstehe ich nicht, warum bei COMPASS systems niemand in der Lage ist die paar Zeilen in die Routine einzufügen, die ich hier gepostet habe. Ich kann mir auch nicht vorstellen, dass das Ganze bei COMPASS systems niemandem aufgefallen ist. Noch unverständlicher ist, dass wenn COMPASS systems diese Anpassung schon zugeschickt bekommen hat (und das ist definitiv so), warum die nicht in den letzten Hotfix mit eingearbeitet wurde. Da sollten die Jungs ein bisschen schneller sein, da im Grunde genommen die Tests von Kunden schon erfolgreich durchgeführt wurden und die Routine so eigentlich schnell durch die Qualitäts Kontrolle gehen sollte. ------------------ Angenehmen Tag noch... ;-) Shadow01 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Uwe H. Stapelfeldt Mitglied Dipl.-Informatiker
Beiträge: 135 Registriert: 09.10.2001
|
erstellt am: 11. Jan. 2005 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für Shadow01
Hallo Shadow01, leider ist es mit einem Hotfix hier nicht so einfach, wie es auf den ersten Blick scheint. Wie man auch der Aufstellung von WolfgangE entnehmen kann, werden die Felder CHANGE_USER und CHANGE_DATE von COMPASS dazu verwendet, eine Datenbankänderung (nicht die Änderungen am Dokument) zu protokollieren. So werden diese Felder dann auch bei jedem Statuswechsel aktualisiert. Das passt einfach nicht mit der Anforderung, die Änderungen am Dokument zu protokollieren, zusammen. ------------------ Freundliche Grüße aus Karlsfeld Uwe H. Stapelfeldt COMPASS systems GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shadow01 Mitglied Anwendungsprogrammierer
Beiträge: 87 Registriert: 24.01.2004 COMPASS Liebhaber. COMPASS Entwickler. 1x Windows 2000 Server, SQL 2000 1x Windows 2003 Server, SQL 2005 RC2 25x Windows XP Clients, Office 2003, AIP9, SolidWorks2004/5 (aktueller SP), Cadenas COMPASS 2000 pro 5.4.x.x mit Webserver, ACM, Replicator, Jobserver
|
erstellt am: 11. Jan. 2005 21:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Uwe H. Stapelfeldt, ich sehe das Ganze aus der Konstruktionsseite. Beide Felder werden normalerweise in den Schriftkopf in den Schriftkopf bei Geändert durch/am übertragen. Den Konstrukteur und den der die Teile fertigt interessiert hier eine Änderung des Datensatzes wenig, sondern eine Änderung des Dokuments. Vor allem, da die Änderungen ja im Status 'In Arbeit' durchgeführt werden. Da wird kein Statuswechsel durchgeführt bis die Konstruktion fertig/zum Prüfen ist. Bei einer Freigabe werden aber dann die Felder 'Geprüft durch' und 'Geprüft am' gefüllt die sich auf ganz andere Datenbankfelder beziehen. Was für Änderungen am Datensatz sollen also protokolliert werden? Bei einem Statuswechsel nach 'zum Prüfen' passiert erst mal nichts... Beim Statuswechsel nach 'Freigegeben' werden andere Felder gefüllt... Wenn ein Datenbankfeld geändert wird ändert sich auch nichts... Wirklich sinnvoll, und auch von den Konstrukteuren und Konstruktionsleitern die ich kenne sind die CHANGE_USER und CHANGE_DATE Felder also nur zum Protokollieren von Änderungen am Dokument. Es ist aber Grundsätzlich positiv zu erwähnen, das sich auch jemand vom Hersteller mal zu Wort meldet. ;-) ------------------ Angenehmen Tag noch... ;-) Shadow01 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 12. Jan. 2005 08:58 <-- editieren / zitieren --> Unities abgeben: Nur für Shadow01
Hallo Shadow, mal unabhängig jetzt davon wie es sein sollte, was sinnvoll ist etc. ... Mir persönlich hat die Erfahrung gezeigt, dass man sich auf diesem Bereich nicht auf 1 Feld versteifen kann, da macht Compass nicht mit. Gerade wenn es um's Schriftfeld geht kann ich daher nur empfehlen, über eine Datenbank-Prozedur sich eine Abfrage zusammen zu basteln, die kreuz und quer durch die Datenbank rast und die nötigen Werte rausholt. Falls nötig, auch das haben wir schon auf Wunsch des Kunden gemacht, muss einfach ein weiteres editierbares Datumsfeld zur Verfügung gestellt werden, wo ein bestimmter Vorgang protokolliert wird. Oder wenn man's noch weiter spinnt, kann man sich allerhand dazu programmieren und/oder neue Stati einbauen, um den ganzen Ablauf noch zu verfeiern (wir hatten/haben da eine Anforderung, die aufgrund diverser Bestimmungen jedes kleinste Detail protokolliert haben müssen). Ciao, WolfgangE
------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|