Instrucțiunile de preprocesor și client-client și de pe server nu se află în contextul contextului

În cursul cazului

Procedurile și funcțiile din modulele formate gestionate, precum și din modulele client comune ale aplicației gestionate, necesită o definiție clară a mediului de execuție a codului.







În aceste scopuri, în total, cinci directive preprocesor sunt utilizate: NaKliente, La nord, În nordul contextului, Pe partea client a serverului, În rețeaua de clienți. Primele trei sunt folosite destul de des în dezvoltarea configurației. Ultimile două sunt foarte rare. Este vorba despre ei și va fi discutată astăzi în articol.

Pe partea serverului

Această directivă poate fi utilizată numai în modulul de comandă. Procedura în sine sau o funcție declarată cu o astfel de directivă poate fi folosită atât pe partea clientului, cât și pe cea a serverului din modulul de comandă. Voi da un exemplu de utilizare a directorului în echipă. Pentru a face acest lucru, în configurația de test, adăugați comanda "Test" pentru referința "Simple Directory":

Instrucțiuni pentru preprocesor & amp; nervererver și & nclientent pe server fără context

Modulul de comandă conține următorul cod de program:

Acum, ia în considerare comportamentul platformei atunci când se execută. Apelați comanda în modul enterprise și analizați numărul de apeluri de server. Imaginea va fi după cum urmează:

Instrucțiuni pentru preprocesor & amp; nervererver și & nclientent pe server fără context

Astfel, atunci când se solicită o procedură cu directiva preprocesor "ClientEnvironment", nu apare partea clientului apelului server. Singurul apel de server din exemplul nostru a avut loc la accesarea procedurii de server "Server".







Din cele de mai sus, putem concluziona că procedurile și funcțiile cu directiva „NaKlienteNaServere“ are de fapt, aceleași caracteristici ca procedurile client și funcțiile cu directiva „NaKliente“. Utilizarea „NaKlienteNaServere“ directivă vă permite să apelați orice proceduri modulul de comanda, precum și accesul la forma context client.

În opinia mea, utilizarea unor astfel de proceduri și funcții complică lizibilitatea codului programului. Dacă utilizați directivele "NaCliente", "NaServere" și "NaServereBezContexta", atunci codul va fi mai ușor de înțeles și previzibil.

Să luăm acum în considerare funcționarea procedurilor și a funcțiilor cu directiva "NaClienteServiceBezContext".

În partea client a serverului fără Context

Directiva "ClientNetworkServerNotContext" poate fi utilizată în module de formă gestionată pe client și pe server. În plus, aceste proceduri și funcții care nu pot avea acces la contextul formelor, toate formele de variabile de export, dar puteți apela proceduri și funcții de la un server de module comune și tazhke nici un server global și klienskij simultan.

Să luăm în considerare un mic exemplu de utilizare a acestora. În modulul elementului de formă din directorul "Ghid simplu" scriem următorul cod de program:

Procedura "Test" aparține echipei de formare. Când începe, procedura "TestingCustomerServer" este apelată cu directiva "ClientNetworkServerNotContext". După cum sa menționat mai sus, această procedură nu va putea accesa contextul formularului și al altor proceduri client. Dar toate procedurile de server ale modulului de formular fără context vor fi disponibile pentru apel, precum și procedurile de server ale modulului comun.

Serverul va fi apelat, ceea ce este logic, atunci când procedura de server este apelată de client.

Să rezumăm cele de mai sus:

  1. Procedurile și funcțiile cu directiva "NaClienteServerervice" sunt folosite numai în modulele de comandă și sunt limitate de capacitățile clientului.
  2. Proceduri și funcții cu directiva „NaKlienteNaServereBezKonteksta“ sunt folosite doar sub formă de module și vă permite să lucrați cu server-side fără formă de transfer de context (sub formă de date cu caracter personal, variabilele de export forme de module, etc ..).
  3. Principala diferență dintre cele două directive în cauză este contextul aplicării lor. O comandă este folosită în preprocesor numai în modulele de comandă, iar în modulul gestionat.

Pentru toată experiența cu formularele gestionate, a fost foarte rar să se utilizeze astfel de proceduri și funcții. După cum am menționat mai sus, cred că utilizarea lor agravează citirea codului.







Trimiteți-le prietenilor: