1C 8,3 INSTALACJA parametrów sesji

parametry sesji w 1C 8.3 i 8.2

parametrów sesji 1C 8,3  - zmienna zawiera wartość pożądanego parametru dla sesji użytkownika. W rzeczywistości, ten rodzaj zmiennej globalnej, przywiązany do sesji bieżącego użytkownika.

Opcje sesji

Korzystanie z 1C parametrów sesji

parametry sesji są określone tylko w oprogramowaniu, uniwersalny interfejs do ustawiania parametrów sesji w systemie nie ma. Na ogół są one zdefiniowane przy starcie systemu, a „sesji Module”. Jeżeli parametr nie jest określony, błąd zostanie wywołana podczas rozmowy z nim.

Przykład 1C parametr konfiguracji sesji

Rozważmy typowy przykład parametrów sesji - ustawienie bieżącego użytkownika. Wezmę przykład przygotowania do platformy specjalistycznego.

Drzewo metadanych, aby utworzyć nową sesję parametru - TekuschiyPolzovatel, przypisać to typ - SpravochnikSsylka.FizicheskieLitsa:
Tworzenie nowego parametru

Zdobądź 267 darmowych samouczków wideo na 1C:

  • Bezpłatny poradnik wideo na 1C 8.3 i 8.2;
  • Tutorial na nowej wersji 3.0 SPP 1C;
  • Dobry przebieg 1C Handlu Zarządzania 11.

Moduł sesji będzie utworzyć procedurę, która zostanie ustalona przez bieżącego ustawienia sesji:

Moduł parametr inicjalizacji

Kod procedury:

Procedura UstanovkaParametrovSeansa ( TrebuemyeParametry )

// poszukiwanie Phys. osoba o nazwie użytkownik 
TekPolzovatel = katalogi . FizicheskieLitsa . NaytiPoNaimenovaniyu ( Nazwa użytkownika ( ) ) ; 
// jeśli nie znaleziono - utworzyć nową 
Jeśli TekPolzovatel . Puste ( )  A 
NovPolzovatel = firm . FizicheskieLitsa . SozdatElement ( ) ; 
NovPolzovatel . Nazwa = Nazwa użytkownika ( ) ; 
NovPolzovatel . Record ( ) ; 
TekPolzovatel = NovPolzovatel . Link ; 
ENDIF ; 
// ustawienie parametrów sesji odnośnik TekuschiyPolzovatel odwołać osoby fizyczne 
ParametrySeansa . TekuschiyPolzovatel = TekPolzovatel ;

KonetsProtsedury

Po tej konfiguracji w dowolnym miejscu, można się dowiedzieć, kim jest nasz bieżący użytkownik po prostu za pomocą struktury „ParametrySeansa.TekuschiyPolzovatel”.

Jeśli zaczniesz się uczyć programowania 1C, zalecamy nasz darmowy kurs (nie zapomnij zapisać się na YouTube - nowe wideo regularnie zwolniony):

Niestety, nie możemy fizycznie swobodnie konsultować każdy, ale nasz zespół chętnie do świadczenia usług dla wdrożenia i utrzymania 1C. Więcej informacji na temat naszych usług można znaleźć na stronie 1C Usługi lub po prostu zadzwonić +7 (499) 350 29 00. Pracujemy w rejonie Moskwy.

Nadal masz pytania?

ASK w komentarzach!

3 komentarze do „ Opcje sesji 1C 8.3 i 8.2
  1. Jestem w jednostce udało aplikacja próbuje uzyskać dostęp do „ParametrySeansa.TekuschiyPolzovatel”, ale napisał, że zmienna nie jest zdefiniowana
    w tym, co może być problemem?

    odpowiedź

    • Zarządzane moduł aplikacji - odbywa się na kliencie.
      Aby uzyskać ustawienia sesji w aplikacji trzeba zadzwonić moduł funkcyjny znajdujący się w module Ogólne serwera

      Jeśli ObschiyModulServer.RobotEtoYa (), a następnie
      // zrób coś
      ENDIF;
      ------ ------ ObschiyModulServer

      ale już go przepisać

      Funkcja RobotEtoYa () eksportu
      powrotu ParametrySeansa.YaRobot;
      KonetsFunktsii
      ------------------

      odpowiedź

  2. Dzień dobry! Jak otworzyć moduł sesji?

    odpowiedź

Dodaj komentarz: Anuluj odpowiedź

Twój e-mail nie zostanie opublikowany.



Platform 8.2: RLS Users Guide 8.3

Często konieczne jest częściowe ograniczenie dostępu do danych. Na przykład, gdy użytkownik musi zobaczyć tylko dokumenty organizacji. W takich przypadkach, 1C mechanizm służy do ograniczania dostępu do rekordowego poziomu (tzw, RLS - Record Level Securiy).

Na przykład załóżmy, że następnym wyzwaniem dla nas. Przedsiębiorstwo jest mnogofirmenny konto i każdy kontrahent i bazy danych użytkownik należący do pewnej organizacji. Jest to konieczne, aby zapewnić dostęp do podręcznika „Konta” w taki sposób, że każdy użytkownik może wyświetlać, edytować i dodawać kontrahentom jedynie ich organizację.

Aby rozwiązać ten problem możemy korzystać z platformy „1C: Enterprise 8.2”. Utwórz nową konfigurację, w której właściwości wariantu „zarządzanej aplikacji” zostanie wybrany jako tryb wyzwalania pierwotnego.

Następnie należy utworzyć katalog „organizacja” i dwa kolejne katalogu - „Konta” i „Użytkownicy” rekwizyty „organizacja”. Ponadto musimy dwie prowadnice opcję sesji - „organizacja” i „Użytkownik” (odpowiednie modele). Te wartości parametrów są ustalone w konfiguracji sesji startowej i przechowywane do czasu jego zakończenia. To wartości tych parametrów, użyjemy podczas dodawania warunków w celu ograniczenia dostępu na poziomie rekordu.

Ustawienie sesji odbywa się za pomocą specjalnego modułu - „moduł sesji”

Moduł ten opisuje procedurę „UstanovkaParametrovSeansa predefiniowane”, który wywołać funkcję umówiony wspólny moduł „PolnyePrava”. Jest to konieczne ze względu na charakter bazy danych w trybie zarządzanym, zastosowanie, gdy część kodu oprogramowania mogą być wykonywane tylko po stronie serwera (szczegółowo w wyjaśnieniu tych zasad, nie będę mieszkać w tym artykule).

Kod 1C v 8.h
 Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
ПолныеПрава.УстановитьПараметрыСеанса();
КонецПроцедуры

We właściwościach modułu „PolnyePrava” należy zauważyć polach „Serwer”, „Serwer Call” i „Privilege” (to ostatnie oznacza, że ​​ten moduł procedury i funkcje będą realizowane bez kontroli praw dostępu). Moduł tekst będzie wyglądać następująco:

Kod 1C v 8.h
 Функция ОпределитьТекущегоПользователя()
ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя(),Истина);
Возврат ТекПользователь;
КонецФункции


Процедура УстановитьПараметрыСеанса() Экспорт
ТекущийПользователь = ОпределитьТекущегоПользователя();
ТекущаяОрганизация = Справочники.Организации.ПустаяСсылка();
Если ЗначениеЗаполнено(ТекущийПользователь) Тогда
ТекущаяОрганизация = ТекущийПользователь.Организация;
КонецЕсли;
ПараметрыСеанса.Пользователь = ТекущийПользователь;
ПараметрыСеанса.Организация = ТекущаяОрганизация;
КонецПроцедуры


Функция ПараметрСеансаУстановлен(ИмяПараметра) Экспорт
Возврат ЗначениеЗаполнено(ПараметрыСеанса[ИмяПараметра]);
КонецФункции


Функция РольДоступнаПользователю(ИмяРоли) Экспорт
Возврат РольДоступна(ИмяРоли);
КонецФункции

Moduł zarządza aplikacja sprawdzi konfiguracji użytkownika w „Użytkownicy” (dla uproszczenia, będziemy patrzeć na niego po imieniu) i jego działania systemu, jeśli nie zostanie znaleziony. Jest to konieczne w celu zapewnienia wypełnienia parametrów sesji.

Kod 1C v 8.h
 Процедура ПередНачаломРаботыСистемы(Отказ)
// всех кроме администратора будем проверять на наличие в справочнике "Пользователи"
Если Не ПолныеПрава.РольДоступнаПользователю("ПолныеПрава") Тогда
Если НЕ ПолныеПрава.ПараметрСеансаУстановлен("Пользователь") Тогда
Предупреждение("Пользователь """ + ИмяПользователя() + """ не найден в справочнике!");
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Możemy teraz przejść bezpośrednio do opisu ograniczeń dostępu. Aby to zrobić, należy utworzyć rolę „Użytkownika” i przejdź do zakładki „Ograniczenia Szablony”, który doda nowy szablon „KontragentyChtenieIzmenenie” z następującym wzorem:  GDZIE Spółka = Organizacja # Parametr (1)

Ograniczenia tekstowe szablon jest rozszerzeniem języka zapytań. W przeciwieństwie do normalnego odpytywania, limity tekst musi koniecznie zawierać warunek „gdzie”. Jako parametry żądania (w tym przypadku „& Organization”) używa wartości zbliżonych parametrach sesji. Konstrukcja forma # Parametr (1) oznacza, że ​​system ten teren wstawia tekst przekazany jako pierwszy parametr zamiast przy użyciu szablonu. Stosując powyższy wzór zostanie przeprowadzone sprawdzanie każdego wpisu w tabeli (w tym przypadku będzie to referencyjna „kontrahenta”). Zapisów rekwizyty wartość „organizacja”, która zbiega się z zadanym parametrem w danej sesji, warunek opisany w szablonie zostanie wykonany. Tak więc, te zapisy będą dostępne do odczytu, modyfikować lub dodawać (w zależności od wzoru stosowanego do któregokolwiek z tych praw). I wykazać powyższe w naszym przykładzie.

Przejdź do zakładki „prawa” w postaci listy „Użytkownik” i otwórz prawa katalogu „Konta”. Użyjemy ograniczeń szablonów „KontragentyChtenieIzmeneie” praw „Czytaj”, „zmiana” i „Doblavlenie”.

Zeby „Reading” będzie używać parametru szablonu „LUB EtoGruppa”. W tym przypadku użytkownicy w tej roli może odczytać nie tylko elementy podręcznika „Konta” w organizacji, ale również wszystkich grup tego podręcznika.

# KontragentyChtenieIzmenenie ( "LUB EtoGruppa")

Ponieważ dodanie nowych elementów katalogu systemowego odbywa się niejawnie czytać predefiniowanych rekwizyty (jest to konieczne, na przykład, do numeracji), konieczne jest zapewnienie sprawnego czytania tych pól. Aby to zrobić, należy dodać dodatkowy wiersz do pustego limitu tekstu w tabeli, aby ograniczyć dostęp do danych i listę pól, dla których reguła jest ważna - Dane odniesienia wersja kodu nadrzędnego.

Tak więc, problem ograniczenie dostępu na poziomie rekordu osiągniętego. Użytkownicy z szczególnych ograniczeń będą mieli dostęp do przeglądania i edycji danych tylko dla jego organizacji.

źródło

Wybierz swój język

polskiangielski niemiecki hiszpański francuski włoski portugalski turecki arabski ukraiński szwedzki węgierski bułgarski estoński Chiński (uproszczony) wietnamski rumuński tajski słoweński słowacki serbski malajski norweski łotewski litewski koreański japoński indonezyjski hinduski hebrajski fiński grecki holenderski Czech duński chorwacki Chiński (tradycyjny) Filipińska urdu Azeybardzhansky ormiański Białoruski bengalski gruziński kazachski Kataloński mongolski rosyjski Tadzhitsky Tamil'skij telugu Uzbetsky


Dodaj komentarz

Twój e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *