Acasă - Internet
Conexiunea curentă nu are alocată o sesiune de configurator. Scoatem utilizatorii din baza de informații pe server

Pentru a efectua întreținerea de rutină în baza de informații 1C:Enterprise 8, este adesea necesar să obțineți acces exclusiv la baza de date. De exemplu, pentru a efectua o copie de rezervă a bazei de date sau pentru a efectua întreținere de rutină pe serverul DBMS (reindexare etc.), trebuie să deconectați toate sesiunile active.

Să ne uităm la o modalitate simplă de a deconecta utilizatorii de la baza de informatii folosind funcționalitatea standard a serverului 1C:Enterprise.

Funcționalitate standard

Permiteți-mi să fac o rezervare imediat că vom vorbi despre versiunea client-server a 1C:Enterprise 8. Pentru a dezactiva sesiunile, să mergem la consola de administrare a serverului. Acolo vom găsi baza de informații necesare în listă:

Accesând proprietățile de securitate a informațiilor, setați opțiunea „Blocarea pornirii sesiunii este activată”. În acest caz, poate fi necesar să furnizați o autentificare/parolă cont administratorul bazei de informații.

Nu uitați să setați perioada de blocare a sesiunii. De asemenea, ar trebui să vă asigurați că, în timp ce sesiunile sunt blocate, trebuie să opriți toate locuri de muncă de fundal. Acest lucru se face folosind opțiunea „Blocarea sarcinilor de rutină este activată”.

Dacă este necesar, puteți seta textul mesajului utilizatorilor cărora li se vor notifica cu 5 minute înainte de blocarea sesiunilor, precum și codul de permisiune pentru intrarea în baza de informații în perioada de blocare a sesiunii.

Codul de permisiune poate fi folosit pentru a vă conecta la baza de informații pentru a efectua întreținere de rutină în timp ce alte sesiuni sunt inactive. Trebuie să introduceți codul de permisiune atunci când vă conectați la baza de date folosind parametrii. De exemplu, așa va arăta parametrul transmis serverului dacă codul de permisiune este „123456”.

Prin logarea în baza de date în acest mod, vom primi acces exclusiv la baza de informații. Alte sesiuni nu ni se vor putea alătura.

Notificarea utilizatorului că sesiunile sunt blocate arată astfel (în funcție de mesajul introdus de administrator). Apare la fiecare minut cu 5 minute înainte de perioada de blocare.

Când începe perioada de blocare a sesiunii, apare mai întâi o notificare:

Ulterior sesiunea se încheie.

Sesiunile active pot fi, de asemenea, dezactivate prin eliminarea lor din lista de sesiuni active. Această acțiune este uneori necesară pentru a încheia sesiunile suspendate.

În practică, este mai bine să comunicați în prealabil despre deconectările utilizatorilor pentru a reduce riscul de a pierde datele introduse de utilizatori, dar care nu au fost încă salvate.

1C 8.3 parametrii de sesiune— o variabilă care stochează valoarea parametrului dorit pe durata sesiunii utilizator. În esență, acesta este un fel de variabilă globală legată de sesiunea utilizatorului curent.

Utilizarea parametrilor de sesiune în 1C

Parametrii de sesiune sunt setati doar programatic, nu exista o interfata universala pentru setarea parametrilor de sesiune in sistem. Acestea sunt de obicei setate la pornirea sistemului, în „Modulul de sesiune”. Dacă un parametru nu este definit, la accesarea acestuia va apărea o eroare.

Exemplu de setare a unui parametru de sesiune 1C

Să ne uităm la un exemplu tipic de utilizare a parametrilor de sesiune - setarea utilizatorului curent. Voi lua un exemplu din pregătirea pentru.

În arborele de metadate vom crea parametru nou session - CurrentUser, atribuiți-i un tip - DirectoryLink.Individuals:

Obțineți 267 de lecții video pe 1C gratuit:

În modulul de sesiune, vom crea o procedură în care va fi determinat parametrul sesiunii curente:

Cod de procedură:

Procedura de setare a parametrilor sesiunii (parametri obligatorii) // în căutarea fizică persoană după numele de utilizator TechUser = Directoare. Persoanele fizice. FindByName(NumeUtilizator()) ; //dacă nu este găsit, creați unul nou Dacă TechUser. Empty() Apoi NewUser = Directoare. Persoanele fizice. CreateItem() ; Utilizator nou. Nume = UserName() ; Utilizator nou. Scrie() ;

CurrentUser = Utilizator nou. Legătură; EndIf ;

//atribuiți parametrului de sesiune CurrentUser un link către directorul de persoane

  • Parametrii sesiunii. CurrentUser = CurrentUser;
  • EndProcedure
  • Diferența dintre conceptele de sesiune și conexiune din 1C:Enterprise 8

Care sunt diferențele dintre o sesiune și o conexiune? Această întrebare aparent simplă de la examenul 1C:Expert îi încurcă pe mulți. În ciuda experienței considerabile în programare, nu orice specialist poate formula un răspuns clar și corect.

În acest articol vom oferi o analiză detaliată a acestei probleme. Mai întâi, să ne uităm separat la conceptele de sesiune și conexiune din 1C:Enterprise. Vă rugăm să rețineți că informațiile sunt relevante pentru versiunile platformei 8.2.x și 8.3.x.

Sesiunea 1C

Să ne referim la ghidul administratorului. Acesta definește conceptul de sesiune după cum urmează:

Sesiunea definește utilizatorul activ al bazei de informații și fluxul de control al acestui utilizator.

Putem spune că clusterul de server nu vede utilizatorii, ci vede sesiuni și date despre sesiuni. În principiu, consola de management al clusterului nu are o secțiune „Utilizatori”; clusterul înțelege sesiunile ca utilizatori.

Aceasta confirmă reprezentarea vizuală a elementului „Sesiuni” - pictograma este afișată sub formă de utilizatori.

Trebuie clarificat faptul că utilizatorul activ nu înseamnă neapărat conexiunea la client, poate fi și:

  • o instanță a aplicației client 1C:Enterprise
  • instanță de aplicație web în care este executat clientul web
  • instanță de conexiune exterioară obținută de la obiectul V83.COMConnector
  • 1 exemplu de job de fundal
  • 1 apel la serviciul Web

Datele sesiunii

Să luăm în considerare conceptul de date de sesiune. Sesiunea conține câteva informații precum:

  • denumirea bazei de informații
  • numărul sesiunii
  • numele utilizatorului infobase autentificat
  • limbajul interfeței
  • valorile parametrilor de sesiune
  • depozitare temporară
  • statisticile sesiunii
  • informații despre formularele de cerere gestionate
  • unele date interne ale platformei

Aceste informații se numesc date de sesiune. Mai mult, fiecare utilizator activ are propriile sale date de sesiune și sunt relevante doar pe durata muncii sale. Dacă utilizatorul părăsește baza de date (încheie sesiunea), datele sesiunii sale sunt șterse.

Datele de sesiune sunt stocate pe un cluster de servere, managerul de cluster este responsabil pentru aceasta și pentru asta este serviciul de date de sesiune. Pentru a accelera lucrurile, datele sesiunii sunt stocate în cache în procesele de lucru și în clienții groși.

Când clusterul de server este repornit, datele sesiunii vor fi păstrate. Dacă utilizatorul activ nu a efectuat un singur apel către cluster în decurs de 20 de minute și sesiunea nu este atribuită conexiunii, sesiunea este ștearsă împreună cu datele sale.

Pentru a menține o sesiune client subțire iar clientul web oferă acces la cluster cel puțin o dată la 10 minute.

Conexiunea 1C

Acum să înțelegem conceptul de conexiune. Să aruncăm o privire din nou la ghidul administratorului:

O conexiune este un mijloc de accesare a sesiunilor la un cluster de servere 1C:Enterprise, conține un set limitat de date de conexiune și nu este identificat cu utilizatorul activ.

Cu alte cuvinte, o conexiune permite unei sesiuni să acceseze clusterul. În acest caz, numărul de conexiuni este limitat și, de îndată ce una nu mai este necesară de sesiune, aceasta este returnată în pool-ul de conexiuni.

Dacă sesiunea nu accesează clusterul, adică utilizatorul este inactiv, conexiunea nu îi va fi atribuită. Astfel, o sesiune poate exista fără o conexiune.

Trebuie remarcat faptul că datele sesiunii sunt stocate pe server, deci dacă conexiunea este întreruptă pentru mai puțin de 20 de minute, atunci acest lucru nu va afecta sesiunea, deoarece conexiunea este doar un mijloc de acces.

De exemplu, dacă retrageți din greșeală cablu de rețea, utilizatorul nu va primi un mesaj de eroare dacă cablul este conectat în 20 de minute. În acest caz, sesiunii i se va atribui o nouă conexiune și va continua să ruleze. Utilizatorul nici măcar nu va fi conștient de problemă, cu excepția unei ușoare îngheț.

Conexiunile sunt, de asemenea, folosite pentru a comunica între procesele cluster, adică procesele de lucru (rphost) comunică cu managerul clusterului (procesul rmngr) folosind conexiuni, mai degrabă decât folosind sesiuni.

Diferențele dintre conexiuni și sesiuni

Pentru a descrie diferența principală dintre aceste concepte, vom da o analogie.

Să presupunem că sesiunea este un pasager, iar legătura este un taxi. Când un pasager trebuie să ajungă acasă (sesiunea trebuie să se conecteze la server), el cheamă un taxi (sesiunii i se atribuie o conexiune din pool-ul de conexiuni).

Dacă, ajungând acasă, pasagerul dorește să meargă din nou la muncă, dar taxiul a plecat deja (după conectare, conexiunea a fost întreruptă), atunci pasagerul cheamă un nou taxi și își face treaba (o nouă conexiune este atribuită la sesiunea).

Această analogie arată clar că o sesiune și o conexiune nu sunt același lucru, iar o sesiune poate supraviețui cu ușurință unei întreruperi de conexiune.

Burmistrov Andrei



 


Citire:



Utilizarea stilurilor în Excel Cum să vă creați propriul stil nou

Utilizarea stilurilor în Excel Cum să vă creați propriul stil nou

Dacă utilizați în mod constant aceleași opțiuni pentru a formata celulele foii de lucru din foile de calcul, ar putea fi înțelept să creați un stil de formatare...

Ce erori apar în timpul instalării?

Ce erori apar în timpul instalării?

Notă: Programele AutoLISP pot fi rulate numai pe versiunea completă a AutoCAD, ele nu funcționează sub AutoCAD LT. (excluzând cazurile de încărcare...

Statutul social al unei persoane în societate

Statutul social al unei persoane în societate

Sugerați ceea ce determină alegerea unei persoane cu privire la statutul său principal. Folosind textul și faptele vieții sociale, faceți două presupuneri și...

Interpretarea completă a erorilor

Interpretarea completă a erorilor

Destul de mulți utilizatori s-au confruntat cu fenomenul ecranului albastru al morții. Ce trebuie să faceți (Windows 7 este cel mai adesea predispus la această problemă)...

imagine-alimentare RSS