Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Llojet e të dhënave në ndërmarrjen 1s. Përdorimi i Llojeve të Përcaktuara

Llojet e të dhënave në 1C: Enterprise 8.x

Përpara se të zhytemi në konstruktet e gjuhës 1C:Enterprise, duhet të njihemi me llojet bazë të të dhënave. Për fat të mirë,:

Fillestarët për të studiuar platformën 1C ndonjëherë kanë konfuzion në lidhje me përkufizimin e llojeve të të dhënave dhe të gjitha llojet e nuancave gjuhësore që lindin. Ky artikull i parë është hyrës dhe i kushtohet llojeve primitive të të dhënave 1C, nuk ka aq shumë prej tyre.

Numri. Numrat në 1C nënkuptojnë si numra të plotë ashtu edhe vlera me pikë lundruese. Gjatësia maksimale e bitit për një vlerë të llojit të numrit mund të jetë 32 shifra, duke përfshirë pikën dhjetore. Gjithashtu duhet pasur parasysh që kufiri 32-shifror vlen për numrat që do të shkruhen në bazën e të dhënave. Është e mundur të deklarohet një variabël dhe t'i caktohet një vlerë më e madhe se 32 karaktere. Për vlerat numerike që ruhen në memorie, ky kufizim nuk zbatohet. Kur deklarohet si variabël i tipit "Numër", vlera e tij do të jetë 0.

Linjë. Si në çdo gjuhë tjetër programimi, 1C zbaton të gjitha funksionet e nevojshme për manipulimin e vargjeve. Vlerat e këtij lloji përfaqësohen në Unicode. Gjatësia e variablave të tipit të vargut nuk është e kufizuar.

Data e. Përveç vetë datës, vlerat e këtij lloji përmbajnë edhe kohën. Koha i referohet orëve, minutave dhe sekondave. Menjëherë pas inicializimit të një variabli të tipit "Date", do t'i caktohet vlera (data) "01 janar 0001 00 orë 00 minuta 00 sekonda". Kjo ndonjëherë është e bezdisshme, por mësoheni me kalimin e kohës.

Boolean. Është e qartë se variablat e këtij lloji mund të marrin vetëm dy vlera: True, False.

E papërcaktuar. Vlerat e tipit "të papërcaktuara" përdoren në rastet kur dëshironi të specifikoni një vlerë boshe që nuk i përket asnjë lloji tjetër të të dhënave. Për shembull, ju duhet të deklaroni një ndryshore, e cila më pas do të përdoret diku. Mund t'i caktoni një vlerë si 0 ose "" (d.m.th. një varg bosh), por duke e bërë këtë, ju vendosni menjëherë llojin e duhur për të (një numër ose një varg). Por, çka nëse instalimi i një prej këtyre llojeve më vonë mund të ndërhyjë? Në raste të tilla, mund të përdorni vlerën e tipit "të papërcaktuar". Vlen gjithashtu të theksohet se shumë funksione të gjuhës së integruar, në rast të ekzekutimit të pasuksesshëm, kthejnë një vlerë të këtij lloji si rezultat. Kur përshkruani funksionet tuaja, rekomandohet të udhëhiqeni nga i njëjti rregull.

I pavlefshëm. Kuptimi i përgjithshëm i Null është pothuajse i njëjtë me atë të "pacaktuar". Vlerat e këtij lloji përdoren për të treguar një vlerë që mungon në bazën e të dhënave. Më shpesh, ju mund të merrni vlera të këtij lloji duke përdorur një gjuhë pyetjesh. Për shembull, një pyetje që përdor bashkimet e tabelave. Supozoni se nuk ka asnjë vlerë në njërën nga tabelat që plotëson kushtin. Në këtë rast, në vend të vlerës që mungon do të ketë një vlerë të tipit Null.

Është e mundur të hasni një vlerë të tipit Null jo vetëm kur punoni me pyetje. Për shembull, një vlerë Null pranon atribute që nuk përdoren nga objekti. Le të imagjinojmë se kemi një libër referimi hierarkik me atributin "sasi". Kur u krijua ky atribut, vetia "Përdor" u vendos në "Për elementin". Nëse përpiqeni të aksesoni këtë atribut për një element referimi të llojit "grup", atëherë vlera e tij do të jetë Null.

Lloji. Ky lloj përdoret për të përcaktuar llojet e disponueshme. Tingëllon pak konfuze? Ok, do të përpiqem të shpjegoj me një shembull. Imagjinoni që jeni përballur me detyrën e krahasimit të llojeve të dy variablave. Në kod do të duket diçka si kjo:

Variabla1 = 123; //Meqenëse kemi caktuar një numër, lloji i ndryshores do të jetë "numër".
Variabla2 = "string"; //Këtu kemi caktuar një varg, kështu që lloji i ndryshores do të jetë një varg.

Tani duhet të jeni 100% i sigurt se ndryshorja 1 është numerike. Këtu vjen në ndihmë tipi "Type" (tingëllon qesharake), si dhe disa funksione ndihmëse. Derisa të futeni në detaje. Thjesht hidhini një sy dhe përpiquni të kuptoni shembullin e mëposhtëm:

Nëse (TypeZnch(Variable1) = Lloji ("Numër")) Pastaj

alert ("Variable1 është numerike!");

Përndryshe

alert("Variable1 NUK eshte numerike:(");

FundNëse;

Në këtë pjesë të vogël të kodit, fillimisht marr llojin e ndryshores duke përdorur funksionin ValueType(). Ky funksion merr si parametër një vlerë llojin e së cilës dëshironi të merrni. Në rastin tonë, kjo është "Variable1". Pastaj më duhet të marr një vlerë të tipit "Type", e cila karakterizon llojin "Numër". Për ta bërë këtë, gjuha e integruar ofron funksionin "Type()". Duhet vetëm një argument, një paraqitje e vargut të emrit të tipit. Meqenëse duhet të krahasohemi me llojin "Number", atëherë parametri për funksionin do të jetë "Numër".

Falenderoj Igor Antonov për ndihmën e tij në shkrimin e artikullit.

Sistemi i tipitështë një sistem i veçantë me të cilin organizohen të dhënat e përdorura nga zgjidhjet aplikative. Sistemi i tipit ju lejon të përfaqësoni informacionin e botës reale në terma që janë "të kuptueshëm" për 1C: Enterprise 8.

Sistemi i tipit ofron mundësi të shumta si për përshkrimin e drejtpërdrejtë të logjikës së biznesit të zgjidhjeve të aplikuara, ashtu edhe për kryerjen e detyrave të ndërmjetme të përpunimit të të dhënave.

Sistemi i tipit përshkruhet në Asistentin e sintaksës, në ndihmën e integruar dhe në dokumentacion.

Tipari kryesor i sistemit të tipit është se ka lloje që ekzistojnë në çdo zgjidhje aplikimi. Vetë këto lloje janë të përcaktuara në nivelin e platformës dhe janë gjithmonë të pranishme, pavarësisht nga veprimet e zhvilluesit. Së bashku me to, në një zgjidhje të veçantë aplikimi, mund të ketë lloje të ndryshme të të dhënave që janë të natyrshme në këtë zgjidhje të veçantë aplikimi. Për lloje të tilla të dhënash, në nivel platforme përcaktohen vetëm rregullat e përgjithshme për krijimin e tyre, shabllonet. Dhe llojet specifike të të dhënave krijohen nga platforma bazuar në mënyrën se si zhvilluesi formon dhe modifikon strukturën e zgjidhjes së aplikuar.

Llojet e të dhënave të përcaktuara në nivelin e platformës

Grupi i llojeve me të cilat mund të funksionojnë zgjidhjet e aplikuara është mjaft i larmishëm. Kjo ju lejon të zgjidhni si detyrat e përpunimit të të dhënave ashtu edhe detyrat e paraqitjes së këtyre të dhënave tek përdoruesi dhe punës në mënyrë interaktive me ta. Ekzistojnë disa kategori kryesore të llojeve të të dhënave.

Llojet primitive

Llojet primitive të të dhënave janë lloje si Linjë, Numri, datën e, logjike dhe të tjerët. Këto lloje nuk janë diçka e veçantë për 1C:Enterprise 8. Si rregull, lloje të tilla të dhënash ekzistojnë edhe në sisteme të tjera softuerike.

Vlerat e llojeve primitive janë vlera të thjeshta të pandashme në të cilat është e pamundur të dallohen përbërësit individualë. Për shembull, vlerat si Numri mund të jetë 1, 8, 15, etj. Për të krijuar një vlerë të një lloji primitiv, duhet ta specifikoni atë në tekstin e programit fjalë për fjalë- identifikuesi i karakterit të vlerës.

Koleksionet e Vlerave Gjenerike

Gjithashtu, ka lloje më komplekse të të dhënave. Për shembull, platforma mbështet një numër llojesh që janë koleksione të përgjithshme vlerash: varg, Struktura, Lista e vlerave dhe të tjerët.

Llojet e përgjithshme

Për më tepër, platforma zbaton lloje specifike të të dhënave që zbatojnë një ose një tjetër funksionalitet të zgjidhjeve të aplikuara: Dokument teksti, SpreadsheetDocument, Vlerat e ruajtjes, Ndërtuesi i kërkesës dhe të tjerët.

Quhen edhe llojet e zakonshme objekte të përbashkëta. Vlerat e këtyre llojeve, në kontrast me vlerat e llojeve primitive, janë një koleksion vlerash të vetive individuale të një objekti. Prandaj quhen raste objektesh.

Instancat e objekteve krijohen duke përdorur një operator të veçantë gjuhësor të integruar - I ri.

Llojet e ndërfaqes

Llojet e ndërfaqes ju lejojnë të organizoni ndërveprimin vizual të zgjidhjes së aplikuar me përdoruesin. Në thelb, këto janë lloje që lidhen me funksionimin e formave dhe elementeve të tyre.

Llojet e të dhënave të krijuara në zgjidhjen e aplikuar

Megjithatë, së bashku me llojet e të dhënave që përcaktohen në nivelin e platformës, një zgjidhje e veçantë aplikacioni mund të përdorë lloje unike të dhënash që ekzistojnë vetëm në atë zgjidhje të veçantë aplikacioni. Për më tepër, platforma do të mbështesë plotësisht punën me këto lloje të dhënash në të njëjtën mënyrë si me llojet që përcaktohen në nivelin e vetë platformës.

Si rregull, shfaqja e llojeve të reja të të dhënave në një zgjidhje aplikacioni shoqërohet me përdorimin e objekteve të konfigurimit të aplikacionit. Prandaj quhen edhe këto lloje llojet e aplikacioneve ose objektet e aplikuara.

Në nivelin e platformës, mbështeten disa klasa (shabllone) të objekteve të aplikacionit, të cilat në vetvete nuk mund të përdoren në një zgjidhje të veçantë aplikimi. Për shembull, mund të rendisni klasa të tilla të objekteve të aplikacionit si Libra referencë, Dokumentet, Regjistrat e informacionit, Planet e llojeve të karakteristikave etj.

Për secilën klasë të objekteve të aplikuara, përcaktohet funksionaliteti bazë që i përgjigjet: llojet e tabelave të bazës së të dhënave që duhet të krijohen për të ruajtur të dhënat, formularët standardë, objektet e gjuhës standarde, grupet e të drejtave, etj.

Zhvilluesi, kur krijon një zgjidhje aplikacioni, nuk ka mundësinë t'i përdorë këto klasa drejtpërdrejt, megjithatë, ai mund të shtojë një objekt të ri konfigurimi në zgjidhjen e tij të aplikacionit që trashëgon të gjithë funksionalitetin e një klase të caktuar:

Për shembull, një zhvillues mund të shtojë një referencë të re në zgjidhjen e tij të aplikacionit Nomenklatura Libra referencë, ose një dokument të ri Raporti i parave, i cili do të trashëgojë funksionalitetin e klasës Dokumentet.

Menjëherë pas një shtimi të tillë, lloje të reja të të dhënave bëhen të disponueshme për zhvilluesin, përbërja e të cilave përcaktohet nga përkatësia e objektit të konfigurimit në një ose një klasë tjetër të objekteve të aplikacionit.

Për shembull, pas krijimit të një drejtorie të re Nomenklatura, llojet e mëposhtme të të dhënave bëhen të disponueshme:

  • DirectoryManager.Nomenklatura,
  • DirectoryLink.Nomenklatura,
  • DirectoryObject.Nomenklatura,
  • DirectorySelection.Nomenklatura,
  • Lista e Drejtorive.Nomenklatura.

Sistemi tip përshkruan vetëm "strukturën" e përgjithshme të këtij lloji, rregullat me të cilat do të formohen objektet e këtij lloji. Emri specifik i llojit, përbërja e vetive dhe metodave të objektit do të varet nga mënyra se si zhvilluesi e quan objektin e konfigurimit dhe çfarë, për shembull, detaje, pjesë tabelare, do t'i shtojë atij.

Në të njëjtën kohë, pas krijimit të një regjistri të ri akumulimi Kompanitë e Shitjes, përbërja e llojeve të reja të të dhënave do të jetë e ndryshme:

  • RegisterAccumulationManager.SalesCompanies,
  • RegisterAccumulationSampling.SalesCompanies,
  • RegisterAccumulationList.SalesCompanies,
  • RegisterAccumulationSetRecords.SalesCompany,
  • RegisterAccuulationRecord.SalesCompanies,
  • Akumulimi RegisterRecordKey.CompanySales.

Duhet të theksohet përsëri se këto lloje të të dhënave nuk mbështeten në mënyrë origjinale nga platforma dhe ekzistojnë vetëm në një zgjidhje specifike aplikacioni.

Një pikë tjetër që duhet theksuar është më e lehtë për t'u demonstruar me një shembull.

Supozoni se dy drejtori të reja janë krijuar në zgjidhjen e aplikacionit: Nomenklatura Dhe Çmimet. Pavarësisht se të dyja këto objekte trashëguan funksionalitetin e klasës përkatëse Libra referencë, dhe i njëjti grup i llojeve të të dhënave u krijua për ta në zgjidhjen e aplikacionit, llojet e të dhënave "me të njëjtin emër" do të jenë lloje të ndryshme të dhënash. Për shembull, DirectoryObject.Nomenklatura Lloji i të dhënave .

/
Krijimi dhe modifikimi i objekteve të meta të dhënave

Përdorimi i Llojeve të Përcaktuara

Fushëveprimi: aplikim i menaxhuar, aplikim i rregullt.

1. Llojet e përcaktuara janë krijuar për të përcaktuar llojet e të dhënave që përshkruajnë entitete të përdorura shpesh ose, me një shkallë të lartë probabiliteti, mund të ndryshojnë kur zbatohet një zgjidhje e aplikuar. Ato ju lejojnë të ripërdorni llojin e përshkruar ose grupin e llojeve pa specifikuar përbërjen në vende të ndryshme të konfigurimit (në atribute, vetitë e objekteve, format, etj.).

Shihni gjithashtu artikullin mbi ITS: "Objektet e konfigurimit - Llojet e përcaktuara"

2.1. Të përcaktojë një lloj të thjeshtë dhe kualifikuesit e tij që kanë një kuptim të aplikuar, i cili përdoret në atribute të ndryshme, burime, atribute të formës, paraqitje, etj. brenda çdo nënsistem ose në të gjithë zgjidhjen e aplikimit. Kjo garanton të njëjtën gjatësi, saktësi të të dhënave në të gjitha vendet e përdorimit dhe thjeshton ripunimin në rast ndryshimi të kërkesave.
Për shembull:

  • Numri i faturës- Rreshti, gjatësia 30. Rregullon formatin e numrit të faturës në dokumente të ndryshme: Pranimi i mallrave dhe shërbimeve, Shkruani LibraBlerjet, Kthimi i mallrave nga klienti dhe etj.
  • Adresa e dorëzimit- Vargu, 500. Paraqitja tekstuale e adresës së dorëzimit në dokumente Furnizuesi i porosive, Adresa e dorëzimit të transportuesit, në përpunim Asistent i shitjes, në rekuizita Adresa e dorëzimit të transportuesit dokument Aplikim për kthimin e mallrave nga klienti dhe etj.

2.2. Për të përcaktuar një lloj të përbërë që përdoret masivisht në objektet e një nënsistemi ose në të gjithë zgjidhjen e aplikimit. Lloji i përcaktuar garanton të njëjtën përbërje (lloj) të dhënash në të gjitha vendet e përdorimit, dhe gjithashtu thjeshton zhvillimin dhe zbatimin e nënsistemeve në konfigurimet e aplikacioneve.

Për shembull, nënsistemi është i ngulitur në konfigurim Ndërveprimet, i cili është krijuar për korrespondencën me e-mail, regjistrimin e thirrjeve dhe takimeve. Gjatë zbatimit të këtij nënsistem, zhvilluesi vendosi për përbërjen e objekteve të meta të dhënave që mund të veprojnë si "kontakte ndërveprimi" - këto janë elemente të drejtorive Individët, Partnerët, Kontakt Partnerët, dhe vendoseni këtë përbërje të llojeve në llojin e përcaktuar Ndërveprimet e kontaktit të parashikuara në nënsistem. Nga ana tjetër, lloji i përcaktuar përdoret masivisht në atributet e objekteve dhe format e nënsistemit (në dokumente Takimi, Ndërveprim i planifikuar- pjesa tabelare Anëtarët, në dokument Mesazh SMS- seksioni tabelor Adresat, në dokument Telefonatë- props Kontakti i pajtimtarit, në forma të përgjithshme Libri i adresave, ZgjedhjaKontakt- kushtet Kontaktet Sipas subjektit, në parametrin e paraqitjes HierarkiaNdërveprimetKontakti ditar dokumentesh Ndërveprimet etj.) Përndryshe, pa përdorur llojin që përcaktohet Ndërveprimet e kontaktit do të ishte e nevojshme të hiqni objektet e nënsistemit nga mbështetja dhe të vendosni përbërjen e kërkuar të llojeve në të gjitha vendet e listuara.

2.3. Kur zhvilloni një nënsistem të injektuar, për të anashkaluar llojin e aplikacionit, i cili do të specifikohet gjatë zbatimit.
Për shembull, lloji i nënsistemit Furnizuesit mund të zëvendësohet me një lloj konfigurimi të aplikuar kur vendoset Kundërpalët.

3. Është e gabuar të përdoren lloje të përcaktuara për të vendosur një "sinonim" për një lloj ekzistues, "zëvendësim" të entiteteve, për përdorim lokal (jo masiv) brenda një nënsistem (konfigurimi) pa pasur nevojë për zbatim në konfigurime të tjera, vetëm për arsyet e lehtësisë së përsosjes. Si rregull, kjo tregon një gabim të projektimit ose një zgjedhje metodologjikisht të pasaktë të emrit të tipit origjinal.

Ne vazhdojmë njohjen tonë me funksionalitetin e ri të 1C: Enterprise, i cili filloi në artikullin e mëparshëm të ciklit. Pas studimit të materialeve në këtë artikull, do të mësoni:

  • Cilat janë llojet e përcaktuara dhe si t'i përdorim ato?
  • Për çfarë përdoret vetia e konfigurimit të roleve parësore?
  • Si të përdorni Ndihmësin për Krijimin e Trajtuesit të Ngjarjeve të Klientit Form?
  • Si dhe pse përdoren deponitë e konfigurimit në skedarët XML?

Zbatueshmëria

Artikulli merret me versionin 8.3.4.437 të platformës 1C:Enterprise, por materialet e tij mund të jenë gjithashtu të dobishme për ata që punojnë në versione më të vjetra.

Si të lehtësoni zhvillimin në 1C: Ndërmarrja 8.3

Ne vazhdojmë të shqyrtojmë risitë në platformën 1C:Enterprise 8 që synojnë lehtësimin e konfigurimit.

Llojet e përcaktuara

Në platformën 8.3, një objekt i ri është shtuar në degën e konfigurimit "General" - Llojet e përcaktuara.

Ky është një objekt i veçantë konfigurimi që është krijuar për të përcaktuar një lloj të dhënash që përshkruan një entitet të përdorur zakonisht ose, me një shkallë të lartë probabiliteti, mund të ndryshojë kur zbatohet një zgjidhje aplikimi.

Për shembull, merrni parasysh një lloj të përbërë që përfshin një lidhje me drejtoritë "Contractors" dhe "Individuals".

Dhe ky lloj në disa konfigurime të zhvilluara përdoret shpesh si një dimension në regjistrin e informacionit që përshkruan informacionin e kontaktit, si një atribut në dokumentin "Kuponi i parave", etj.

Në procesin e zbatimit të një konfigurimi të tillë, përbërja e këtij lloji mund të ndryshojë - mund t'i shtohen objekte të reja, dhe anasjelltas - llojet e panevojshme mund të përjashtohen.

Nëse në vend të "llopit tonë të definueshëm" të ri, ne përdorim një tip të përbërë në çdo vend ku përdoret një ent i tillë, atëherë do të duhet të ndryshojmë përbërjen e llojeve kudo. Është e gjatë, e vështirë, intensive e punës, ekziston mundësia të harrosh disa rekuizita.

Nëse përdorni një lloj të përcaktuar, atëherë në procesin e finalizimit të zgjidhjes së aplikuar, do t'ju duhet vetëm të ndryshoni përkufizimin e këtij lloji (dhe kodin e programit që përpunon fusha të tilla).

Të gjitha atributet për të cilat lloji i përcaktuar është specifikuar si tip do të ndryshohen automatikisht.

Këtu është një shembull tjetër i përdorimit të një lloji të përcaktuar.

Për disa atribute, ekziston një standard shtypjeje brenda konfigurimit. Për shembull, ne përcaktojmë një sasi si një numër gjatësie 15 me një saktësi prej 3, dhe një sasi si një numër gjatësie 15 me një saktësi prej 2.

Le të supozojmë se ndërmarrja duhej të mbante shënime për mallrat me vlerë të lartë me saktësi të lartë të peshës së tyre.

Prandaj, na duhej të rrisnim saktësinë e detajeve për të llogaritur numrin deri në 4 shifra dhjetore. Këto ndryshime duhet të bëhen njëkohësisht në të gjitha detajet e dokumenteve, regjistrin e burimeve.

Kjo është një detyrë e thjeshtë, por kërkon shumë kohë dhe kërkon kujdes dhe këmbëngulje të madhe të zhvilluesit.

Kur krijoni një lloj të ri që përcaktoni, duhet vetëm të specifikoni llojin e tij. Pastaj, kur krijoni detajet e dokumenteve, regjistroni burimet, do të jetë e mundur të zgjidhni një lidhje me llojin e përcaktuar të krijuar.

Kjo qasje ju lejon të garantoni të njëjtin lloj të dhënash (të njëjtën gjatësi, saktësi, të njëjtën përbërje për fushat e një lloji të përbërë, etj.) në të gjitha vendet ku përdoret.

Pastaj, nëse keni nevojë të ndryshoni llojin e të dhënave të të gjitha atributeve, nuk keni nevojë të korrigjoni manualisht secilin atribut veç e veç, mjafton të bëni ndryshime në llojin përkatës të përcaktuar.

Lloji që përcaktohet mund të bëhet i përbërë. Megjithatë, ka kufizime në përdorimin e këtij objekti konfigurimi. Kështu, lloji i përcaktuar nuk mund të jetë pjesë e llojit të vlerës së planit të llojeve të karakteristikave, dhe gjithashtu nuk mund të jetë pjesë e tipit të të dhënave të përbëra të një atributi tjetër.

Vini re se në platformën 8.3.5, mundësitë për përdorimin e llojeve të përcaktuara janë rritur duke zgjeruar grupin e llojeve që mund të jenë pjesë e tipit të përcaktuar.

Nuk kishte më ndryshime deri në versionet aktuale të platformës 8.3.10/8.3.11 në punën me llojin e përcaktuar.

Vetia e konfigurimit "Rolet kryesore"

Në platformën 8.2, elementi i konfigurimit rrënjë kishte veçorinë "Roli kryesor", në të cilin zhvilluesi përcaktoi rolin që do të përdorej nëse nuk do të kishte përdorues në bazën e informacionit.

Në platformën 8.3, u bë e mundur të specifikohen disa role që do të përdoren gjatë përcaktimit të të drejtave të aksesit kur lista e përdoruesve është bosh. Prandaj, prona u riemërua në "Rolet kryesore".

