= Ograniczanie widoczności pól formularzy = Wszystkie pola formularzy domyślnie dostępne są dla wszystkich użytkowników systemu (widoczność oraz prawo do edycji). Dostęp może zostać ograniczony poprzez funkcjonalność zarządzania uprawnieniami do pól. Niektóre formularze (dane kontrahenta na karcie Kontakt, dane sprawy lub dane urządzeni w serwisie) można modyfikować w tym zakresie z interfejsu użytkownika (Administrator może klikać prawym klawiszem na labele pól jak pokazano na rysunku), pozostałe wymienione poprzez edycję tabeli ''access''. [[BR]] [[Image(uprawnienia.jpg)]] Formularze w których zostało zaimplementowane sprawdzanie uprawnień do pól podstawowych (widoczne/niewidoczne/edycja) to: * zdarzenie karta ogólne * sprawa karta ogólne * dokument karta ogólne * kartoteka kontrahenta - karta ogólne (również z interfejsu) * kartoteka urządzenia (również z interfejsu) Aby móc ograniczyć widoczność pól w powyższych formularzach należy do tabeli access dodać odpowiedni wpis. Szczególną uwagę należy zwrócić na kolumnę rights, gdyż to ona przechowuje poziom uprawnień zdefiniowany następująco: * 0 oznaczać będzie zabronienie pola * 1 oznaczać będzie udostępnienie bez prawa do zapisu * 3 oznaczać będzie udostępnienie z prawem do zapisu Np. aby ograniczyć widoczność pola name_1 (nazwa kolumny z bazy, tabela contacts) tak aby tylko grupa o id 2 miała prawo tylko do odczytu tego pola, należy dodać wpis: {{{ clsnam = CONTACT keyval = name_1 grp_id = 2 rights = 1 (3 jeśli ma być odczyt i zapis) }}} Zapytanie SQL do powyższego przykładu: {{{ INSERT INTO access (clsnam, keyval, grp_id, rights) VALUES ('CONTACT', 'name_1', 2, 1); }}} Przykład pokazania pola "Prognozowana wartość" w sprawie tylko dla grupy o id 5: {{{ clsnam = CONTACT keyval = name_1 grp_id = 2 rights = 1 (3 jeśli ma być odczyt i zapis) }}} Zapytanie SQL do powyższego przykładu: {{{ INSERT INTO access (clsnam, keyval, grp_id, rights) VALUES ('PROCESS', 'forepa', 5, 1); }}} W przypadku dokumentów sprawa ma się nieco inaczej. Oprócz identyfikatora klasy "DOCUMENT" należy dodać identyfikator typu dokumentu (types_of_documents.dctpid) dla właściwego typu. I tak jeśli chcemy aby pole "Sprawa" w dokumencie typu Notatka służbowa było pokazywane tylko dla grupy o id = 2 to do tabeli access dodajemy wpis {{{ clsnam = DOCUMENT.5 keyval = prc_id grp_id = 2 rights = 1 }}} Przy domyślnej instalacji Notatka służbowa ma dctpid = 5 w tabeli types_of_documents. Od wersji 3.5.4 wpisanie w kolumnie rights = 0 oznacza zabronienie widoczności danego pola dla użytkownika albo grupy. Dla przykładu aby grupa o id 6 nie mogła widzieć pola saldo_ na kartotece kontrahenta wystarczy do tabeli access dodać wpis {{{ clsnam = CONTACT keyval = saldo_ grp_id = 6 rights = 0 }}} {{{ #!html
}}} == Zarządzanie cechami == Pola dynamiczne (cechy) mogą być zabraniane we wszystkich miejscach w których występują. Zarządzanie jest udostępnione poprzez panel sterowania. Przycisk ''Uprawnienia'' umieszczony poniżej nazwy pola przy edycji cechy. [[BR]] [[Image(uprawnienia_cechy.jpg)]] {{{ #!html }}} == Zarządzanie widocznością zakładek w dokumentach == Aby wyłączyć zakładkę w dokumencie konkretnego typu (dctpid) należy do tabeli access dodać wpis w postaci: {{{ clsnam = DOCUMENT.1 (1 to dctpid z tabeli types_of_documents dla pisma) keyval = RIGHTSPLUGIN grp_id = 2 rights = 0 }}} Wpis taki oznacza, iż grupa o identyfikatorze (grp_id) = 2 nie posiada uprawnień do zakładki "Uprawnieni" dla dokumentu typu pismo. Pole keyval w tym przypadku to identyfikator klasy zakładki i tak: * komentarze = DOCCOMMENTSPLUGIN * uprawnieni = RIGHTSPLUGIN * kopie = COPYINFOPLUGIN * instrukcje = ORDERSPLUGIN W przypadku jeśli chcemy zabronić dowolnej widoczności innej zakładki nie wymienionej na tej liście należy skontaktować się z programistami :)