Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • vijesti
  • Pristup tabelarnom dijelu 1s 8. Kako doći do podataka iz tabelarnog dijela dokumenata? Kako dobiti trenutni red tabelarnog odeljka

Pristup tabelarnom dijelu 1s 8. Kako doći do podataka iz tabelarnog dijela dokumenata? Kako dobiti trenutni red tabelarnog odeljka

Kako bi se uzeli u obzir novac i roba, različite tabele se široko koriste u poslovanju. Skoro svaki dokument je tabela.

U jednoj tabeli je navedena roba koja se otprema iz skladišta. U drugoj tabeli - obaveza plaćanja ove robe.

Stoga u 1C rad sa tablicama zauzima istaknuto mjesto.

Tabele u 1C nazivaju se i "dijelovi stola". Priručnici, dokumenti i ostalo ih imaju.

Upit vraća tabelu kao rezultat njegovog izvršenja, kojoj se može pristupiti na dva različita načina.

Prvi - brži - odabir, dobivanje redova iz njega moguće je samo redom. Drugi je istovar rezultata upita u tablicu vrijednosti i zatim nasumični pristup njoj.

//Opcija 1 - sekvencijalni pristup rezultatima upita

// dobiti tablicu
Selection = Query.Execute().Select();
// zaobići sve redove rezultata upita po redu
Dok Selection.Next() petlja
Izvještaj(Izbor.Naziv);
EndCycle;

//Opcija 2 - učitavanje u tablicu vrijednosti
Upit = Novi upit("IZABIR Naziv IZ Direktorija.Nomenklature");
// dobiti tablicu
Tabela = Query.Execute().Upload().
// tada također možemo zaobići sve linije
Za svaki red iz petlje tabele
Izvještaj(String.Name);
EndCycle;
//ili proizvoljno pristupiti nizovima
String = Table.Find("Lopata", "Ime");

Važna karakteristika je da će u tabeli, koja se dobija iz rezultata upita, sve kolone biti snažno otkucane. To znači da ćete zahtjevom za polje Ime iz pretraživanja nomenklature dobiti stupac tipa String s dozvoljenom dužinom od najviše N znakova.

Tabela na obrascu (debeli klijent)

Korisnik radi sa tabelom kada je postavljena na obrazac.

O osnovnim principima rada sa formama razgovarali smo u lekciji i u lekciji dalje

Dakle, stavimo tabelu na obrazac. Da biste to uradili, možete prevući tabelu sa kontrolne table. Slično, možete odabrati kontrolu Obrazac/Umetanje iz menija.

Podaci se mogu pohraniti u konfiguraciji - tada trebate odabrati postojeći (prethodno dodan) tabelarni dio konfiguracijskog objekta čiji obrazac uređujete.

Kliknite na dugme "..." u svojstvu Podaci. Da biste vidjeli listu tabelarnih dijelova, potrebno je proširiti granu Objekt.

Prilikom odabira tabelarnog dijela, 1C će sam dodati kolone u tablicu na obrascu. Nizovi koje je korisnik uneo u takvu tabelu biće automatski sačuvani zajedno sa direktorijumom/dokumentom.

U istom svojstvu podataka možete unijeti proizvoljno ime i odabrati tip ValueTable.

To znači da je odabrana proizvoljna tablica vrijednosti. Neće automatski dodavati kolone, neće se automatski čuvati, ali s njim možete raditi šta god želite.

Desnim klikom na tabelu možete dodati kolonu. U svojstvima stupca možete odrediti njegovo ime (za referencu u 1C kodu), naslov stupca na obrascu, vezu s atributom tabelarnog dijela (potonji - ako nije proizvoljna tabela, već tabela dio je odabran).

U svojstvima tabele na obrascu možete odrediti da li korisnik može dodavati/brisati redove. Napredniji obrazac je potvrdni okvir ViewOnly. Ova svojstva su korisna za organiziranje tabela namijenjenih za prikaz informacija, ali ne i za uređivanje.

Da biste upravljali tabelom, morate prikazati komandnu tablu na obrascu. Odaberite stavku menija Form/Insert Control/Command Panel.

U svojstvima komandne trake potvrdite izbor u polju za potvrdu Autocomplete tako da se dugmad na traci sa alatkama pojavljuju automatski.

Tabela na obrascu (tanki/upravljani klijent)

Na upravljanom obrascu ove akcije izgledaju malo drugačije. Ako trebate postaviti tabelarni dio na obrazac, proširite granu Objekt i povucite jedan od tabelarnih odjeljaka ulijevo. I to je to!

Ako trebate postaviti tablicu vrijednosti, dodajte novi atribut obrasca i navedite tip u njegovim svojstvima - tablicu vrijednosti.

Da dodate kolone, koristite meni desnog dugmeta miša na ovom atributu obrasca, izaberite Dodaj kolonu atributa.

Zatim povucite tabelu ulijevo.

Da bi tabela imala komandnu traku, u svojstvima tabele izaberite vrednosti u odeljku Upotreba - Položaj komandne trake.

Izvoz tabele u Excel

Bilo koja 1C tabela koja se nalazi na obrascu može se odštampati ili učitati u Excel.

Da biste to uradili, kliknite desnim tasterom miša na prazan prostor u tabeli i izaberite Prikaži listu.

U upravljanom (tankom) klijentu, slične radnje se mogu izvesti pomoću stavke menija Sve akcije/Prikaži listu.

Tabelarni dijelovi postoje za mnoge objekte u 1C:

  • Referentne knjige
  • Dokumenti
  • Izvještaji i obrada
  • Kontni planovi
  • Planovi tipova karakteristika
  • Planovi tipa kalkulacije
  • Poslovni procesi i zadaci

Tablični dijelovi vam omogućavaju da pohranite neograničenu količinu strukturiranih informacija koje pripadaju jednom objektu.

Pogledajmo neke metode rada sa tabelarnim dijelovima.

Kako zaobići tabelarni dio

Možete koristiti petlju za prelazak kroz tabelarni dio Za svaki

Za svaki red iz TabularPart petlje

Izvještaj(String.TablePartAttribute) ;

EndCycle ;

Na svakoj iteraciji u varijablu Linija prenosi se sljedeći red tabelarnog dijela. Vrijednosti atributa niza mogu se dobiti pomoću izraza String.AttributeName.

Kako dobiti i zaobići odabrane redove tabelarnog odjeljka

Element forme koristi se za prikaz informacija iz tabelarnog dijela objekta. polje tabele. Da biste omogućili mogućnost odabira više redova u polju tabele, morate postaviti vrijednost Višestruko na svom imanju Način odabira.

Da biste dobili listu odabranih linija, koristite sljedeći kod:

Petlja se koristi za ponavljanje preko odabranih linija Za svaki:

SelectedLines = FormElements. TableFieldName. Odabrane linije;

Za svaki red iz petlje odabranih redova

//sadržaj petlje

EndCycle ;

Kako programski odabrati redove tabelarnog dela (polje tabele) i ukloniti selekciju

Da programski poništite odabir redova u polju tabele:

ElementsForm. TableFieldName. SelectedStrings. Clear() ;

Da programski odaberete sve redove u polju tabele:

Za svaku petlju CurrentRow From TablePart
ElementsForm. TableFieldName. Odabrane linije. Dodaj (TrenutniRed) ;
EndCycle ;

Kako očistiti tabelu

TabularPart. Clear() ;

Kako dobiti trenutni red tabelarnog odeljka

Trenutni red je period u kojem korisnik trenutno ima kursor. Da biste je dobili, potrebno je da se pozovete na kontrolu na obrascu, koja je povezana sa tabelarnim delom.

Za obične forme, kod bi izgledao ovako:

ElementsForm. TableFieldName. CurrentData;

Za upravljane forme:

Elementi. TableFieldName. CurrentData;

Kako dodati novi red u tabelu

Dodavanje novog reda na kraj tabelarnog dijela:

NewRow = TablePart. Dodati() ;

Dodavanje novog reda bilo gdje u tabličnom dijelu (sljedeći redovi će biti pomaknuti):

NewRow = TablePart. Zalijepi (indeks)
//Indeks - broj dodane linije. Numerisanje redova počinje od nule.

Nova linija. Atribut1 = "Vrijednost" ;

Kako programski popuniti detalje reda tabele

Ako trebate programski popuniti detalje retka tabelarnog odjeljka koji korisnik dodaje, morate koristiti obrađivač događaja tabelarnog odjeljka AtStartEditing.

Procedura koju kreira rukovalac ima tri parametra:

  • Element- sadrži kontrolu TableField.
  • Nova linija- boolean. Sadrži vrijednost Tačno, ako se doda novi red tabelarnog dijela, i laž, ako je korisnik počeo uređivati ​​već postojeći red.
  • kopiranje- boolean. Sadrži vrijednost Tačno ako korisnik kopira string, i Lazi u drugim slučajevima.

Razmotrimo primjer. Recimo da moramo popuniti detalje tabelarnog dijela AccountAccount, u slučaju kada se dodaje novi red. Kada uređujete postojeći red, ne morate mijenjati račun glavne knjige.

Procedura TabularPartAt EditingStart(Element, NewRow, Copy)

//Ako korisnik uređuje postojeći red, onda ne čini ništa
Ako NIJE NewString Onda
Povratak;
EndIf ;

//Ako je string nov, postavite nalog
TextString = Element. CurrentData; //Primio trenutni red tabelarnog odeljka
TekString. Račun Račun = Kontni planovi. Samonosivi. Željeni račun;
EndProcedure

Početna stranica Za programere početnike Naučite programirati

Kako doći do podataka iz tabelarnog dijela dokumenata?

Na primjer, razmotrite situaciju u kojoj želite da dobijete sve artikle na zalihama navedene u tabelarnom dijelu Roba dokumenata Realizacija roba i usluga.

Da biste to učinili, možete koristiti upit sa sljedećim tekstom:

IZABERITE DRUGAČIJE Realizacija roba usluga Roba.Nomenklatura AS Nomenklatura IZ dokumenta Realizacija robe usluga Roba AS Realizacija robe usluga Roba

Kao izvor navodimo tabelarni dio dokumenata - tabelu Dokument.Prodaja robeUsluge.Robe. Deklarirajte polje kao izlazno polje Nomenklatura A koji je dio izvorne tabele. Osim toga, pošto bi isti naslov, naravno, mogao biti prisutan više puta u dokumentima, primjenjujemo se VARIOUS da dobijete samo različite redove u tabeli izlaza upita.

Na primjer, napravimo obradu Lista proizvoda gdje je dokument odabran Realizacija roba i usluga, a klikom na odgovarajuće dugme, u prozoru za poruke prikazuje se lista neponovljivih stavki nomenklature sadržane u tabelarnom delu ovog dokumenta.

Da biste ograničili izbor nomenklature samo na nomenklaturu iz tabelarnog dijela određenog dokumenta, koristite parametar Veza u stanju u zahtjevu ( GDJE...):

ODABIR DRUGAČIJE Realizacija roba usluga Roba Nomenklatura AS Nomenklatura IZ dokumenta Realizacija roba usluga Roba KAO Realizacija dobara usluga Roba GDJE Realizacija dobara usluga Roba Link = & Link

Top Related Articles