Platforma 8.2 Cererea a reușit pentru optimizarea aplicație oferă funcții și separarea client-server. cod de program 1C situat în module diferite, modulul obiect, modulul formează comune module, etc. Proceduri și funcții ale fiecărui modul pot fi compilate atât pe server și client. Luați în considerare posibilitatea de a apela diverse funcții și proceduri ale procedurilor elaborate pe partea de server, și procedurile compilate pe client.
Platforma 8.2 Cererea a reușit pentru optimizarea aplicație oferă funcții și separarea client-server. Pe client, de exemplu, nu puteți accesa datele bazei de date. Un date server-side nu este disponibil formele în care modulul este o procedură cu directiva NaServereBezKonteksta. cod de program 1C situat în module diferite, modulul obiect, modulul formează comune module, etc. Proceduri și funcții ale fiecărui modul pot fi compilate atât pe server și client. Luați în considerare posibilitatea de a apela diverse funcții și proceduri ale procedurilor elaborate pe partea de server, și procedurile compilate pe client.
Deci, pe partea de client, puteți apela
1) procedurile de client al acestui modul, directiva NaKliente;
2) Procedura de server din acest modul, cu directiva NaServere;
3) comune ale clienților Directiva privind procedurile de module NaKliente (cu condiția ca în proprietățile disponibile în mai multe contexte, este nevoie de „client“, și altele.);
4) Toate procedurile comune de client module. în proprietățile generale ale modulului ar trebui să fie doar proprietatea „Client (aplicație gestionată).“ directivă NaKliente în modulul general, în acest caz, nu scrie;
5) Procedura de server modul comun, dar cu suplimentare de proprietate „Call Server“, și este important pentru unitatea de ansamblu a compila doar o proprietate pe server.
Pe partea de server, puteți apela
1) procedurile de server ale acestui modul, elaborarea directivei NaServere;
2) toate procedurile un modul general de server și în proprietățile generale ale modulului ar trebui să fie doar „Server“ proprietate. directivă NaServere în modulul general, în acest caz, nu scrie;
3) comune Directiva privind procedurile de module NaServere (cu condiția ca în proprietățile disponibile în mai multe contexte, este necesară „Server“, etc).
În plus, în cazul în care proprietățile modulului global de mai multe locuri de compilare „Client Server“, iar în procesul dat nicio directivă de compilare, în acest caz, procedura va fi compilate și pe partea de server și de partea de client. Și acesta poate fi numit, respectiv, și metodele de client și de server. În acest caz, trebuie să utilizați cu atenție procedura este necesar ca respectivul cod poate fi executat pe server și pe client.
Există o altă caracteristică. Într-un modul general, având mai multe locuri de compilare ( „Server, Client“) nu poate fi apelat de la procedura de client-server de același modul, chiar dacă ai pus daw „apel la server.“ Proprietatea „server de apel“ are sens în cazul în care există doar o singură proprietate în modul comun „compilare pe server“.
Există recomandări pentru a utiliza module comune compilate numai pe server sau numai pe client. Prin urmare, pentru a utiliza modulul cu o proprietate „Client“, toate modulele de client, iar modulul cu proprietatea „serverul“ pentru a utiliza toate metodele de server-side.
O altă caracteristică convenabil modul comun. În cazul în care proprietățile modulului comun pentru a activa proprietatea „Global“, atunci acest lucru procedurile de modul pot fi numite în mod direct, fără un nume comun modul.
Dar nu se implică în utilizarea acestei proprietăți, ca și în acest caz, modulul va fi compilat la pornire, care crește timpul de pornire.
1. Alex Rose (DoctorRoza) 02.07.11 09:40 Acum subiect
Luați în considerare posibilitatea de a apela diverse funcții și proceduri ale procedurilor elaborate pe partea de server, și procedurile compilate pe client.
Pe partea de server, puteți apela
1) procedurile de server ale acestui modul, elaborarea directivei NaServere;
Ckazhite va yavlyatsya următorul cod de eroare care se execută într-o formă modul al instrumentului de credit:
NaKliente
SpisokNomenklaturyKolichestvoPriIzmenenii Procedura (elementul)
RasschitatSummu ();
KonetsProtsedury
RasschitatSummu procedură ()
NomerStr = Elementy.SpisokNomenklatury.TekuschayaStroka;
P = Obekt.SpisokNomenklatury [NomerStr];
Str.Summa = Str.Tsena * Str.Kolichestvo;
KonetsProtsedury // RasschitatSummu ()
Ideea că toate adevărate! Prin urmare, a corecta un pic, că directiva de compilare NaServere nu este întotdeauna obligatorie. Procedura / funcție fără a prezenta directivă este întotdeauna rulează pe server!
2. BigB (BigB) 162 04.07.11 8:20 Acum subiect
Și în cazul în care Directiva NaServereBezKonteksta, NaKlienteNaServereBezKonteksta?
3. Dmitri Sherstobitov (DitriX) 2492 06.07.11 11:53 Acum subiect
Și în cazul în care Directiva NaServereBezKonteksta, NaKlienteNaServereBezKonteksta?
Aici ar fi interesant
4. Dmitri Gomzin (plevakin) 07.07.11 14:13 Acum subiect
Există o sarcină după ce documentul din forma documentului pentru a actualiza forma (după modificări, cum ar fi datoria de client reflecta această modificare pe formular). Pot obține pe elementele de formă ale documentului de server?
5. Denis Yakovlev (iceflash) 4 12.12.11 22:26 Acum subiect
(4) plevakin, eu nu pot intelege, dar de ce? Am organizat un document - a schimbat ramasite \ se transformă face solicitarea. Valoarea calculată este scris sub formă de recuzită, care este afișat pe formular.
6. Denis Yakovlev (iceflash) 4 12.12.11 22:28 Acum subiect
(2) BigB, Da, ar fi interesant, sau mai degrabă un fel de totul este clar, același totul, dar numai un singur - „nici un context“ =) Aceasta este ceea ce este în sine un context nu este încă înțeles, dar așa cum am înțeles că nu este transmis informații forma / detalii de formă, dar cu primerchik ar fi util, da.
7. Serghei Ozherelev (locotenent) 3592 13.04.12 00:46 Acum subiect
Nu l-am înțeles în 8.2. De fapt, funcția de compilator sau traducător conferă programator și numit comoditate pentru dezvoltator.
8. Mikhail Lykov (Miha.L) 13.04.12 01:03 Acum subiect
9. Sergey Tolmachev (sss999) 35 13.06.12 08:45 Acum subiect
10. Sergey Tolmachev (sss999) 35 13.06.12 10:21 Acum subiect
Heard este că, dacă specificați # naservere tot ceea ce este disponibil numai după server, prin urmare, problema modului în procedura apelului de la un client # nakliente de exemplu, în cazul în care, de fapt, clientul nu poate vedea ce este în interiorul # naservere.
11. Igor Bogdanov (avz_1C) 10 20.06.12 13:06 Acum subiect
Vă mulțumesc foarte mult, a ajutat într-adevăr :-)
12. Owl (Owl) 56 10.07.12 22:49 Acum subiect
(10) sss999, care nu trebuie confundat, și # ))
- o directivă de compilare definește în cazul în care se va derula procedura sau funcția. Rețineți că directivele sunt puse direct pe întreaga procedură sau funcție, dar nu pe partea codului în cadrul acestora.
# - aceste instrucțiuni Preprocessor. Deja de la numele este clar că acestea sunt încă de lucru pentru a compila. Și funcționează foarte simplu: dacă instrucțiunea nu este cazul, textul după această condiție este doar aruncat afară din modulul.
Deci, dacă vrei cu adevărat, poți face astfel de lucruri scandalos, și nimic în ea nu:
13. Alexander Lytkin (TrinitronOTV) 08.12.13 17:58 Acum subiect
dar eu nu înțeleg un astfel de moment: Am o versiune de fișier al bazei de date și, prin urmare, eu nu înțeleg cum, în acest caz, se va lucra apeluri „server“ și „client“ în aplicația gestionat? cineva spune-mi, te rog
14. Alexei Belousov (AllexSoft) 08.12.13 19:23 Acum subiect
(13) TrinitronOTV, la fel ca și în modul client de Nord de operare, baza, faptul că, pe termen este unele artificiale de rulare „server“, care funcționează cu datele, bine, client subțire se conectează la acest „server artificial“ și funcționează ca de obicei, într-un client-server. bine, doar în cazul în care serverul de fișiere și baza de client există într-un singur proces de 1C)
15. Alexander Lytkin (TrinitronOTV) 10.12.13 05:33 Acum subiect
(14) Mulțumesc, AllexSoft, adică se pare că totul se face pe masina client?
26. Olga Kovaleva (Volha-77) 16 19/03/15 21:07 Acum subiect
NaKliente
Procedura TablitsaTovarovTovarPriIzmenenii (elementul)
ModulObsluzhivaniyaDokumentov.PriVvodeTovara (EtaForma);
KonetsProtsedury
În ModulObsluzhivaniyaDokumentov.PriVvodeTovara funcția () ar trebui să fie tratată ca o linie de date curente, precum și la detaliile Antetul documentului, iar datele actuale de linie trebuie să fie schimbat în această funcție, așa că trecerea la EtaForma.
NaKliente
Procedura glPriVvodeTovara (formular) Export
ObektFormy = Forma.Obekt;
TekuschieDannyeTCh = Forma.Elementy.TablitsaTovarov.TekuschieDannye;
alte apeluri client
apeluri de server, obtinerea de preturi, petreceri, etc.
.
Funcția generală a modulului la nivel mondial care are loc apeluri client, care este de asemenea transmis la forma și apeluri de server în cazul în care Forma.Obekt transmise.
Totul funcționează, dar nesigur, în mod corect face acest lucru - pentru a transfera forma și de a efectua mai multe apeluri de server separate - dacă nu ar fi în baza reală a împiedica foarte mult de lucru.
Poate în mod corespunzător la schimbarea liniei sub forma unei tabele de încărcare documente din tabel valoarea și modulul de funcție a serverului de scriere la nivel mondial pentru a transmite Forma.Obekt (pentru detalii PAC) și un tabel de valori, toate acțiunile pentru a efectua pe server, și apoi descărcați tabelul modificat de valori în tabelul forma? În acest exemplu de realizare, de asemenea, o îndoială, întregul tabel va primi re-încărcate cu fiecare schimbare.
Multumesc anticipat.
27. Alexei Belousov (AllexSoft) 20.03.15 11:49 Acum subiect
(26) Volha-77, trebuie să încercați cât mai puțin posibil pentru a trage înainte și înapoi întregul context de la client la server și înapoi, totul este reflectat în formă. trebuie doar pentru a încerca să evite modulele cu steagul „Server Challenge“, deoarece acestea sunt, de asemenea, încărcate în memoria clientului.
În ModulObsluzhivaniyaDokumentov.PriVvodeTovara funcția () ar trebui să fie tratată ca o linie de date curente, precum și la detaliile Antetul documentului, iar datele actuale de linie trebuie să fie schimbat în această funcție, așa că trecerea la EtaForma.
Funcția PriVvodeTovara (ceea ce înseamnă Contraparte înseamnă organizație, apoi TekuschieDannyeStroki) Export
// obține prețul și cantitatea de
Returnează Structura nou ( „Pret, Sum“, Pret, Suma)
KonetsFunktsii;
Ei bine, provocarea se transformă în
ZapolnitZnacheniyaSvoystv (Elementy.Tovary.TekuschieDannye, ModulObsluzhivaniyaDokumentov.PriVvodeTovara (Obekt.Kontragent, Obekt.Organizatsiya, Elementy.Tovary.TekuschieDannye));
Atunci vei trage de la client la server și din spate este garantat numai datele necesare, dar nu întregul buchet de inutil
28. Olga Kovaleva (Volha-77) 16 3/20/15 14:25 Acum subiect
(27) AllexSoft, vă mulțumesc foarte mult pentru sfat.
29. Olga Kovaleva (Volha-77) 16 3/20/15 18:25 Acum subiect
(27) AllexSoft, te „trebuie doar pentru a încerca să evite modulele cu steagul“ provocarea Server. „Pentru că, de asemenea, sunt încărcate în memoria clientului.“ Și dacă în modulul forma numită funcția client modul comun, care este deja o funcție de server de apel alt modul comun cu „server“ pavilion, atunci prea va încărca memoria?
NaKliente
Procedura TablitsaTovarovTovarPriIzmenenii (elementul)
ModulObsluzhivaniyaDokumentov.PriVvodeTovara (Obekt.Kontragent, Obekt.Organizatsiya, Elementy.TablitsaTovarov.TekuschieDannye);
KonetsProtsedury
ModulObsluzhivaniyaDokumentov (cu pavilion client)
NaKliente
Funcția PriVvodeTovara (ceea ce înseamnă Contraparte înseamnă organizația TekuschieDannyeStroki) Export
.
ModulObsluzhivaniyaDokumentovServer.PriVvodeTovaraServer (.);
TekuschieDannyeStroki.Summa = Suma
KonetsFunktsii;
ModulObsluzhivaniyaDokumentovServer - cu serverul de pavilion
30. Alexei Belousov (AllexSoft) 23.03.15 10:33 Acum subiect
(29) Volha-77, cu excepția cazului în pavilion este „server“, atunci nu este încărcat în memoria principală a clientului, în cazul în care „Server“ și „Server Challenge“ - care este încărcat. astfel încât „apelul la server“ este mai bine să nu „doar în cazul“, la fel ca asta, și să încerce să se separe funcțiile și procedurile în cazul în care aceasta este cu adevărat necesar, și ceea ce nu este. Fac-funcție de obicei adaptoare pentru module pur server, cum ar fi:
31. Michael Koncharenko (pustnic) 19 15/11/16 15:23 Acum subiect
Problema a apărut
Formularele de module au următorul cod:
În cazul în care se va efectua procedura KnopkaVypolnitNazhatieNaServere? Pe client sau pe server?
32. Victor Grigorenko (JohnGalt) 2 18.11.16 13:26 Acum subiect
(31) pustnic, pe client, deoarece este moștenită de executarea de instrucțiuni anterioare, atâta timp cât nu există nici o altă indicație.
Sozdanie30.06.11 19:21
Codul indicat otkrytNe
datele de încărcare (bunuri, SSPT, furnizori) de 1C (BP, SCP, CA), în "rambursare a TVA-ului Contribuabil 3"