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

1c plotësoni një dokument fletëllogaritëse nga një tabelë vlerash.

Për të shkarkuar një pjesë tabelare (dokument, drejtori, përpunim, etj.) në tabela e vlerave duhet përdorur metodë Shkarko (). Kur përdoret, do të krijojë tabela e vlerave me të njëjtin grup kolonash (lloje të njëjta të dhënash) dhe me të njëjtat të dhëna si në pjesa tabelare. Vini re se kjo tabelë nuk ka të bëjë fare pjesa tabelare dhe ndryshimi i të dhënave në të nuk do të ndryshojë të dhënat në të, në fakt është kopje e tij, por me veti dhe metoda paksa të ndryshme.

Gjithashtu, nëse keni një tabelë me të njëjtin grup kolonash si në seksionin tabelor, atëherë të dhënat e tabelës së vlerave mund të ngarkohen në seksionin tabelor. Për këtë, metoda Shkarko(<Таблица>) , pjesa tabelare. Kjo mund të kërkohet nëse të dhënat që do të ngarkohen merren nga një kërkesë. Dhe në vend që të shikoni rezultatin e pyetjes, thjesht mund ta ngarkoni atë në pjesën tabelare.

Shkarkoni pjesën 1 tabelare. Shembull

Shkarko tabelën. Shembull

Le të themi se në ndryshore Nje objekt përmban një objekt dokumenti që ka një seksion tabelor Shërbimet. Dhe në një ndryshore hetim, përmban një pyetje që mbledh të dhëna për seksionin tabelor.

Metoda bazohet në përdorimin e një objekti Ndërtuesi i raporteve- ky është një objekt që lejon, bazuar në tekstin e specifikuar të pyetjes ose burimin e të dhënave, si dhe cilësimet, të marrë rezultatin dhe ta shfaqë atë në një dokument ose grafik fletëllogaritëse.

Përshkrimi i metodës

1. Marrim zonën e qelizave të dokumentit të tabelës që duhet të vendoset në tabelën e vlerave. Marrja e zonës duhet të vendoset në mënyrë të tillë që të përfshijë një linjë të titujve të kolonave (shih Figurën 1), një veçori e objektit të Ndërtuesit të Raportit.

CellsArea = TabDocument.Area (1, 1, LastRow, LastColumn);


2. Bazuar në zonën e qelizës së dokumentit të fletëllogaritjes, ne krijojmë një përshkrim të burimit të të dhënave.

Burimi i të Dhënave = Përshkrimi i Burimit të Ri të të Dhënave (Zona e Qelizës);

3. Krijo një objekt Report Builder, specifiko burimin e të dhënave në vend të tekstit të pyetjes dhe ndërto raportin.



Rezultati i leximit të të dhënave nga burimi pas thirrjes së metodës Ekzekutoni ()është në pronë Rezultati. Kjo veti përmban një objekt të llojit QueryResult, një objekt i të njëjtit lloj kthehet kur kërkesa është ekzekutuar.

4. Shkarkoni rezultatin në tabelën e vlerave (shih Figurën 2) duke thirrur metodën Unload() të një objekti të llojit QueryResult.

ValueTab = Ndërtuesi i Raportit Rezultati Shkarko();

Nga minuset e dukshme, vlerat e kolonave të llojit të vargut. Gjithashtu, objekti Report Builder është i disponueshëm vetëm në server, do t'ju duhet të drejtoni një dokument spreadsheet nga klienti në server.

Kodi përfundimtar i programit

Funksioni ConvertSpreadsheetDocumentToValueTable(TabDocument)
LastLine = TabDocument.TableHeight;
LastColumn = TabDocument.TableWidth;
CellsArea = TabDocument.Area (1, 1, LastRow, LastColumn);
// Krijoni një përshkrim të burimit të të dhënave bazuar në zonën e qelizës së dokumentit të fletëllogaritjes.
Burimi i të Dhënave = Përshkrimi i Burimit të Ri të të Dhënave (Zona e Qelizës);
// Krijo një objekt për raportim inteligjent,
// specifikoni burimin e të dhënave dhe ekzekutoni ndërtimin e raportit.
ReportBuilder = New ReportBuilder;
ReportBuilder.DataSource = Burimi i të Dhënave;
ReportBuilder.Run();
// Rezultati ngarkohet në tabelën e vlerave.
ValueTab = Ndërtuesi i Raportit Rezultati Shkarko();
Ktheni TabValues
Funksionet e Fundit

Përpunimi me zbatimin e kësaj metode mund të shkarkohet

Një tabelë vlerash është një objekt specifik gjenerik i krijuar për të ruajtur të dhënat në një pamje tabele. Dallimi kryesor midis një tabele dhe objekteve të aplikacionit është se ajo nuk është e lidhur me tabelat fizike të bazës së të dhënave. Tabela e vlerave ekziston vetëm në RAM, e cila, nga njëra anë, ofron mundësi unike, dhe nga ana tjetër, vendos kufizime të caktuara. Megjithatë, mundësitë e ndërveprimit me një tabelë janë të krahasueshme me bashkëveprimin me objektet që ekzistojnë në të vërtetë në bazën e të dhënave.

Historikisht, tabela e vlerave në 1C ka një qëllim të dyfishtë, duke qenë një analog virtual i tabelave ekzistuese, por në të njëjtën kohë - dhe një element kontrolli. Me kalimin në një aplikacion të menaxhuar, pjesa më e madhe e këtij funksionaliteti është zhvlerësuar, por edhe tani mund të jetë gjithashtu një element i ndërfaqes së përdoruesit, por me një sërë kufizimesh domethënëse.

Struktura e tabelës së vlerave si objekt

Vetitë e një tabele vlerash përcaktohen nga kombinimet e dy koleksioneve të paracaktuara: kolonat dhe rreshtat e saj.

Tabela e vlerave Kolonat

Kolona e tabelës së vlerave është vetia e saj përcaktuese. Është grupi i kolonave në një tabelë që përcakton strukturën e saj. Kolonat korrespondojnë me fushat e tabelave fizike ose kolonave të njohura nga ndërfaqja e përdoruesit të një seksioni tabelor ose një regjistri dokumentesh. Një kolonë mund të ketë një emër të brendshëm, një lloj vlere dhe një titull që shfaqet kur ndërvepron me tabelën.

Meqenëse kolonat janë koleksione objektesh, ju mund të shtoni, hiqni dhe modifikoni kolona.

Rreshti i tabelës së vlerave

Nga pikëpamja e ndërfaqes së programit, vargjet janë një koleksion i veçantë i ngulitur në një tabelë vlerash. Ato janë analoge me regjistrimet e tabelave fizike, domethënë rreshtat e një pjese tabelare ose një ditar dokumentesh që janë të njohura për përdoruesin. Çdo rresht individual është një objekt me një grup karakteristikash të emërtuara, emrat e të cilëve korrespondojnë me emrat e kolonave të tabelës.

Kështu, bashkëveprimi me një varg është shumë i ngjashëm me bashkëveprimin me objekte të tjera. Ju mund të lexoni dhe shkruani vetitë e tij, duke përfshirë përdorimin e funksionit të paracaktuar "FillPropertyValues()". Meqenëse rreshtat janë koleksioni kryesor i tabelës së vlerave, metoda "Clear()" përdoret për të fshirë të gjitha rreshtat e tabelës.

Krijo tabelën e vlerave

Ka shumë mënyra për të bërë gati për përdorim një tabelë vlerash. Le të shqyrtojmë disa prej tyre. Çdo shembull do të jepet si listë kodesh me komente.

Krijimi i një tabele me një konstruktor

Metoda kryesore që ju lejon të krijoni saktësisht llojin e tabelës që i nevojitet zhvilluesit, për fat të keq, kërkon më shumë kohë, pasi kërkon që ju të specifikoni manualisht të gjitha vetitë e nevojshme të tabelës.

DemoTable = New ValueTable; // Para së gjithash, ne inicializojmë TK // Më pas, përcaktojmë parametrat e nevojshëm për kolonat e reja dhe i shtojmë ato në koleksion // Krijimi i kolonës "Nomenklatura" Emri = "Nomenklatura"; ValueType = New TypeDescription("ReferenceReference.Nomenklature"); Titulli = "Nomenklatura (artikull)"; DemoTable.Columns.Add(Name, ValueType, Title); // Krijimi i kolonës "Shuma" Emri = "Shuma"; ValueType = NewTypeDescription("Numri"); DemoTable.Columns.Add(Name, ValueType); // Si rezultat i këtyre manipulimeve, ne kemi krijuar një tabelë boshe me kolona të shtypura // Nëse keni nevojë të përdorni shtypje më të saktë të llojeve primitive, atëherë duhet të përdorni sintaksën e zgjeruar të konstruktorit "TypeDescription".

Krijimi i një tabele duke kopjuar

Nëse keni në dorë një referencë me një strukturë dhe/ose përbërje të përshtatshme, mund të kopjoni ose shkarkoni tabelën e referencës së vlerave. Nëse referenca është një tabelë tjetër, atëherë duhet të zbatohet metoda "Kopjo tabelën e referencës". Nëse keni të bëni me një pjesë tabelare ose një grup rekord regjistrash, duhet të përdorni metodën "Shkarko tabelën e vlerave". Nëse ju nevojitet vetëm struktura, atëherë mund të përdorni metodën "CopyColumns".

// Variant me kopjimin e të gjitha rreshtave nga standardi TK por me ruajtjen e vetëm dy kolonave të specifikuara Kolonat e referencës = "Nomenklatura, sasia"; DemoTable = TableReference.Copy(, ColumnsReference); // Variant me kopjim të rreshtave të përzgjedhur paraprakisht nga standardi TK, duke ruajtur dy kolonat e specifikuara. Kolonat e Referencës = "Nomenklatura, Sasia"; DemoTable = TableReference.Copy (Referenca e rreshtave, Referenca e Kolonave); // Opsioni me kopjim të rreshtave nga standardi TK sipas filtrit të specifikuar, duke ruajtur një kolonë "Nomenklatura" // Të gjitha rreshtat do të zgjidhen ku vlera në kolonën Sasia është 0, vetëm kolona e Nomenklaturës do të përfshihet në tabela që rezulton Zgjedhja e rreshtit = Struktura e re ("Sasia" , 0); Kolonat e Referencës = "Nomenklatura"; DemoTable = TableReference.Copy (Referenca e rreshtave, Referenca e Kolonave); // Varianti me kopjimin e plotë të tabelës dhe fshirjen e mëvonshme të një rreshti me vlerën e fushës së sasisë të barabartë me zero dhe fshirjen e të gjithë kolonës "Numër" RowSelection = Struktura e re ("Numri", 0); Kolonat e Referencës = "Nomenklatura"; DemoTable = TableReference.Copy (Referenca e rreshtave, Referenca e Kolonave); TableString = DemoTable.Find(0, "Count"); DemoTable.Delete(TableString); DemoTable.Columns.Delete("Sasia"); // Opsione të ngjashme dhe modifikimet e tyre mund të aplikohen në pjesët e tabelave dhe regjistrat e grupeve të rekordeve

Krijimi i një tabele me një pyetje

Nëse baza e të dhënave ka një shabllon për tabelën që ju nevojitet, atëherë mund të përdorni një pyetje për të krijuar shpejt një tabelë me strukturën e dëshiruar.

// Një shembull i krijimit të një tabele të zbrazët duke ndjekur modelin e strukturës së regjistrit të akumulimit // Është e lehtë të merret me mend se në këtë mënyrë mund të merrni gjithashtu një tabelë të mbushur Kërkesë = Kërkesë e re ("SELECT FIRST 0 * Nga Regjistri i Akumulimit. Mallrat në Magazina"); QueryResult = Query.Execute(); DemoTable = QueryResult.Upload(); // Një shembull me krijimin e një tabele boshe sipas llojeve të specifikuara në mënyrë eksplicite dhe emrave të fushave Query = New Query; Query.Text = "ZGJEDH PARË 0 | Vlera(Catalog.Nomenclature.NullReference) AS Nomenklaturë, | EXPRESS(0 SI NUMRI(15, 3)) SI Sasi"; QueryResult = Query.Execute(); DemoTable = QueryResult.Upload(); // E RËNDËSISHME! Mos harroni se lloji Null është gjithmonë i pranishëm në llojet e vlerave të kolonës të marra nga pyetësori // Kështu, TM e krijuar nga pyetja ka gjithmonë lloje të përbërë kolonash

konkluzioni

Në këtë artikull të shkurtër, ne kemi trajtuar vetitë bazë dhe teknikat praktike për krijimin e një tabele vlerash, të mjaftueshme për të kuptuar dhe filluar përdorimin. Tabela e vlerave të objektit në vetvete është aq e shumëanshme sa që një përshkrim i hollësishëm i aftësive të tij kërkon shkrimin e një artikulli të veçantë mbi teknikat dhe metodat e punës.

Artikujt kryesorë të lidhur