Module comune 1c

Contexte diferite și module comune

Cu proprietățile modulelor comune și instrucțiunile de preprocesor, puteți organiza executarea diferitelor metode de module comune în contextul potrivit.






Fiecare proprietate a unui modul comun este responsabilă de capacitatea de a compila (și de a executa) un modul comun într-un anumit context.
Sunt disponibile următoarele proprietăți care sunt responsabile pentru contextul în care sunt disponibile metodele modulului comun:
● Client (aplicație obișnuită) - metodele modulului comun vor fi accesibile clientului gros în modul de aplicare obișnuit;
● Client (aplicație gestionată) - metodele modulului comun vor fi disponibile pentru clientul subțire, clientul web, precum și pentru clientul gros în
modul de aplicare gestionat;
● Serverul - metode comune modulului vor fi disponibile pe server;
● Conexiune externă - metodele modulului comun vor fi disponibile în conexiunea externă.
Dacă sunt setate simultan mai multe proprietăți, aceasta înseamnă că metodele modulului comun vor fi disponibile în mai multe contexte.
Dacă modulul general are proprietatea Server și o altă proprietate, înseamnă că modulul partajat va fi disponibil simultan pe server și în clientul selectat. Ar trebui să se înțeleagă că, de fapt, vor fi mai multe versiuni ale codului compilat (de numărul de clienți selectați și de fapt pentru server).
În acest caz, dacă metoda este localizată într-un astfel de modul comun, este apelată din partea clientului, atunci va fi utilizată o copie a clientului modulului general și dacă serverul este o copie de server. În acest caz, utilizând directivele preprocesorului (pentru mai multe detalii, consultați aici), puteți "proteja" serverul de codul care nu poate fi executat pe acesta.
Să luăm în considerare un exemplu. Într-un modul comun (care poate fi executat pe un client subțire și pe un server) există o metodă care are mai multe comportamente diferite pe partea de client subțire și pe partea de server. Să vedem cum se poate face:

Metoda de procedură GeneralModule () Export
// Aici este plasat un alt cod important
# Dacă SlimCustomer atunci
// Afișați avertismentul
Afișați alerta utilizatorului ("Pe client");
# ENDIF
Sfârșitul procedurii
Apoi pe partea de server codul va arata astfel:
Metoda de procedură GeneralModule () Export
// Aici este plasat un alt cod important
Sfârșitul procedurii
Și pe partea clientului subțire, codul va arăta astfel:
Metoda de procedură GeneralModule () Export
// Aici este plasat un alt cod important
// Afișați avertismentul
Afișați alerta utilizatorului ("Pe client");
Sfârșitul procedurii

Există mai multe modalități de a transfera controlul de la client la server:
● Apelați metoda modulului public la nivel de server;






● în forma sau modul de comandă, apelați metoda, care este precedată de directivele de compilare La nord, Pe WebSideContext

Reutilizarea valorii returnate

Dacă modulul partajat nu este global, devine disponibilă proprietatea de reutilizare a valorii returnate. Această proprietate poate lua următoarele valori:
● Nu utilizați - nu se utilizează reutilizarea valorilor returnate pentru funcțiile acestui modul comun.
● Pentru durata apelului și Pentru durata sesiunii, pentru modulul general se folosește o metodă pentru determinarea reutilizării datelor. Esența acestei metode constă în faptul că, în timpul executării codului, sistemul își amintește parametrii și rezultatul funcționării funcțiilor după primul apel al funcției. Când funcția este reluată din nou cu aceiași parametri, valoarea stocată (de la primul apel) este returnată fără a efectua singură funcția. Dacă funcția modifică valorile parametrilor în timpul executării, atunci apelul repetat al funcției nu va face acest lucru.
Puteți evidenția următoarele caracteristici ale salvării rezultatelor apelurilor:
● Dacă funcția este rulată pe server și este apelată de la codul serverului, valorile parametrilor și rezultatul apelului sunt stocate pentru sesiunea curentă de pe server;
● Dacă funcția este efectuată pe un client gros sau subțire, valorile parametrilor și rezultatele apelurilor sunt stocate pe partea clientului;
● Dacă funcția este executată pe partea de server, dar este apelată din codul clientului, valorile parametrilor de apel sunt stocate atât pe partea clientului, cât și pe partea de server (pentru sesiunea curentă).
Valorile salvate sunt șterse:
● Dacă proprietatea este setată la valoarea Pentru timpul de apel:
● pe partea de server - atunci când reveniți de la server;
● pe partea clientului - când procedura sau funcția limbii integrate de nivel superior este terminată (apelată de sistem de la interfață și nu de la altă procedură sau funcție a limbii încorporate);
● Dacă proprietatea generală a modulului este setată la valoarea pentru timpul sesiunii:
● pe partea de server - la sfârșitul sesiunii;
● pe partea clientului - la închiderea aplicației client.
Valorile salvate vor fi șterse:
● pe server, pe clientul gros, pe conexiunea externă, pe clientul subțire și pe clientul web cu viteza normală de conectare - 20 de minute după calcularea valorii stocate sau 6 minute după ultima utilizare;
● într-un client subțire și un client Web cu o viteză de conectare lentă - 20 de minute după calculul valorii stocate;
● Dacă există un deficit de memorie RAM în fluxul de lucru al serverului;
● când se repornește fluxul de lucru;
● când clientul trece la un alt flux de lucru.
După ștergerea valorilor, apelul către funcția exportată este efectuat ca la primul apel.
Această proprietate a modulelor comune nu afectează executarea procedurilor - procedurile sunt întotdeauna executate.

Dacă modulul comun are proprietatea Valorare refolosire valorilor setată la valoarea pentru timpul sesiunii. valorile din valorile returnate de funcțiile unui astfel de modul nu pot fi de tip ManagerTime.
În cazul în care funcția de ansamblu a modulului, cu stabilit reutilizarea, numit din același modul general (de exemplu, numele ObschiyModul), ar trebui să țină cont de următoarele caracteristici: în cazul în care funcția este numit de numele MoyaFunktsiya (). atunci executarea funcției va avea loc de fiecare dată când se va apela funcția. Pentru a utiliza valorile memorate, funcția trebuie apelată cu numele complet:
Funcția GeneralModule.My ().
Metoda de context globală Reîmprospătați valorile utilizate reutilizabile () șterge toate valorile reutilizabile, atât pe partea de server, cât și pe partea clientului, indiferent unde a fost apelată metoda. După ce efectuați metoda Reîmprospătare repetată a valorilor (), primul apel al funcției va fi executat în întregime.

Navigare după înregistrări







Articole similare

Trimiteți-le prietenilor: