Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Autodesk Productstream Professional
  Schreibschutz auf Feld

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
  
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. , ein Anwenderbericht
Autor Thema:  Schreibschutz auf Feld (773 mal gelesen)
Gerd.A
Mitglied
Application Engineer


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

Beiträge: 615
Registriert: 10.06.2003

Compass/PSP alle Versionen Office/Easy/Pro JobServer, Webserver SQL2000/SQL 2005/SQL2008 /R2 /SQL 2012 Vault4-heute alle Versionen Dell M4700 w7-64bit

erstellt am: 30. Aug. 2005 17: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

Hallo Forum

Ich möchte beim Ändern eines Datensatzes das das Feld Short_Desc nicht geändert werden kann.
So wie es mit Ident oder Filetype gehändelt wird.
Ich hab schon alles durchforstet und find nichts was mir auf die Sprünge hilft.
Hat jemand von euch eine Idee ???


------------------
Gruß Gerd 

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

WolfgangE
Mitglied



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

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 30. Aug. 2005 18: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 Gerd.A 10 Unities + Antwort hilfreich

Hallo Gerd,

das musst per Programmierung lösen, ist beim IDENT zB. auch so gelöst.
So bald ein Feld in Compass bearbeitet wird, wird nach einer DBQ-Prozedur mit dem Namen OnUpdate_Feldname gesucht. In dieser kannst du einen return-Wert angeben, der das Update des Felds verhindert.

Weiß lieder nicht mehr, wie das genau ausgesehn hat, kann ja auch nicht mehr nachschlagen. Sieh einfach mal in den mitgelieferten DBP-Dateien nach. Kannt auch den Trace einschalten, versuchen das Feld IDENT zu akutalisien, dann findest gleich den Prozedurnamen. Den dann in den DBPs suchen, dann hast eine schöne Vorlage.

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

Gerd.A
Mitglied
Application Engineer


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

Beiträge: 615
Registriert: 10.06.2003

Compass/PSP alle Versionen Office/Easy/Pro JobServer, Webserver SQL2000/SQL 2005/SQL2008 /R2 /SQL 2012 Vault4-heute alle Versionen Dell M4700 w7-64bit

erstellt am: 31. Aug. 2005 12:01    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 Wolfgang

Danke für deine Antwort.
Eigentlich möcht ich das ja genauso haben wie beim Ident, das es beim ändern direkt ausgegraut wird und gar nicht mehr zum bearbeiten möglich ist.
Ich meine auch die richtige Prozedur ( PreUpdateField_IDENT )gefunden zu haben, aber ich find nicht den Punkt wo diese aufgerufen wird.
     

------------------
Gruß Gerd 

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

WolfgangE
Mitglied



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

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 31. Aug. 2005 12:42    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 Gerd.A 10 Unities + Antwort hilfreich

Hallo Gerd,

mit dem Prozedurnamen bist richtig, ist natürlich die PreUpdateField_IDENT (hab leider nix mehr zum nachsehn da).

Den Aufruf wirst in den DBPs nicht finden, diese Prozeduren werden automatisch aufgerufen, sozusagen dann, wenn du in das Feld (hier IDENT) rein klickst, um es zu bearbeiten.

Du musst also einfach eine Prozedur PreUpdateField_SHORT_DESC erzeugen und bei deinem EntityType reinhängen, damit sie auch gefunden wird.
Ãœber die return-Werte 1 und 0 gibts dann an, ob das Update erlaubt ist oder nicht.
Welcher return-Wert was bewirkt, weiß ich leider nicht mehr, musst probieren. Jedenfalls wird deine Prozedur in etwa so aussehn:

public PreUpdateField_SHORT_DESC, myProcedure
procedure myProcedure
return 1;
endproc

Das war's schon. Kannst dann, wie in jeder anderen Prozedur auch, noch ein paar IF-Abfragen etc. einbauen und das ganze noch flexibler gestalten.

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

Gerd.A
Mitglied
Application Engineer


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

Beiträge: 615
Registriert: 10.06.2003

Compass/PSP alle Versionen Office/Easy/Pro JobServer, Webserver SQL2000/SQL 2005/SQL2008 /R2 /SQL 2012 Vault4-heute alle Versionen Dell M4700 w7-64bit

erstellt am: 01. Sep. 2005 09:47    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 Wolfgang

Genau so hab ich es auch gemacht, das doofe ist nur , ich hab auf der falschen Installation getestet. 
Nehm ich die richtige funktionierts auch.

