| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Prüfen ob Datei ausgecheckt ist (3182 / mal gelesen)
|
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 21. Feb. 2017 14:46 <-- editieren / zitieren --> Unities abgeben:
Wie kann ich prüfen ob ein Inventor Dokument ausgecheckt ist? Geht das über den Dateistatus? Ich möchte bevor ich an einer Datei etwas änder abfragen ob die Datei ausgecheckt ist. Soll später auch für ein ganze Baugruppe gemacht werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 172 Registriert: 16.01.2014
|
erstellt am: 21. Feb. 2017 14:53 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
|
bkrüger Mitglied Konstrukteur
Beiträge: 51 Registriert: 14.09.2014 Win10 IV2018 Vault2018-WG
|
erstellt am: 21. Feb. 2017 17:23 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo BernoAn, der Schreibschutz ist leider nicht 100% aussagekräftig, denn wenn der User die Frage "... Trotzdem bearbeiten, Änderungen werden nicht im Tresor gespeichert" mit Ja beantwortet, dann besteht kein Schreibschutz für diese Datei, obwohl sie nicht ausgecheckt ist (jedenfalls im 2017er Inventor und Vault, im 2014er ging das alles mal besser). Falls jemand einen Weg (in VBA) kennt, den Vault-Status einer Datei zweifelsfrei zu lesen, dann heraus damit! Gruß Boris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 21. Feb. 2017 18:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Berno, das habe ich bis jetzt auch so gemacht. Ich muss jetzt aber wegen einer neuen Richtlinie im Betrieb noch andere Sachen mit prüfen, Bsp. verschiedene Properties; Dateinamen; Ablageort usw. Ich habe dazu schon ein kleine Makro geschrieben. Und wenn ich schon diese Sachen per Makro prüfe dann kann ich ja auch gleich prüfe ob die Datei ein oder ausgecheckt ist. Also wenn jemand weiss wie an den Status ran komme, bin für jeden Tipp dankbar. Ich suche jetzt schon ne ganze Weile hab aber nichts brauchbares gefunden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ruzy5624 Mitglied Konstruktionsleiter / staatl. gepr. Techniker
Beiträge: 280 Registriert: 01.07.2015 Product Design Suite 2018 Ultimate Visual Studio 2017 Windows 10 Pro Intel Xeon E3-1245 v5 @ 3,5GHz Nvidia Quadro M4000 8GB RAM 32GB 2x 24" Monitore FullHD SpaceMouse Pro
|
erstellt am: 22. Feb. 2017 12:34 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo, wir haben zwar keine Vault und deswegen bin ich mir auch nicht 100% sicher, ob das überhaupt geht. Zudem ist die Methode wahrscheinlich auch sehr unkonventionell. Link innerhalb des Forums In diesem Fall wollte mal jemand wissen, ob der Schwerpunkt eingeblendet oder ausgeblendet ist. In deinem Fall wäre es so, dass wenn die Komponente bereits ausgecheckt ist, die Schaltfläche für das Aushecken inaktiv sein müsste und umgekehrt. Somit könnte man einfach den Zustand der Schaltflächen abfragen. Vielleicht wäre ja da ein möglicher Ansatzpunkt, um zu überprüfen ob aus- oder eingechekt werden kann. ------------------ Mit Besten Grüßen Ruzy5624 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 22. Feb. 2017 17:43 <-- editieren / zitieren --> Unities abgeben:
|
bkrüger Mitglied Konstrukteur
Beiträge: 51 Registriert: 14.09.2014 Win10 IV2018 Vault2018-WG
|
erstellt am: 23. Feb. 2017 18:21 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo Ruzy5624, interessanter Tipp - (ich hatte schonmal ähnliches mit dem Lesen der Icons der Vault-Browser-Pane erfolglos versucht)... Auch wenn ich nicht unbedingt der Fan bin, Schaltflächenzustände "vom Monitor" ab- und auszulesen: Das Enable-Flag der Check-in-Schaltfläche heißt: Code: ThisApplication.ActiveDocument.EnvironmentManager.BaseEnvironment.Ribbon.RibbonTabs.Item("id_TabVault_Upgrade").RibbonPanels.Item("id_PanelZ_VaultStatusUpgrade").CommandContr ols.Item("VaultCheckinTop").ControlDefinition.Enabled
Das ist True, wenn Einchecken der Datei möglich ist - dazu muss sie entweder augecheckt, oder aber noch gar nicht im Vault vorhanden sein. Eine "richtige" Statusabfrage ist das natürlich nicht - wenigstens bekommt man mit, ob die Datei regulär (d.h. im Tresor abspeicherbar) beschreibbar ist. Voraussetzung ist natürlich, dass der User überhaupt in Vault eingeloggt ist (sonst ist .enable immer false) - das muss vorher ggf. getestet werden (Log-Out-Schaltfläche ist enabled). Anmerkung zum Lesen des Dateiattributs (wg. Schreibschutz erkennen): die Standard-VBA-Funktionen scheitern an Unicode. Gruß Boris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ruzy5624 Mitglied Konstruktionsleiter / staatl. gepr. Techniker
Beiträge: 280 Registriert: 01.07.2015 Product Design Suite 2018 Ultimate Visual Studio 2017 Windows 10 Pro Intel Xeon E3-1245 v5 @ 3,5GHz Nvidia Quadro M4000 8GB RAM 32GB 2x 24" Monitore FullHD SpaceMouse Pro
|
erstellt am: 23. Feb. 2017 20:02 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Da stimme ich dir voll und ganz zu, die Ideallösung ist das mit Sicherheit nicht. Gerade wie du schon sagst, kann es viele Gründe haben warum die Schaltfläche inaktiv ist. Die Gefahr hier falsche Rückschlüsse zu ziehen, aufgrund einer inaktiven Schaltfläche ist hier sehr groß. Soeben kam mir auch noch ein anderer Gedanke. Leider bin ich mir dabei nicht sicher, da ich wie gesagt leider ohne Vault arbeite. Aber es ist doch so, dass eingecheckte Dateien sich im Tresor befinden und ausgecheckte Dateien als lokale Kopie zum bearbeiten gespeichert werden. Wenn dem so wäre, dann könnte man auch die betreffenden Dateien abfragen, wo sie sich zur Zeit befinden. Entweder innerhalb des Tresors oder lokal außerhalb des Tresors. ------------------ Mit Besten Grüßen Ruzy5624 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bkrüger Mitglied Konstrukteur
Beiträge: 51 Registriert: 14.09.2014 Win10 IV2018 Vault2018-WG
|
erstellt am: 24. Feb. 2017 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Hallo Ruzy5624, wie gesagt, für die Variante mit den Schaltflächen habe ich nicht die größte Sympathie, einfach auch deshalb, weil sich manchmal Schaltflächen auch weg- und hin- und herkonfigurieren lassen. Wenn man es "richtig" machen will in dem Fall, müsste man zuerst mal in Ribbon... nachsehen, ob irgendwo .CommandControls.Item("VaultCheckinTop") überhaupt existiert (auch wegen 'Zukunftssicherheit' - soll ja auch in der nächsten Inventorversion funktionieren...). Meine angegebene Lösung sollte nur quick und dirty illustrieren, wo man die Schaltfläche(n) findet. Zu Vault: Jede Datei die im Vault ist, ist die ganze Zeit im Tresor. Das Arbeiten mit der Datei geschieht so, dass eine Kopie aus dem Tresor in den Arbeitsbereich der lokalen Platte des Users abgelegt wird. Dort ist sie ersteinmal schreibgeschützt - unabhängig vom Dateistatus. Für das Berabeiten einer Datei muss der User die Datei auschecken, bedeutet im Grunde dem Vault mitteilen, dass er die Datei bearbeitet - der Vaultserver sperrt diese Datei dann für andere Nutzer - d.h. denen ist dann das Auschecken nicht möglich. Im gleichen Zug wird der Schreibschutz auf der lokalen Platte aufgehoben. Leider ist es so, dass das Bearbeiten (d.h. die Entfernung des Schreibschutzes) auch unausgecheckt möglich ist - es kommt im Inventor eine Abfrage "Möchten sie die Datei bearbeiten, Änderungen können nicht im Tresor gespeichert werden." - wird die mit Ja beantwortet, wird der Schreibschutz aufgehoben - unabhängig vom Vault-Dateistatus. Das klingt zwar doof, ist aber im Inventor-Universum höchst hilfreich. Aber wie gesagt: Ärgerlich daran ist, dass man sich dann eben nicht mehr auf das Schreibschutzattribut der Datei verlassen kann. Noch blöder: beantwortet man die Frage mit "Nein", behindert man sich selbst (warum und wieso würde jetzt zu weit führen). Voraussetzung, eine Datei auszuchecken, ist der Dateistatus, der auf "Bearbeiten" stehen muss (Andere sind freigegeben/veraltet/zum Überprüfen/schnelle Änderung). Der Dateistatus wird im Vault verwaltet, der User kann den nur ändern wenn er entsprechende Rechte hat. Eine Datei kommt aber erst ins Vault, wenn sie eingecheckt wird - eine vom User angelegte Datei existiert also zuerst auf dessen Arbeitsplatte, bevor sie durch den Eincheckvorgang ins Vault kommt. Der Eincheckvorgang ist nicht zwingend. Bei diesen Dateien ist die Eincheck-Schaltfläche also auch aktiv, obwohl sie genaugenommen nicht ausgecheckt sind... Wahrscheinlich kann man dazu Vault fragen (von VBA aus), ob die Datei im Vault ist - damit habe ich mich aber noch nicht befasst, weil für mich kein aktuelles Problem. Bastlerlösung: im hidden _V - Verzeichnis steht für jede Datei, die im Vault ist, eine Textdatei, deren Name aus dem Originalnamen mit angehängten .v besteht - ist aber alles eher unsicher. Nachsatz: das Verhalten von Vault/Inventor hat auch immer mit der aktuellen Konfiguration aller Beteiligten plus dem Rechten des jeweiligen Nutzers (und ob er überhaupt in Vault eingeloggt ist) zu tun. Das machts nicht einfacher. Jedenfalls wenn man an einigermassen sicheren Lösungen interessiert ist. Gruß Boris
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 24. Feb. 2017 13:00 <-- editieren / zitieren --> Unities abgeben:
|
Thunja Mitglied Projektleiterin / techn. Redakteurin
Beiträge: 41 Registriert: 22.08.2017 Inventor 2020 / VBA
|
erstellt am: 18. Jan. 2021 14:32 <-- editieren / zitieren --> Unities abgeben: Nur für Volker E
Ich habe grad mit nem Autodesk Experten wegen dem Schreibschutz geschrieben, da ich auch eine Prüfbedingung für "Datei ausgecheckt" brauchte. Seine Aussage war, dass der Schreibschutz bestehen bleibt, es sei denn, der User hebt ihn manuell über Windows auf. Den Schreibschutz kann man über die Eigenschaft "vbReadOnly" abfragen. Dass der User das BT ändern kann, weil er im Dialog zustimmt, ändert nichts an der Eigenschaft Schreibschutz (vbReadOnly). Die dazugehörige Eigenschaft heißt "IsModifiable". Diese wird bei Zustimmung auf "True" gestellt. Und am Ende wird der User gefragt, wo er die Kopie speichern will. ------------------ Grüße, Thunja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |