Variante de obținere a valorii expresiei elementare (server) pe partea clientului (inclusiv

Când lucrați în modul gestionat de aplicație, uneori pe partea clientului trebuie să obțineți rezultatul "expresiei elementare", care poate fi calculată numai pe server. În implementarea "clasică", acest lucru poate conduce la o abundență de proceduri / funcții duale (una pe client - apelând cealaltă pe server). Articolul examinează 4 opțiuni pentru rezolvarea acestei probleme.







Să presupunem pe formularul de care aveți nevoie pentru a seta valoarea oricăror elemente de recuzită în funcție de schimbarea interactivă a căsuței de selectare, puteți face acest lucru:

Opțiunea 1:
NaKliente
Procedură Caseta de selectare Aplicați modificările (Element)
Utilizați caseta de selectare Aplicări modificări la server ();
Sfârșitul procedurii

Opțiunea 2:
NaKliente
Procedură Caseta de selectare Aplicați modificările (Element)
Obiect. Stare = ReturnStatusService ();
Sfârșitul procedurii

Strict vorbind, ambele aceste opțiuni sunt "greșite", adică cu siguranță vor funcționa, dar nu este eficient, următoarea opțiune este de asemenea ineficientă (în UT11):

Opțiunea 3:
NaKliente
Procedură Caseta de selectare Aplicați modificările (Element)
Obiect. Stare = Lucrul cu formula. Calculați formula ("Enumerations.Status of Clauses.Conclusion" a clienților);






Sfârșitul procedurii

Aici este implementată o funcție de server standard, implementată în modulul comun UT11 prin lucrul cu fișierele. Calculați formula. Punerea în aplicare a acestuia:

Funcție Calculați formulele (textul de calcul) Exportați
Retur calculați (Text de calcul);
Terminați funcția

O funcție de platformă care vă permite să faceți același lucru, dar, pe de o parte, fără a se lega de configurație, cu o altă cacheare a valorii:

Opțiunea 4:
NaKliente
Procedură Caseta de selectare Aplicați modificările (Element)
Obiect. Stare = Valoare predefinită ("Enumeration.Status of Orders.Communication");
Sfârșitul procedurii

Această din urmă opțiune, pe de o parte, vă permite să nu recurgeți la creșterea codului, apelând la client, în timp ce celălalt captați valoarea primită la nivelul platformei. El are de asemenea un defect minor, care, întâmplător, apare cu un "stil urât" de programare, de exemplu:

NaKliente
Procedură Caseta de selectare Aplicați modificările (Element)
Obiect. Grup = Lucrul cu formula. Calculați formula ("Directories.Partners.Find Code" ("00002" "));
Sfârșitul procedurii

O astfel de valoare nu poate fi calculată utilizând Varianta 4. dar este mai corect în acest caz să se utilizeze un element predefinit al directorului, atunci Opțiunea 4 este destul de aplicabilă, de exemplu:

NaKliente
Procedură Caseta de selectare Aplicați modificările (Element)
Obiect. Grup = Valoare predefinită ("Directory.Partners.Our Enterprise");
Sfârșitul procedurii

Scurte avantaje (+) / dezavantaje (-) ale fiecărei opțiuni







Trimiteți-le prietenilor: