1c tanki klijent za poduzeća. Publikacije. Imajte ugodan posao

25.01.2021 Programi

Jedna od lijepih značajki 1C:Enterprise tehnologije je da je aplikacijsko rješenje razvijeno pomoću te tehnologije upravljani oblici, može se pokrenuti i u tankom (izvršnom) klijentu za Windows, Linux, MacOS X, i kao web klijent za 5 preglednika - Chrome, Internet Explorer, Firefox, Safari, Edge, i sve to - nepromijenjeno izvorni kod aplikacije. Štoviše, izvana aplikacija u tankom klijentu iu pregledniku funkcionira i izgleda gotovo identično.
Pronađite 10 razlika (2 slike ispod rezanja):

Prozor tankog klijenta na Linuxu:

Isti prozor u web klijentu (u pregledniku Chrome):

Zašto smo napravili web klijent? Vrijeme nam je, pomalo patetično rečeno, postavilo takav zadatak. Rad preko interneta odavno je preduvjet za poslovne aplikacije. Prvo, dodali smo mogućnost rada putem interneta za naš tanki klijent (neki od naših konkurenata, usput, tu su stali; drugi su, naprotiv, napustili tanki klijent i ograničili se na implementaciju web klijenta). Odlučili smo našim korisnicima pružiti mogućnost odabira klijentske opcije koja im najviše odgovara.

Dodavanje mogućnosti temeljenih na webu tankom klijentu bio je veliki projekt s potpunom promjenom arhitekture klijent-poslužitelj. Izrada web klijenta je potpuno novi projekt, koji počinje od nule.

Formulacija problema

Dakle, zahtjevi projekta: web klijent mora raditi isto što i tanak klijent, naime:
  1. Prikaz korisničkog sučelja
  2. Izvršite kod klijenta napisan u 1C jeziku
Korisničko sučelje u 1C opisano je u vizualni urednik, ali deklarativno, bez piksel po piksel rasporeda elemenata; Koristi se oko tri desetine vrsta elemenata sučelja - gumbi, polja za unos (tekst, numerički, datum/vrijeme), popisi, tablice, grafikoni itd.

Klijentski kod na jeziku 1C može sadržavati pozive poslužitelja, rad s lokalnim resursima (datoteke itd.), Ispis i još mnogo toga.

I tanki klijent (kada radite putem weba) i web klijent koriste isti skup web usluga za komunikaciju s 1C aplikacijskim poslužiteljem. Klijentske implementacije su, naravno, različite - tanki klijent je napisan u C++, a web klijent je napisan u JavaScriptu.

Malo povijesti

Projekt web klijenta započeo je 2006. godine s timom od (u prosjeku) 5 ljudi. U određenim fazama projekta programeri su bili uključeni u implementaciju određene funkcionalnosti ( dokument proračunske tablice, dijagrami itd.); u pravilu su to bili isti programeri koji su radili ovu funkcionalnost u tankom klijentu. Oni. programeri su ponovno napisali komponente u JavaScriptu koje su prethodno stvorili u C++.

Od samog početka odbacili smo ideju bilo kakve automatske (čak i djelomične) konverzije C++ koda tankog klijenta u JavaScript web klijent zbog velikih konceptualnih razlika između ta dva jezika; web klijent je ispočetka napisan u JavaScriptu.

U prvim iteracijama projekta, web klijent je pretvorio klijentski kod u ugrađenom 1C jeziku izravno u JavaScript. Tanki klijent djeluje drugačije - kod na ugrađenom 1C jeziku se prevodi u bajt kod, a zatim se taj bajt kod tumači na klijentu. Nakon toga, web klijent je počeo činiti isto - prvo, dao je dobitak performansi, i drugo, omogućio je objedinjavanje arhitekture tankih i web klijenata.

Prva verzija platforme 1C:Enterprise s podrškom za web klijente objavljena je 2009. godine. Web klijent je u to vrijeme podržavao 2 preglednika - Internet Explorer i Firefox. Prvotni planovi su uključivali podršku za Operu, ali zbog tada nepremostivih problema s rukovateljima zatvaranja aplikacije u Operi (nije bilo moguće sa 100% sigurnošću pratiti da se aplikacija zatvara, te u tom trenutku provesti proceduru prekida veze s 1C aplikacijski poslužitelj) iz ovih planova morali su biti napušteni.

Struktura projekta

Ukupno, platforma 1C:Enterprise ima 4 projekta napisana u JavaScript-u:
  1. WebTools su uobičajene biblioteke koje koriste drugi projekti (ovdje također uključujemo Google Closure Library).
  2. Kontrola FormattedDocument
  3. Kontrola planera (implementirana u JavaScriptu u tankom klijentu i web klijentu)
  4. Web klijent
Struktura svakog projekta nalikuje strukturi Java projekata (ili .NET projekata - što god je bliže); Imamo prostore imena, a svaki prostor imena je u zasebnoj mapi. Unutar mape nalaze se datoteke i klase imenskog prostora. Postoji oko 1000 datoteka u projektu web klijenta.

Strukturno, web klijent je uglavnom podijeljen na sljedeće podsustave:

  • Sučelje upravljane klijentske aplikacije
    • Opće sučelje aplikacije ( izbornici sustava, ploče)
    • Sučelje upravljanih obrazaca, uključujući, između ostalog, oko 30 kontrola (gumbi, Različite vrste polja za unos – tekstualna, numerička, datum/vrijeme itd., tablice, popisi, grafikoni itd.)
  • Objektni model dostupan programerima na klijentu (ukupno više od 400 vrsta: objektni model upravljanog sučelja, postavke izgleda podataka, uvjetni stil itd.)
  • Tumač ugrađenog 1C jezika
  • Proširenja preglednika (koriste se za funkcije koje nisu podržane u JavaScriptu)
    • Rad s kriptografijom
    • Rad s datotekama
    • Tehnologija vanjskih komponenti, koja im omogućuje korištenje iu tankim i web klijentima

Značajke razvoja

Implementacija svega navedenog u JavaScript nije laka. Možda je 1C web klijent jedna od najvećih aplikacija na strani klijenta napisanih u JavaScriptu - oko 450 000 redaka. Aktivno koristimo objektno orijentirani pristup u kodu web klijenta, što pojednostavljuje rad s tako velikim projektom.

Kako bismo smanjili veličinu klijentskog koda, prvo smo koristili vlastiti maskator, a počevši od verzije platforme 8.3.6 (listopad 2014.) počeli smo koristiti Google Closure Compiler. Učinak korištenja u brojkama – veličina okvira web klijenta nakon maskiranja:

  • Vlastiti obfuskator – 1556 kb
  • Google Closure Compiler – 1073 kb
Korištenje Google Closure Compiler pomoglo nam je poboljšati izvedbu web klijenta za 30% u usporedbi s našim vlastitim maskatorom. Osim toga, količina memorije koju aplikacija troši smanjena je za 15-25% (ovisno o pregledniku).

Google Closure Compiler vrlo dobro radi s objektno orijentiranim kodom, tako da je njegova učinkovitost za web klijenta najveća moguća. Closure Compiler čini nekoliko dobrih stvari za nas:

  • Statička provjera tipa u fazi izgradnje projekta (osigurava da pokrivamo kod JSDoc komentarima). Rezultat je statično tipkanje, po razini vrlo blisko tipkanju u C++. To pomaže uhvatiti prilično velik postotak pogrešaka u fazi kompilacije projekta.
  • Smanjenje veličine koda kroz maskiranje
  • Niz optimizacija izvedenog koda, na primjer, kao što su:
    • zamjene inline funkcija. Pozivanje funkcije u JavaScriptu prilično je skupa operacija, a ugrađene zamjene često korištenih malih metoda značajno ubrzavaju kod.
    • Brojanje konstanti u vrijeme prevođenja. Ako izraz ovisi o konstanti, stvarna vrijednost konstante bit će zamijenjena u njega
Koristimo WebStorm kao naše razvojno okruženje za web klijente.

Za analizu koda koristimo SonarQube, gdje integriramo statičke analizatore koda. Pomoću analizatora pratimo degradaciju kvalitete JavaScript izvornog koda i pokušavamo to spriječiti.

Koje probleme smo/rješavamo?

Tijekom provedbe projekta naišli smo na niz zanimljivih problema koje smo morali riješiti.

Razmjena podataka s poslužiteljem i između prozora

Postoje situacije u kojima maskiranje izvornog koda može ometati rad sustava. Kod izvan izvršnog koda web klijenta, zbog maskiranja, može imati nazive funkcija i parametara koji se razlikuju od onih koje očekuje naš izvršni kod. Eksterni kod za nas je:
  • Kod koji dolazi s poslužitelja u obliku podatkovnih struktura
  • Kod za drugi prozor aplikacije
Kako bismo izbjegli zamagljivanje prilikom interakcije s poslužiteljem, koristimo oznaku @expose:

/** * @constructor * @extends (Base.SrvObject) */ Srv.Core.GenericException = function () ( /** * @type (string) * @expose */ this.descr; /** * @type (Srv.Core.GenericException) * @expose */ this.inner; /** * @type (string) * @expose */ this.clsid; /** * @type (boolean) * @expose */ this. kodirano ;)
A kako bismo izbjegli zamagljivanje prilikom interakcije s drugim prozorima, koristimo takozvana izvezena sučelja (sučelja u kojima se izvoze sve metode).

/** * Izvezeno kontrolno sučelje DropDownWindow * * @interface * @struct */ WebUI.IDropDownWindowExp = function()() /** * Pomiče odabir naprijed ili natrag za 1 * * @param (boolean) isForward * @param ( boolean ) checkOnly * @return (boolean) * @expose */ WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly)() /** * Pomiče odabir na početak ili kraj * * @param (boolean) isFirst * @param (boolean) checkOnly * @return (boolean) * @expose */ WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly)() /** * @return (boolean) * @expose */ WebUI. IDropDownWindowExp.prototype .selectValue = funkcija ()()

Koristili smo Virtual DOM prije nego što je postao mainstream)

Kao i svi programeri koji se bave složenim web sučeljem, brzo smo shvatili da DOM nije prikladan za rad s dinamičkim korisničko sučelje. Gotovo odmah implementiran je analog Virtual DOM-a za optimizaciju rada s korisničkim sučeljem. Tijekom obrade događaja, sve promjene DOM-a pohranjuju se u memoriju i tek kada su sve operacije dovršene, akumulirane promjene se primjenjuju na DOM stablo.

Optimiziranje web klijenta

Kako bi naš web klijent radio brže, nastojimo maksimalno koristiti standardne mogućnosti preglednika (CSS, itd.). Dakle, komandna ploča obrasca (koja se nalazi na gotovo svakom obrascu aplikacije) prikazuje se isključivo pomoću alata preglednika, koristeći dinamički izgled temeljen na CSS-u.

Testiranje

Za testiranje funkcionalnosti i performansi koristimo vlasnički alat (napisan u Javi i C++) kao i paket testova izgrađenih na Seleniumu.

Naš je alat univerzalan - omogućuje vam testiranje gotovo bilo kojeg programa s prozorima i stoga je prikladan za testiranje i tankog klijenta i web klijenta. Alat bilježi radnje korisnika koji je pokrenuo 1C aplikacijsko rješenje u datoteku skripte. Istodobno se snimaju slike radnog područja zaslona - standardi. Prilikom praćenja novih verzija web klijenta, skripte se reproduciraju bez sudjelovanja korisnika. U slučajevima kada screenshot ni u jednom koraku ne odgovara referentnom, test se smatra neuspjelim, nakon čega stručnjak za kvalitetu provodi istragu kako bi utvrdio radi li se o pogrešci ili planiranoj promjeni ponašanja sustava. U slučaju planiranog ponašanja, standardi se automatski zamjenjuju novima.

Alat također mjeri rad aplikacije s točnošću do 25 milisekundi. U nekim slučajevima, ponavljamo dijelove skripte u petlji (na primjer, ponavljamo unos naloga nekoliko puta) kako bismo analizirali degradaciju vremena izvršenja tijekom vremena. Rezultati svih mjerenja bilježe se u dnevnik radi analize.


Naš alat za testiranje i aplikacija na testu

Naš alat i Selenium se nadopunjuju; na primjer, ako je neki gumb na jednom od zaslona promijenio svoju lokaciju, Selenium to možda neće pratiti, ali naš će alat primijetiti, jer pravi piksel po piksel usporedbu snimke zaslona sa standardom. Alat također može pratiti probleme s obradom unosa s tipkovnice ili miša, budući da je to upravo ono što reproducira.

Testovi na oba alata (naš i Selenium) pokreću tipične scenarije rada iz naših aplikacijskih rješenja. Testovi se automatski pokreću nakon dnevne izgradnje platforme 1C:Enterprise. Ako su skripte sporije (u usporedbi s prethodnom verzijom), istražujemo i rješavamo uzrok usporavanja. Naš kriterij je jednostavan - nova verzija ne bi trebala raditi sporije od prethodne.

Programeri koriste različite alate za istraživanje incidenata usporavanja; uglavnom koristi Dynatrace AJAX izdanje koje proizvodi DynaTrace. Bilježe se dnevnici izvršenja problematične operacije na prethodnim i novim buildovima, zatim se dnevnici analiziraju. Istodobno, vrijeme izvršenja pojedinačnih operacija (u milisekundama) možda neće biti odlučujući čimbenik - servisni procesi poput skupljanja smeća povremeno se pokreću u pregledniku, mogu se preklapati s vremenom izvršavanja funkcija i iskriviti sliku. Relevantniji parametar u ovom slučaju bio bi broj završenih JavaScript upute, broj atomskih operacija na DOM-u itd. Ako je broj instrukcija/operacija u istoj skripti u nova verzija povećana - to gotovo uvijek znači smanjenje performansi koje je potrebno ispraviti.

Također, jedan od razloga za pad performansi može biti to što Google Closure Compiler iz nekog razloga nije mogao izvršiti ugrađenu zamjenu funkcije (na primjer, jer je funkcija rekurzivna ili virtualna). U ovom slučaju pokušavamo ispraviti situaciju prepisivanjem izvornog koda.

Proširenja preglednika

Kada aplikacijsko rješenje treba funkcionalnost koja nije dostupna u JavaScriptu, koristimo proširenja preglednika:
  • za rad s datotekama
  • za rad s kriptografijom
  • rad s vanjskim komponentama
Naše ekstenzije se sastoje od dva dijela. Prvi dio je ono što se naziva ekstenzija preglednika (obično ekstenzije za Chrome i Firefox napisana u JavaScriptu), koje su u interakciji s drugim dijelom - binarnim ekstenzijom koja implementira funkcionalnost koja nam je potrebna. Treba spomenuti da pišemo 3 verzije binarnih proširenja - za Windows, Linux i MacOS. Binarno proširenje isporučuje se kao dio platforme 1C:Enterprise i nalazi se na poslužitelju aplikacija 1C. Kada se prvi put pozove s web klijenta, preuzima se na klijentsko računalo i instalira u preglednik.

Kada rade u Safariju, naša proširenja koriste NPAPI; kada rade u Internet Exploreru, koriste ActiveX tehnologiju. Microsoft Edge još ne podržava proširenja, tako da web klijent u njemu radi s ograničenjima.

Daljnji razvoj

Jedan od zadataka razvojnog tima web klijenta je daljnji razvoj funkcionalnosti. Funkcionalnost web klijenta trebala bi biti identična funkcionalnosti tankog klijenta; sve nove funkcionalnosti implementirane su istovremeno iu tankom i u web klijentu.

Ostali zadaci uključuju razvoj arhitekture, refaktoriranje, poboljšanja performansi i pouzdanosti. Primjerice, jedan od smjerova je daljnje kretanje prema asinkronom modelu rada. Neke od funkcionalnosti web klijenta trenutno su izgrađene na sinkronom modelu interakcije s poslužiteljem. Asinkroni model sada postaje sve relevantniji u preglednicima (i ne samo u preglednicima), a to nas tjera da modificiramo web klijent zamjenom sinkronih poziva asinkronim (i refaktoriranjem koda u skladu s tim). Postupni prijelaz na asinkroni model objašnjava se potrebom podrške objavljenim rješenjima i njihovom postupnom prilagodbom.

Oznake: Dodajte oznake

Počevši od verzije 8.2, program 1C dobio je mogućnost rada u načinu tankog klijenta, koji ima ograničenu funkcionalnost. Unatoč činjenici da je prošlo dosta vremena od objavljivanja ažuriranja, veliki broj korisnika još uvijek ne razumije u potpunosti zašto je ova inovacija potrebna, u kojim situacijama je učinkovita za korištenje i koja je njezina razlika. U ovom materijalu ćemo detaljno govoriti o tome što je 1C tanki klijent, njegove prednosti i nedostatke, kao i kako raditi s njim.

Što je "tanki klijent"?

Da biste razumjeli funkcionalnost ovog programskog klijenta, morate razumjeti zašto se naziva "tanak". Odgovor na ovo pitanje je prilično jednostavan i to je ovaj način rada Rad je vrlo ograničen u svojim mogućnostima u usporedbi s "debelom" verzijom.

Aplikacijski "tanki klijent" ima ograničeniji skup ugrađenih tipova jezika koji je namijenjen isključivo prijenosu podataka i njihovoj promjeni. Sve vezano uz rad s bazom podataka u ovom se slučaju izvršava na poslužitelju. Pomoću ove verzije aplikacije razvija se upravljano 1C sučelje koje vam omogućuje optimizaciju rada tvrtke.

1C "tanki klijenti" sposobni su primati gotove podatke putem web veze, koji su već unaprijed pripremljeni na strani poslužitelja.

Osim toga, korištenje ove vrste aplikacije moguće je pomoću jedne od tri tehnologije:

  • Putem weba (pomoću internetske veze);
  • Preko TCP/IP protokola (tip klijent-poslužitelj);
  • Izravno s bazom podataka.

priključak za internet

„Tanki klijent“ ima mogućnost interakcije s programom „1C: Enterprise“ putem web veze s Internetom. U ovom slučaju rad se odvija s posebno konfiguriranim web poslužiteljem koji koristi http protokol za prijenos podataka. Međutim, sam web poslužitelj radi s programom 1C: Enterprise putem TCP/IP protokola ili izravno.

Važno: morate koristiti jedan od sljedećih sustava kao web poslužitelje:

  • Apache;

Veza klijent-poslužitelj

U tom se slučaju tanki klijenti povezuju s poslužiteljima izravno koristeći TCP/IP protokol za prijenos podataka.

Izravna veza s bazom podataka

U ovom slučaju to se događa izravna interakcija klijent s bazom podataka aplikacije. Da bi se organizirala ova shema rada, na računalu na kojem je instaliran klijent stvara se posebno okruženje, koje se sa stajališta programa percipira kao poslužitelj. Da biste ga organizirali, potrebno je:

  • Preuzmite potrebne datoteke poslužitelja na svoje računalo;
  • Učitaj konfiguraciju aplikacije.

Prednosti tankog klijenta

Ako procesnu tehnologiju ostavimo po strani i prijeđemo na neposredne prednosti koje pruža korištenje ove verzije 1C klijenta, možemo istaknuti nekoliko ozbiljnih prednosti. To uključuje:

  • Mobilnost;
  • Smanjenje opterećenja na komunikacijskom kanalu;
  • Minimalni sistemski zahtjevi;
  • Smanjenje troškova tvrtke.

Mobilnost

Hardverski “tanki klijent” omogućuje korisniku da bude bilo gdje u svijetu, sve dok postoji internetska veza. Na primjer, pretpostavimo da je voditelj odjela na odmoru u inozemstvu. Kako bi donio bilo kakvu važnu odluku, mora se upoznati s najnovijim podacima iz izvješća. Puna verzija aplikacije zahtijevaju vezu putem lokalna mreža, zbog čega u ovom slučaju u pomoć priskače “tanki klijent”. Omogućuje vam rad s bazom podataka s redovnom internetskom vezom.

Još jedan primjer. Ponekad je prilikom obavljanja transakcija u poslovnici koja nema vezu s lokalnom mrežom, npr. u skladištu tvrtke, potrebno preuzeti podatke iz baze skladišta radi naknadnog učitavanja u računovodstvo.

Naravno, takve manipulacije oduzimaju vrijeme i uzrokuju neugodnosti. Upravo se za pojednostavljenje takvih zadataka koriste “tanki klijenti”. Ako imate internetsku vezu, možete jednostavno prenijeti podatke u zajedničku 1C bazu podataka izravno iz skladišta.

Osim toga, “tanki klijenti” koriste mrežni kanal isključivo za prijenos podataka. Puna verzija aplikacije također ga koristi za prijenos servisnih podataka potrebnih za rad softver, što smanjuje korisni kapacitet kanala.

Dakle, "tanki klijenti" vam omogućuju rad u 1C programu tamo gdje nema dobre web veze propusnost.

Niski zahtjevi sustava

Situacija je slična Zahtjevi sustava programa. Za pokretanje pune verzije potrebna su snažnija računala budući da aplikacija koristi procesor i radna memorija sustava. "Tani klijenti" 1C mnogo su manje zahtjevni za resurse osobno računalo. To je ono što mu omogućuje da se koristi čak i na slabi sustavi.

Smanjenje troškova tvrtke

Ova točka proizlazi iz svih prethodnih. Zbog činjenice da razvoj upravljanog sučelja omogućuje optimizaciju tijeka rada, uštedu vremena i resursa tvrtke, to dovodi do smanjenja ukupnih troškova tvrtke za računovodstvo.

Nedostaci tankog klijenta

Naravno, svaki novčić ima lošu stranu. "Tanki klijent" također ima neke neugodnosti i ograničenja, koja se ne mogu zanemariti. To uključuje:

  • Zahtjev za moćnim poslužiteljem;
  • Ograničena funkcionalnost;
  • Neobično sučelje.

Zahtijeva moćan poslužitelj

Ako veliki broj "tankih klijenata" komunicira s glavnim poslužiteljem putem web veze, bit će podložan prilično velikom opterećenju, što nameće određene tehničke zahtjeve. Međutim, korištenje pune verzije programa ne učitava puno manje, tako da je ovaj nedostatak vrlo relativan.

Ograničena funkcionalnost

Kao što je gore navedeno, laka verzija Aplikacija ima vrlo ograničenu funkcionalnost. Na primjer, nije moguće raditi u načinu rada “Konfigurator”.

Sučelje

Taj nedostatak postupno nestaje s vremenom i izdavanjem ažuriranja, ali u početku su mnoge tvrtke odbijale koristiti "tanke klijente" ili su ga pokušavale izbjeći upravo zato što je sučelje aplikacije bilo krajnje nezgodno i jako se razlikovalo od pune verzije.

Mnogi korisnici novih verzija 1C žale se spor rad kontrolirani oblici.

Događa se da se usporava zbog demencije računala, ali ponekad čak i na prilično modernim i produktivnim strojevima, 1C nastavlja sisati našu krv. Pa, koliko je moguće?

Postoji izlaz! Zove se "Tani klijent na web poslužitelju". Ne morate čak ni nadograditi svoj hardver, 1C će raditi mnogo brže na vašim trenutnim računalima.

Međutim, ne može se u svim slučajevima koristiti tanki klijent.

Tanki klijent vam neće pomoći ako

  • Imate staru konfiguraciju 1C, koja već radi brzo, na primjer UT 10.3, Retail 1.0. Ovdje će pomoći samo poslužitelj 1C SQL poslužitelj ili RDP poslužitelj.
  • Imate samo jedno računalo. Ako je 1C bezbožno spor, jedina opcija- promijenite ga u moćniji ili ga nadogradite.

Tanki klijent će ubrzati rad ako

  • Imate nekoliko računala koja rade u 1C preko mreže i imate konfiguraciju na upravljanim obrascima: Trade Management 11, Retail 2, Integrated Automation 2.

Bilješka

  • Ako imate više od 10 korisnika, tada se još veća produktivnost može postići instaliranjem poslužiteljske verzije 1C i SQL poslužitelja uz tanki klijent na web poslužitelju.

Prednosti rada u načinu tankog klijenta u usporedbi s radom preko mreže

  1. Ubrzati. 1C u načinu tankog klijenta radi 2 puta brže. Jer glavnina podataka obrađuje se na poslužitelju (računalo s bazom podataka), a vaše računalo prima samo podatke koje treba prikazati.
  2. Sigurnost. Klijentsko računalo nema izravan pristup bazi podataka. Stoga neće biti moguće ukrasti bazu. Ne možete ni otvoriti konfigurator.
  3. Pristup putem web preglednika. Bazi podataka možete pristupiti putem Chrome / Mozille.
    1. Za prijavu s bilo kojeg mjesta, a ne samo iz vaše lokalne mreže, potrebna vam je bijela IP adresa.

Za rad 1C u načinu tankog klijenta ne morate kupiti dodatne licence. Kao web poslužitelj koristi se ili besplatni Apache ili ugrađeni Windows IIS poslužitelj.

Prijelaz na rad u načinu rada tankog klijenta provodi se u tri koraka.

  1. Na jedno od računala instaliran je web poslužitelj, po mogućnosti snažniji od ostalih, a 1C je konfiguriran.
  2. Na drugim računalima registrirani su novi putovi do baze podataka.
  3. Dobit! 1C počinje raditi 2 puta brže.

Bilješka! Pristup putem tankog klijenta moguć je samo za baze podataka koje podržavaju rad u modu upravljanih obrazaca na platformi 1C 8.2 i 8.3.

Primjeri konfiguracija koje podržavaju rad u načinu upravljanih obrazaca:
Enterprise Accounting, verzija 3.0 i novije
Upravljanje plaćama i osobljem, izdanje 3.0 i više
Upravljanje trgovinom 11.1 i više
Kontrolirati mala tvrtka, revizija 1.4 i novije

Faza 1. Objava baze podataka.

Da biste se povezali s bazom podataka u načinu tankog klijenta, morate se pokrenuti objavljivanje baze podataka

Faza 2. Instalacija i konfiguracija aplikacije 1C:Enterprise 8. Tanki klijent

Besplatno preuzmite klijentsku aplikaciju

Instalirajte aplikaciju nakon preuzimanja i pokrenite je 1C Enterprise (tanki klijent).

Kada ga pokrenete prvi put 1C Enterprise (tanki klijent) morat će dodati novu bazu podataka na popis. Da biste to učinili, kliknite gumb "Dodaj".

U prozoru za dodavanje baze podataka koji se otvori odredite naziv baze (proizvoljno) i odaberite opciju povezivanja - Web poslužitelj.

Zalijepite kopiranu vezu u " Navedite liniju adrese infobaze". Ako vaša mreža koristi proxy poslužitelj, navedite njegove parametre, inače ostavite sve zadane postavke i kliknite gumb Unaprijediti.

U prozoru postavki certifikata ostavite sve zadane vrijednosti - kliknite Unaprijediti.

U prozoru Mogućnosti pokretanja možete ostaviti zadane postavke. Zatim kliknite gumb Spreman.

Informacijska baza će se pojaviti na popisu za odabir baze podataka. Za pokretanje baze podataka kliknite gumb 1C: Enterprise.

Prilikom pokretanja baze podataka, u prozoru Pristup web poslužitelju morat će se specificirati Vaša prijava i lozinka za uslugu 42 Cloud.

Zatim će se pojaviti prozor Pristup informacijskim bazama e - trebate odabrati svoj korisnik u bazi podataka 1C.Bilješka: Prema zadanim postavkama, korisnik Administrator kreiran je u bazama podataka, bez lozinke.

Kada prvi put pokrenete bazu, bit će vam postavljeno pitanje: „Sustav je pokrenut bez korištenja hardverske licence (zaštitnog ključa). ...onemogućiti korištenje hardverske licence (sigurnosnog ključa)?” (budući da nema izravnog pristupa hardverskom zaštitnom ključu s vašeg lokalnog računala - ključ se nalazi na 42 Cloud poslužitelju). Klik Da kako bi se ubrzalo pokretanje baze podataka.


Nakon toga će se pokrenuti baza podataka 1C i moći ćete s njom raditi u načinu tankog klijenta.

Ugodan posao!

Glavna razlika između tankog i debelog klijenta 1C je mjesto gdje se provode glavni izračuni - na poslužitelju ili na radnoj stanici korisnika. To nameće neka ograničenja u korištenju jedne ili druge opcije rada.

U ovom članku bloga Integrus pogledat ćemo različite klijentske aplikacije 1C sustava - što znači 1C tanki klijent, 1C debeli klijent, što je to i koje su razlike, te u kojim slučajevima bi bilo bolje koristiti svaku od njih.

Debeli klijent 1C

Ako koristite 1C u načinu rada debelog klijenta, to znači da se sve operacije s podacima provode izravno na radnoj stanici korisnika, a sami podaci pohranjuju se na poslužitelju, gdje im pristupa klijentska aplikacija.

Takav klijent može obavljati gotovo sve funkcije i raditi s njim vrste aplikacija podaci.

Debeli klijent 1C instaliran je iz opće distribucije sustava, gdje je naveden kao zasebna komponenta. Također ne bi trebalo biti poteškoća s pitanjem kako pokrenuti debeli klijent 1C 8.3 - pokreće ga izvršna datoteka 1cv8.exe.

Tanki klijent 1C

Rad u načinu tankog klijenta 1C znači da se na poslužitelju, osim pohranjivanja podataka, izvršavaju gotovo svi programski kodovi, zahtjevi, pohranjuju privremene datoteke i predmemorija. Na svom radnom mjestu korisnik samo unosi početne podatke i vidi rezultat prikazan na svom monitoru.

1C tanki klijent instaliran je iz 1C distribucijskog kompleta. Ako ga nemate, budući da, na primjer, radite s oblakom 1C i iznajmljujete ga, tada se zasebna distribucija može preuzeti na web stranici 1C. Obavezno provjerite odgovara li njegova verzija verziji platforme koju koristite.

Tanki klijent za 1C:Enterprise pokreće se iz izvršna datoteka 1cv8c.exe.

Vrijedno je posebno spomenuti da se za tanki klijent 1C 8.3 ne preporučuje način rada datoteke; poželjan je način rada klijent-poslužitelj. Iako je datotečni način rada moguć, sav kod će se izvršavati na računalu korisnika, što poništava sve prednosti tankog klijenta.

Kao što vidite, glavna razlika između 1C tankih i debelih klijenata je gdje se provode glavni izračuni - na poslužitelju ili na radnoj stanici korisnika.

To nameće neka ograničenja na korištenje jedne ili druge opcije rada:

  • važna razlika između tankih i debelih klijenata 1C - rad s "Konfiguratorom" i konzolom za upite moguć je samo u načinu rada debelog klijenta
  • Debeli klijent radi po TCP/IP protokolu, stoga je dosta zahtjevan na komunikacijskom kanalu, jer njegov rad zahtijeva razmjenu relativno velike količine informacija s poslužiteljem
  • 1C tanki klijent radi isključivo u modu upravljane aplikacije, funkcionalnost dostupna korisniku ograničena je u usporedbi s funkcionalnošću debelog klijenta, na primjer, nemoguće je raditi s tipovima podataka aplikacije
  • koristeći tanki klijent, moguće je raditi s 1C putem interneta - tanki klijent se može povezati s web poslužiteljem putem http ili https
  • Debeli klijent ima prilično veliki volumen distribucije; s njegovom instalacijom i konfiguracijom mogu se pojaviti neke poteškoće - preporučljivo je da se time bavi kvalificirani stručnjak. Dok instalaciju, konfiguraciju tankog klijenta 1C 8.3, povezivanje s informacijskom bazom može obaviti bilo koji više ili manje napredan korisnik.

Web klijent 1C

Web klijent 1C- u biti ovo nije zasebna aplikacija, već tehnologija koja vam omogućuje rad u poznatom 1C okruženju pomoću preglednika, jednostavnim označavanjem adrese odgovarajućeg 1C web poslužitelja u adresnoj traci. Da bi funkcionirao, morat ćete prvo postaviti web poslužitelj i objaviti na njemu informacijska baza, također će web klijent raditi samo s konfiguracijom 1C koja podržava zahtjeve za tanki klijent.

Dobra stvar kod web klijenta je što ne morate ništa instalirati da bi radio na korisnikovom uređaju, može raditi u svim najčešćim preglednicima. Među nedostacima možemo primijetiti ograničena funkcionalnost te činjenica da prisutnost web poslužitelja ne ispunjava uvijek zahtjeve informacijske sigurnosti.

Koji je brži, tanki ili debeli klijent 1C?

Teško je nedvosmisleno odgovoriti na pitanje: tanki ili debeli 1C klijent, koji je brži? Ovisi o uvjetima korištenja.

  • Tanki klijent ima niske zahtjeve prema korisničkom uređaju i komunikacijskom kanalu, dok su mogućnosti sustava gotovo u potpunosti iskorištene, no rad se može usporiti ako više zaposlenika istovremeno koristi resurse poslužitelja.
  • Debeli klijent može zahtijevati značajnu snagu od korisničkog računala i dobar kanal prijenos podataka, a korisniku pruža određenu autonomiju, na njegov rad ne utječe koliko ljudi istovremeno radi sa sustavom, postoji li internetska veza i sl.

Stoga je prije odabira i postavljanja 1C klijenta preporučljivo analizirati tko i kako koristi 1C u vašoj tvrtki i koje vrste 1C klijenata će vam trebati.

  • Ako se radi o računovodstvenom odjelu koji se nalazi u uredu, kojem se može osigurati dovoljno moćna računala i lako je organizirati njihovu administraciju ako su sva ta računala povezana s lokalnom mrežom - u ovom će slučaju debeli klijent biti praktičniji.
  • Ako vaši zaposlenici često moraju raditi na daljinu, putem interneta, jer imaju česta poslovna putovanja ili su jednostavno u drugim gradovima, jer je to infrastruktura vaše tvrtke, ako koriste prijenosna računala male snage ili dr. Mobilni uredaji, tada će im odgovarati postavljanje 1C tankog klijenta.

Ažuriranje 1C klijenata

I na kraju, nekoliko riječi o tome kako se ažuriraju 1C klijenti:

  • Ažuriranje tankog klijenta može se izvršiti automatski putem interneta,
  • ažuriranja za debeli klijent moraju se preuzeti s web stranice 1C ili.

Ako imate pitanja o odabiru 1C klijenta, instalaciji, konfiguraciji, ažuriranju, administraciji softverski proizvodi 1C, možete se obratiti stručnjacima tvrtke Integrus ili pogledati odjeljak bloga naše tvrtke s uputama i preporukama o temama 1C.