Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Qasja në pjesën tabelare 1s 8. Si të merrni të dhëna nga pjesa tabelare e dokumenteve? Si të merrni rreshtin aktual të një seksioni tabelor

Qasja në pjesën tabelare 1s 8. Si të merrni të dhëna nga pjesa tabelare e dokumenteve? Si të merrni rreshtin aktual të një seksioni tabelor

Për të marrë parasysh paratë dhe mallrat, tabela të ndryshme përdoren gjerësisht në biznes. Pothuajse çdo dokument është një tabelë.

Një tabelë liston mallrat që do të dërgohen nga magazina. Në një tabelë tjetër - detyrimi për të paguar për këto mallra.

Prandaj, në 1C, puna me tabela zë një vend të spikatur.

Tabelat në 1C quhen gjithashtu "pjesë tavoline". Librat e referencës, dokumentet dhe të tjera i kanë ato.

Pyetja kthen një tabelë si rezultat i ekzekutimit të saj, e cila mund të aksesohet në dy mënyra të ndryshme.

Zgjedhja e parë - më e shpejtë - marrja e rreshtave prej saj është e mundur vetëm në rregull. E dyta është shkarkimi i rezultatit të pyetjes në një tabelë vlerash dhe më pas aksesi i rastësishëm në të.

//Opsioni 1 - aksesi sekuencial në rezultatet e pyetjeve

// merr tavolinë
Selection = Query.Execute().Select();
// anashkaloni të gjitha rreshtat e rezultatit të pyetjes sipas renditjes
Ndërsa Selection.Next() Loop
Raporti (Përzgjedhja. Emri);
Cikli i Fundit;

//Opsioni 2 - ngarkimi në tabelën e vlerave
Pyetje = Pyetje e re ("ZGJEDHJE Emrin FROM Directory.Nomenklature");
// merr tavolinë
Tabela = Query.Execute().Ngarko().
// atëherë ne gjithashtu mund të anashkalojmë të gjitha linjat
Për çdo rresht nga Tabela Loop
Raporti (String.Emri);
Cikli i Fundit;
//ose qasje arbitrare në vargjet
String = Tabela.Find("Lopata", "Emri");

Një veçori e rëndësishme është se në tabelën, e cila merret nga rezultati i pyetjes, të gjitha kolonat do të shtypen me forcë. Kjo do të thotë që duke kërkuar fushën Emri nga kërkimi i Nomenklaturës, do të merrni një kolonë të llojit String me një gjatësi të lejueshme jo më shumë se N karaktere.

Tabela në formular (klient i trashë)

Përdoruesi punon me tabelën kur vendoset në formular.

Diskutuam për parimet bazë të punës me formularët në orën e mësimit dhe në mësimin me radhë

Pra, le ta vendosim tabelën në formular. Për ta bërë këtë, mund të tërhiqni tabelën nga paneli i kontrollit. Në mënyrë të ngjashme, ju mund të zgjidhni kontrollin Form/Insert nga menyja.

Të dhënat mund të ruhen në një konfigurim - atëherë ju duhet të zgjidhni një pjesë tabelare ekzistuese (të shtuar më parë) të objektit të konfigurimit, formën e të cilit po redaktoni.

Klikoni butonin "..." në pronën Data. Për të parë listën e pjesëve tabelare, duhet të zgjeroni degën Object.

Kur zgjidhni një pjesë tabelare, vetë 1C do të shtojë kolona në tabelën në formular. Vargjet e futura nga përdoruesi në një tabelë të tillë do të ruhen automatikisht së bashku me drejtorinë/dokumentin.

Në të njëjtën veti Data, mund të futni një emër arbitrar dhe të zgjidhni llojin ValueTable.

Kjo do të thotë që është zgjedhur një tabelë arbitrare e vlerave. Nuk do të shtojë automatikisht kolona, ​​nuk do të ruhet automatikisht, por ju mund të bëni çfarë të doni me të.

Duke klikuar me të djathtën në tabelë, mund të shtoni një kolonë. Në vetitë e kolonës, mund të specifikoni emrin e saj (për referencë në kodin 1C), titullin e kolonës në formular, lidhjen me atributin e pjesës tabelare (kjo e fundit - nëse jo një tabelë arbitrare, por një tabelë zgjidhet pjesa).

Në vetitë e tabelës në formular, mund të specifikoni nëse përdoruesi mund të shtojë/fshijë rreshta. Një formë më e avancuar është kutia e kontrollit ViewOnly. Këto veti janë të dobishme për organizimin e tabelave të destinuara për shfaqjen e informacionit, por jo për redaktim.

Për të menaxhuar tabelën, duhet të shfaqni panelin e komandës në formular. Zgjidhni artikullin e menysë Forma/Fut Panelin e Kontrollit/Komandës.

Në veçoritë e shiritit të komandës, zgjidhni kutinë e kontrollit Autocomplete në mënyrë që butonat në shiritin e veglave të shfaqen automatikisht.

Tabela e formularit (klient i hollë/i menaxhuar)

Në një formë të menaxhuar, këto veprime duken pak më ndryshe. Nëse keni nevojë të vendosni një seksion tabelor në formular, zgjeroni degën Object dhe tërhiqni një nga seksionet tabelare në të majtë. Dhe kjo eshte!

Nëse keni nevojë të vendosni një tabelë vlerash, shtoni një atribut të ri të formës dhe specifikoni llojin në vetitë e tij - një tabelë vlerash.

Për të shtuar kolona, ​​përdorni menynë e butonit të djathtë të miut në këtë atribut të formës, artikulli Shtoni kolonën e atributit.

Më pas tërhiqni edhe tabelën në të majtë.

Në mënyrë që tabela të ketë një shirit komandash, në veçoritë e tabelës zgjidhni vlerat në seksionin "Përdorimi - pozicioni i shiritit të komandës".

Eksportimi i një tabele në Excel

Çdo tabelë 1C e vendosur në formular mund të printohet ose ngarkohet në Excel.

Për ta bërë këtë, klikoni me të djathtën në një hapësirë ​​boshe në tabelë dhe zgjidhni Trego Listën.

Në një klient të menaxhuar (të hollë), veprime të ngjashme mund të kryhen duke përdorur artikullin e menysë Të gjitha veprimet/Lista e ekranit.

Pjesët tabelare ekzistojnë për shumë objekte në 1C:

  • Libra referencë
  • Dokumentet
  • Raportet dhe përpunimi
  • Planet e llogarive
  • Planet e llojeve të karakteristikave
  • Planet e Llojeve të Llogaritjes
  • Proceset dhe detyrat e biznesit

Pjesët tabelare ju lejojnë të ruani një sasi të pakufizuar informacioni të strukturuar që i përket një objekti.

Le të shohim disa metoda të punës me pjesët tabelare.

Si të anashkaloni pjesën tabelare

Ju mund të përdorni një lak për të përshkuar pjesën tabelare Per secilin

Për çdo rresht nga TabularPart Loop

Raporti (String.TablePartAttribute) ;

Cikli i Fundit ;

Në çdo përsëritje në një ndryshore Linjë bartet rreshti tjetër i pjesës tabelare. Vlerat e atributeve të vargut mund të merren nga shprehja Vargu.Atributi Emri.

Si të merrni dhe anashkaloni rreshtat e zgjedhur të seksionit tabelor

Elementi i formës përdoret për të shfaqur informacionin nga pjesa tabelare e objektit. fushë tabele. Për të mundësuar mundësinë për të zgjedhur rreshta të shumtë në një fushë tabele, duhet të vendosni vlerën Të shumëfishta në pronën e saj Mënyra e përzgjedhjes.

Për të marrë një listë të rreshtave të zgjedhur, përdorni kodin e mëposhtëm:

Loop përdoret për të përsëritur mbi linjat e zgjedhura Per secilin:

SelectedLines = FormElements. Emri i fushës së tabelës. Linjat e zgjedhura;

Për çdo rresht nga cikli i rreshtave të zgjedhur

//përmbajtja e ciklit

Cikli i Fundit ;

Si të zgjedhim programatikisht rreshtat e pjesës tabelare (fushën e tabelës) dhe të heqim përzgjedhjen

Për të çzgjedhur në mënyrë programore rreshtat në një fushë tabele:

ElementetForma. Emri i fushës së tabelës. Vargjet e zgjedhura. Qartë() ;

Për të zgjedhur në mënyrë programore të gjitha rreshtat në një fushë tabele:

Për çdo CurrentRow nga TablePart Loop
ElementetForma. Emri i fushës së tabelës. Linjat e zgjedhura. Shto (Rreshti aktual) ;
Cikli i Fundit ;

Si të pastroni tabelën

TabelaPjesa. Qartë() ;

Si të merrni rreshtin aktual të një seksioni tabelor

Linja aktuale është periudha në të cilën përdoruesi ka aktualisht kursorin. Për ta marrë atë, duhet t'i referoheni kontrollit në formular, i cili shoqërohet me pjesën tabelare.

Për format e rregullta, kodi do të duket si ky:

ElementetForma. Emri i fushës së tabelës. Të dhënat aktuale;

Për format e menaxhuara:

Elementet. Emri i fushës së tabelës. Të dhënat aktuale;

Si të shtoni një rresht të ri në një spreadsheet

Shtimi i një rreshti të ri në fund të seksionit tabelor:

NewRow = TablePart. Add() ;

Shtimi i një rreshti të ri kudo në seksionin tabelor (rreshtat pasues do të zhvendosen):

NewRow = TablePart. Ngjit (Indeksi)
//Indeksi - numri i rreshtit të shtuar. Numërimi i rreshtave fillon nga zero.

Linja e re. Atributi1 = "Vlera" ;

Si të plotësoni në mënyrë programore detajet e një rreshti tabele

Nëse ju duhet të plotësoni në mënyrë programore detajet e rreshtit të seksionit tabelor që përdoruesi shton, duhet të përdorni mbajtësin e ngjarjeve të seksionit tabelor NëStartEditing.

Procedura e krijuar nga mbajtësi ka tre parametra:

  • Elementi- përmban një kontroll Fusha e tabelës.
  • Linja e re- boolean. Përmban vlerë E vërtetë, nëse shtohet një rresht i ri i seksionit tabelor, dhe Gënjeshtra, nëse përdoruesi ka filluar të redaktojë një rresht tashmë ekzistues.
  • kopjimi- boolean. Përmban vlerë E vërtetë nëse përdoruesi po kopjon vargun, dhe Gënjeshtra në raste të tjera.

Konsideroni një shembull. Le të themi se duhet të plotësojmë detajet e seksionit tabelor Llogaria Llogaria, në rastin kur shtohet një rresht i ri. Kur redaktoni një rresht ekzistues, nuk keni nevojë të ndryshoni llogarinë e librit.

Procedura TabularPartAt EditingStart(Element, New Row, Copy)

//Nëse përdoruesi është duke redaktuar një rresht ekzistues, atëherë mos bëni asgjë
Nëse JO NewString Atëherë
Kthimi;
FundNëse;

//Nëse vargu është i ri, vendosni llogarinë
TextString = Element. Të dhënat aktuale; //Marrë rreshtin aktual të seksionit tabelor
TekString. Llogaria e llogarisë = Skema e llogarive. Vetë-mbështetës. Llogaria e dëshiruar;
Procedura e Fundit

Faqja për Zhvilluesit Fillestarë Mësoni të Programoni

Si të merrni të dhëna nga pjesa tabelare e dokumenteve?

Për shembull, merrni parasysh një situatë ku dëshironi të merrni të gjithë artikujt e aksioneve të specifikuara në seksionin tabelor Mallrat dokumentet Realizimi i mallrave dhe shërbimeve.

Për ta bërë këtë, mund të përdorni një pyetje me tekstin e mëposhtëm:

ZGJIDH TË NDRYSHME Realizimi i Mallrave të Shërbimeve Mallrat.Nomenklatura SI Nomenklatura NGA Dokumenti Realizimi i Mallrave të Shërbimeve Mallrat SI Realizimi i Mallrave të Shërbimeve Mallrat

Si burim, ne tregojmë pjesën tabelare të dokumenteve - tabelën Dokument.Shitja e MallraveShërbimet.Mallrat. Deklaroni një fushë si fushë dalëse Nomenklatura A që është pjesë e tabelës burimore. Përveç kësaj, duke qenë se i njëjti artikull, natyrisht, mund të jetë i pranishëm më shumë se një herë në dokumente, ne aplikojmë TE NDRYSHME për të marrë vetëm rreshta të veçantë në tabelën e daljes së pyetjeve.

Për shembull, le të krijojmë një përpunim Lista e produkteve ku përzgjidhet dokumenti Realizimi i mallrave dhe shërbimeve, dhe duke klikuar në butonin përkatës, në dritaren e mesazheve shfaqet një listë e artikujve që nuk përsëriten të nomenklaturës që përmban pjesa tabelare e këtij dokumenti.

Për të kufizuar zgjedhjen e nomenklaturës vetëm në nomenklaturë nga seksioni tabelor i një dokumenti specifik, përdorni parametrin Lidhje ne gjendjen ne kerkese ( KU...):

ZGJIDHNI NDRYSHME Realizimi i Mallrave të Shërbimeve Mallrat Nomenklatura AS Nomenklatura NGA Dokumenti Realizimi i Mallrave të Shërbimeve Mallrat SI Realizimi i Mallrave të Shërbimeve Mallrat WHERE Realizimi i Mallrave të Shërbimeve Mallrat Lidhja = & Lidhja

Artikujt kryesorë të lidhur