Klikoni mbi imazhin për ta zmadhuar.

Krijimi i mbajtësve të ngjarjeve të klientit të formularit

Kur konfiguroni një aplikacion të menaxhuar, zhvilluesi duhet të monitorojë me kujdes kontekstin e ekzekutimit të kodit të programit duke përdorur direktivat e duhura të paraprocesorit.

Meqenëse një grup i kufizuar i llojeve dhe metodave të të dhënave disponohen te klienti, shpesh është e nevojshme që zhvilluesi të krijojë një procedurë klienti nga e cila do të transferojë kontrollin te serveri.

Platforma 8.3 prezantoi një asistent për krijimin e trajtuesve të ngjarjeve të klientit të formave.

Klikoni mbi imazhin për ta zmadhuar.

Tani zhvilluesi nuk ka nevojë të krijojë manualisht një metodë serveri dhe të tregojë thirrjen e tij brenda procedurës së klientit, por mund të fokusohet tërësisht në zbatimin e logjikës së aplikimit të sistemit.

Ngarkimi i konfigurimit në skedarë

Një tjetër risi e platformës 8.3 është aftësia për të hedhur të gjithë konfigurimin në disk si një grup skedarësh të një strukture të caktuar.

Konfigurimi shkarkohet gjithmonë vetëm në tërësi, pa mundësinë e filtrimit të objekteve të shkarkuara.

Për të shkarkuar konfigurimin te skedarët, zgjidhni artikullin e menysë Konfigurimi - Ngarko konfigurimin në skedarë, në dialogun që hapet, zgjidhni direktorinë ku do të ruhen skedarët.

Objektet e konfigurimit ngarkohen si një grup skedarësh XML. Modulet dhe paraqitjet e tekstit ruhen si skedarë TXT. Fotografitë nga konfigurimi ruhen si skedarë imazhi (BMP, PNG, etj.). Informacioni i ndihmës ngarkohet në skedarët HTML.

Klikoni mbi imazhin për ta zmadhuar.

Siç mund ta shihni, skedarët që rezultojnë kanë formate të zakonshme universale. Ekziston një numër i madh i produkteve të ndryshme softuerike për redaktimin e tyre.

Ju gjithashtu mund të përdorni sisteme të kontrollit të versioneve të palëve të treta. Ato ju lejojnë të ruani disa versione të të njëjtit dokument, nëse është e nevojshme, të ktheheni në versionet e mëparshme, të përcaktoni se kush dhe kur e bëri këtë apo atë ndryshim.

Skedarët e redaktuar mund të ngarkohen përsëri në konfigurim duke përdorur artikullin e menysë Konfigurimi – Ngarkoni konfigurimin nga skedarët.

Puna me funksionalitetin e ri të ngarkimit/shkarkimit është gjithashtu i disponueshëm duke përdorur parametrat e linjës së komandës LoadConfigFromFiles dhe DumpConfigToFiles. Për shembull, si kjo:

"c:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8.exe" DESIGNER /F "X:\Platform8Demo" /N "Administrator" /DumpConfigToFiles "X:\1\"

Më parë, përsëri në platformën 8.2, ekzistonte një mekanizëm për shkarkimin/ngarkimin e skedarëve të konfigurimit, i cili lejonte shkarkimin/ngarkimin selektiv të disa vetive të objekteve të konfigurimit (modulet, paraqitjet dhe informacionet e referencës).

U vu re se si parazgjedhje komandat "Shkarko skedarët e konfigurimit" dhe "Ngarko skedarët e konfigurimit" janë përjashtuar nga konfiguruesi në platformën 8.3.

Megjithatë, duke personalizuar menunë kryesore, mund t'i shfaqni këto komanda në meny dhe t'i përdorni ato.

Mekanizmi i ri për shkarkimin e konfigurimit në skedarë shkarkon gjithmonë të gjitha të dhënat për të gjithë konfigurimin, aftësia për të konfiguruar objektet për shkarkim nuk ofrohet, duke siguruar kështu integritetin e konfigurimit.

Format dhe ndërfaqet e zakonshme ngarkohen në formë binare (të brendshme) dhe nuk mund të modifikohen. Konfigurimi i shitësit gjithashtu nuk është menduar të modifikohet.

Objektet e mbetura ngarkohen në skedarë të formateve universale. Në thelb, mekanizmi është i fokusuar në një aplikacion të menaxhuar.

Mekanizmi i ri i ofron zhvilluesit mundësinë e përpunimit të automatizuar të konfigurimit duke ekzekutuar konfiguruesin në modalitetin e grupit.

Gjithashtu, tani konfigurimi mund të modifikohet nga mjete të jashtme softuerike duke përdorur, për shembull, formatin XML.

Gjatë shkarkimit, kryhet përpunim shtesë i konfigurimit: lidhjet e varura hiqen, informacioni i papërdorur gjithashtu nuk shkarkohet (për shembull, ndihmë për një gjuhë që nuk ekziston).

Dhe kur ngarkoni konfigurimin, kontrollohet integriteti i tij, nuk lejohet ngarkimi i skedarëve me identifikues jo unik, objekte meta të dhënash, emra të pasaktë të llojit të të dhënave, etj.

Vini re se që nga versioni 8.3.7, është shfaqur një format i ri i ngarkimit, i cili quhet "hierarkik". Formati i vjetër filloi të quhej "linear". Zgjedhja e formatit është e disponueshme në dritaren për ngarkim në skedarë:

Duke filluar me versionin 8.3.11, formati "hierarkik" është i vetmi i disponueshëm për përzgjedhje kur ngarkohet në mënyrë interaktive:

Nëse përdorni këtë funksion, ju rekomandojmë:

  • së pari, për të përdorur formatin e ngarkimit "hierarkik";
  • së dyti, përdorni një platformë jo më të ulët se versioni 8.3.8+, sepse duke u nisur prej tij, shpejtësia e ngarkimit/shkarkimit në skedarët XML është rritur ndjeshëm.

Publikimi 8.3.10 tani mbështet hedhjen e pjesshme të konfigurimit në skedarët XML. Si rezultat, u bë e mundur përdorimi i dumping-ut të konfigurimit në XML në lidhje me Git.

- filluam të diskutojmë se cilat janë llojet e vlerave 1C dhe konvertimi i llojit 1C.

Sot do të flasim më në detaje për llojet e objekteve të konfigurimit 1C (lloji i dokumentit 1C, lloji i drejtorisë 1C, etj.)

Meqenëse ne punojmë me vlera në kodin e programit, në mënyrë periodike duhet të dimë llojin e tyre. Lloji 1C tregohet gjithmonë në meta të dhënat e detajeve - në drejtori, dokumente.

Puna me llojet 1C përdoret shpesh:

  • Kushtet në program
    Veprime të ndryshme në varësi të llojit të vlerës 1C në konstruksionin "Nëse ... Atëherë ..."
  • Kufizimet kur punoni në ndërfaqe
    Ndalimi ose lejimi i përdoruesit për të futur vlera të llojeve të caktuara të 1C në fushën në formular.
  • Përcaktimi i parametrit aktual të një funksioni/procedure
    Nëse një parametër funksioni/procedure mund të jetë i çdo lloji 1C, atëherë duhet ta përcaktoni atë në mënyrë që të merrni vlerën saktë.

Lloji 1C mund të merret:

  • Përcaktoni llojin e vlerës aktuale 1C
  • Objektet me vlerë kanë veti që specifikojnë llojin e lejuar 1C (për shembull, llojet 1C të lejuara në një kolonë tabele, në një fushë në një formular, në metadata) ose metoda që kthejnë këto lloje 1C
  • Nga meta të dhënat - mund të merrni llojin 1C siç specifikohet në meta të dhënat në konfigurues.

Llojet e 1C mund të ndahen në tre lloje:

  • Llojet bazë 1C
  • Llojet e bazës së të dhënave 1C (referenca, objekte)
  • Llojet 1C.

Përkufizimi i tipit 1C dhe krahasimi i llojeve 1C

Ju mund të zbuloni llojin e vlerës 1C duke përdorur funksionin TypeZnch (Variable)

Për të kuptuar se çfarë lloji 1C ktheu ky funksion, duhet të specifikoni llojin që na nevojitet ("TypeName")

Për shembull, përkufizimi (krahasimi) i ndryshores së tipit 1C:
Nëse TypeValue(Variable) = Type("TypeName") Pastaj

Çfarë lloje të shkruhet si TypeName?

Llojet bazë

Llojet bazë 1C - numri, vargu, data, boolean.

Për shembull:
Vlera = 12;
Nëse TypeZnch(Znch) = Lloji ("Numri") Pastaj
ElseIf Value = Type("String") Pastaj
ElseIf Value = Lloji ("Data") Pastaj
ElseIf Value = Lloji ("Boolean") Pastaj
FundNëse;

Llojet e bazave të të dhënave

1C ruan të dhënat në bazën e të dhënave, por jo në formën e regjistrimeve të veçanta, por në formën e objekteve.

Shumica e objekteve të ruajtura (përfshirë: drejtoritë, dokumentet, numërimet, proceset e biznesit, detyrat) janë të disponueshme si objekt (për redaktim dhe shkrim) dhe si lidhje (për lexim). Shih lidhjet dhe objektet për detaje.

Për shembull:
Vlera = Directories.Organizations.EmptyReference();
Nëse TypeZnch(Znch) = Type("ReferenceReference.Organization") Pastaj
ElseIf Value = Type("CatalogObject.Organization") Pastaj
ElseIf TypeZnch(Znch) = Lloji ("Referenca e Dokumentit. Pranimi i Mallrave") Pastaj
ElseIf Value = Type("DocumentObject.Receipt of Mall") Pastaj
FundNëse;

Regjistrat mund të përfaqësohen nga lloje të ndryshme. Emri i llojit të regjistrit është i përbërë:
RegjistrohuRegisterTypeAccessType.RegisterName

Llojet e regjistrave 1C:

  • Informacion
  • Kursimet
  • Kontabilistë
  • Llogaritja.

Ekzistojnë disa lloje të aksesit në regjistër. Më së shpeshti përdoret:

  • RecordSet
  • Listë
  • Mostra
  • Regjistrimi
  • Record Key.

Shembull total:
Nëse TypeZnch(Znch) = Type ("RegisterInformationList.RegisterName") Pastaj
ElseIf Value = Type ("AccumulationRegisterRecordSet.RegisterName") Pastaj
FundNëse;

Gjuha 1C ju lejon të punoni me një sërë objektesh të krijuara në mënyrë dinamike në program, për shembull, një grup, një listë vlerash, një tabelë vlerash, një strukturë ...

Llojet e tilla të 1C tregohen me emrin e tyre (me një fjalë, pa hapësira). Për shembull:
Nëse TypeZnch(Znch) = Type("Array") Pastaj
ElseIf Value = Lloji ("Lista e vlerave") Pastaj
FundNëse;

Përcaktimi i vlerës së llojit të referencës 1C

Puna me të gjitha objektet e bazës së të dhënave (drejtoritë, dokumentet ...) kryhet përmes lidhjeve. Për shembull, nëse duam të bëjmë një mbështetëse në një dokument - një direktori, atëherë lloji i tij 1C do të jetë "ReferenceReference.DirectoryName".

Për shembull:
Vlera = Directories.Organizations.EmptyReference();
Nëse drejtoritë.TypeAllReferences().Contains(TypeValue(Value)) Pastaj
//kjo është një direktori
ElseIf Documents.TypeAllLinks().Contains(TypeValue(Value)) Pastaj
//ky është një dokument
FundNëse;

Në një kërkesë, lloji 1C mund të kontrollohet në dy mënyra.

E para është e ngjashme me atë të përshkruar, por emri i llojit 1C nuk tregon "Lidhje" ose "Objekt", domethënë, në vend të "DirectoryLink.Organizations" shkruajmë "Directory.Organizations"

Për shembull:

Marrja e llojeve të disponueshme 1C

Një grup objektesh ka një veti.ValueType, e cila përmban një listë të llojeve 1C:

  • Fusha në formën e klientit të dhjamosur
    FormElements.FieldName.ValueType
  • Një fushë në një formë klienti të hollë (përjashtim: i quajtur AvailableTypes)
    Elements.FieldName.AvailableTypes
  • Tabela e kolonës së vlerës, pema e vlerës
  • Forma rekuizitash
  • Elementi i përzgjedhjes

Si të punoni me këtë listë të llojeve 1C në fushë.ValueType - shikoni "Përshkrimi i llojeve" në seksionin "Gjuha 1C".

Puna me llojet e atributeve 1C në meta të dhënat e konfigurimit

Kur shtoni dhe redaktoni detaje në konfigurues, programuesi specifikon llojin(et) e detajeve 1C. Në kodin e programit në gjuhën 1C, mund të merrni (të zbuloni) llojin (t) e atributit 1C.

Metodat kryesore:

  • Thirrni metodën Metadata () të objektit 1C, e cila kthen meta të dhënat e një objekti specifik dhe më pas punoni me listën e detajeve (dhe detajet e pjesës tabelare)
    Documents.Goods Receipt.EmptyReference().Metadata().Detajet
  • Përdorni ndryshoren globale "Metadata", e cila kthen të gjitha metadatat e konfigurimit dhe më pas shkoni te detajet e një objekti të caktuar
    Metadata.Dokumentet.Marrja e Mallrave.Detajet

Atributi ka një veti.Lloji që përmban një listë të llojeve 1C të vendosur në konfiguruesin për këtë atribut.

Si të punoni me këtë listë të llojeve 1C - shihni "Përshkrimi i Llojeve" në seksionin "Gjuha 1C".

Specifikoni llojin e filtrit 1C

Për shumë objekte, është e mundur të specifikoni një filtër të llojeve të vlerës 1C që mund të përdoret, për shembull:

  • Lista e vlerave (.Vlerat e disponueshme)
  • Fusha e formularit të menaxhuar të klientit (.AvailableTypes)

Aty ku filtri nuk është i modifikueshëm, është e mundur të specifikoni filtrin në metodën e objektit. Për shembull, një kolonë tabele (pemë) ka vlera.ValueType dhe ne nuk mund ta ndryshojmë atë, por kur shtojmë një kolonë duke përdorur metodën.Add(), mund të specifikoni një listë të llojeve të disponueshme 1C si parametër të dytë.

Për të specifikuar listën e llojeve 1C për filtrin - përdoret lista e llojeve 1C, si të punoni me të - shihni "Përshkrimi i llojeve" në seksionin "Gjuha 1C".

Artikujt kryesorë të lidhur