Return 0 = update nicht erlaubt
Return 1 = Update erlaubt

Eine If abfrage sollte man schon einbauen, sonst kann man das Feld nie füllen

------------------
Gruß Gerd  

[Diese Nachricht wurde von Gerd.A am 01. Sep. 2005 editiert.]

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

Stephan 2
Mitglied



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

Beiträge: 326
Registriert: 28.11.2001

erstellt am: 05. Sep. 2005 12:22    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 Gerd.A 10 Unities + Antwort hilfreich

Und einfach im Maskeneditor das Feld für IDENT auf "lesen" setzen würde nicht ausreichen?

------------------
Stephan

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

Gerd.A
Mitglied
Application Engineer


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

Beiträge: 615
Registriert: 10.06.2003

Compass/PSP alle Versionen Office/Easy/Pro JobServer, Webserver SQL2000/SQL 2005/SQL2008 /R2 /SQL 2012 Vault4-heute alle Versionen Dell M4700 w7-64bit

erstellt am: 05. Sep. 2005 13:19    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 Stephan

Im Designer auf nur lesend setzen würde beim Ident funktionieren, da dort ja eine Nummer generiert wird, somit das Feld ja gefüllt ist.
Bei einem anderen Feld z.B SHORT_DESC ( Bezeichnung )füllst du im normalfall den Wert selbst, setzt du es auf nur lesen kannst du bei der neuanlage auch nichts reinschreiben, mußt du aber da es ein Pflichtfeld ist.
Du könntest nie einen Datensatz anlegen

------------------
Gruß Gerd 

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

Stephan 2
Mitglied



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

Beiträge: 326
Registriert: 28.11.2001

erstellt am: 05. Sep. 2005 13:22    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 Gerd.A 10 Unities + Antwort hilfreich

Wenn der Ändern-Dialog und der Neuanlage-Dialog der selbe ist, dann hast du natürlich recht.

Stephan

------------------
Stephan

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

Gerd.A
Mitglied
Application Engineer


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

Beiträge: 615
Registriert: 10.06.2003

Compass/PSP alle Versionen Office/Easy/Pro JobServer, Webserver SQL2000/SQL 2005/SQL2008 /R2 /SQL 2012 Vault4-heute alle Versionen Dell M4700 w7-64bit

erstellt am: 05. Sep. 2005 13: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

Klar wenn ich natürlich neue Dialoge kreiere geht es auch , aber dafür bin ich zu faul 
Die oben genannte Version ist da eleganter

------------------
Gruß Gerd 

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

WolfgangE
Mitglied



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

Beiträge: 1006
Registriert: 29.01.2003

erstellt am: 05. Sep. 2005 16:58    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 Gerd.A 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Gerd.A:
Klar wenn ich nat�rlich neue Dialoge kreiere geht es auch , aber daf�r bin ich zu faul 
Die oben genannte Version ist da eleganter


Nicht nur eleganter, auch wesentlich sicherer. Die Variante mit dem Designer würde ich nicht verwenden, da muss man schon ganz genau wissen wie das mit Profilen, Vererbung etc. funktioniert, um nicht eine böse Überraschung zu erleben.
Die Eigenschaften eines Feldes gelten ja immer nur für das aktuelle Datenblatt (im Gegensatz zu den Standardwerten). Fügt sich ein Benutzer das Feld einfach noch mal aus der Feldauswahl ein, und ist das Feld über die Standardwerte (sprich bei den GUIFields des EntityTypes) nicht schreibgeschützt, kann der Benutzer fröhlich drüber schreiben, gar kein Problem (und selbst die Standardwerte müssen zuvor noch mindestens ins Profil CUSTOMER:SYSTEMS veröffentlich werden, sofern diese Änderung nicht direkt in der Konfiguration durchgeführt wird).

Desweiteren sind viele Felder ja nicht nur in den Dialogen, sondern auch in diversen Listen zu finden. Die müsstest wiederum anpassen, lückenlos wohlgemerkt. Und wieder gibt es dort die Feldauswahl ...

Das Einbinden des in diesem Thead genannten Programms ist so gut wie kei Aufwand (ca. 15 Minuten) und v. a. durchgängig und konsequent. Und kein Benutzer kann da einfach was umgehn.

Nur so als Anmerkung :-)

Ciao, WolfgangE

------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!

[Diese Nachricht wurde von WolfgangE am 05. Sep. 2005 editiert.]

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)2024 CAD.de | Impressum | Datenschutz