itthon / Közösségi média / Hozzáférés a táblázatos részhez 1s 8. Hogyan lehet adatokat szerezni a dokumentumok táblázatos részéből? A táblázatos rész kiválasztott sorainak lekérése és megkerülése

Hozzáférés a táblázatos részhez 1s 8. Hogyan lehet adatokat szerezni a dokumentumok táblázatos részéből? A táblázatos rész kiválasztott sorainak lekérése és megkerülése

Az 1C-ben számos objektumhoz léteznek táblázatos részek:

  • Útmutató könyvek
  • Dokumentáció
  • Jelentések és feldolgozás
  • Számlatáblázatok
  • A jellemzők típusainak tervei
  • Számítási típusú tervek
  • Üzleti folyamatok és feladatok

A táblázatos részek lehetővé teszik egy objektumhoz tartozó korlátlan mennyiségű strukturált információ tárolását.

Nézzünk néhány módszert a táblázatos részekkel való munkavégzésre.

Hogyan lehet megkerülni a táblázatos részt

A táblázatos részen hurkot használhat Az egyes

A TabularPart Loop minden sorához

Jelentés(String.TablePartAttribute) ;

EndCycle ;

Minden iterációnál egy változóba Vonal a táblázatos rész következő sora átkerül. A karakterlánc attribútumértékei a kifejezéssel kaphatók meg String.AttributeName.

A táblázatos rész kiválasztott sorainak lekérése és megkerülése

Az űrlap elem az objektum táblázatos részéből származó információk megjelenítésére szolgál. táblázat mező. Ha engedélyezni szeretné több sor kijelölését egy táblázat mezőjében, be kell állítania az értéket Többszörös ingatlanán Kiválasztási mód.

A kiválasztott sorok listájának megtekintéséhez használja a következő kódot:

A hurok a kiválasztott sorokon való iterációra szolgál Az egyes:

SelectedLines = FormElements. TableFieldName. Válogatott vonalak;

Minden sorhoz a kiválasztott sorokból Loop

//hurok tartalom

EndCycle ;

A táblázatos rész (táblamező) sorainak programozott kijelölése és a kijelölés eltávolítása

Sorok kijelölésének programozott törléséhez egy táblázatmezőben:

ElementsForm. TableFieldName. SelectedStrings. Egyértelmű() ;

Egy táblázatmező összes sorának programozott kijelölése:

Minden egyes aktuális sorhoz a TabularPart ciklusból
ElementsForm. TableFieldName. Kiválasztott sorok. Add(aktuális sor) ;
EndCycle ;

Hogyan lehet törölni a táblázatot

TabularPart. Egyértelmű() ;

Hogyan lehet lekérni egy táblázatos szakasz aktuális sorát

Az aktuális sor az az időszak, amelyen a felhasználó rendelkezik Ebben a pillanatban a kurzor található. Megszerzéséhez hivatkozni kell az űrlap vezérlőelemére, amely a táblázatos részhez van társítva.

Normál űrlapok esetén a kód így néz ki:

ElementsForm. TableFieldName. CurrentData;

Kezelt űrlapok esetén:

Elemek. TableFieldName. CurrentData;

Új sor hozzáadása a táblázathoz

Új sor hozzáadása a táblázatos rész végéhez:

NewRow = Táblázatrész. Add() ;

Új sor hozzáadása a táblázatos részben (a következő sorok eltolódnak):

NewRow = Táblázatrész. Beillesztés (index)
//Index - a hozzáadott sor száma. A sorszámozás nullától kezdődik.

Új sor. Attribútum1 = "Érték" ;

Hogyan lehet programozottan kitölteni egy táblázatsor adatait

Ha programozottan kell kitöltenie a felhasználó által hozzáadott táblázatos szakasz sorának adatait, akkor a táblázatos szakasz eseménykezelőjét kell használnia. AtStartEditing.

A kezelő által létrehozott eljárásnak három paramétere van:

  • Elem- vezérlőt tartalmaz Táblázatmező.
  • Új sor- logikai. Értéket tartalmaz Igaz ha hozzáadjuk új sor táblázatos szakasz, és Fekszik, ha a felhasználó elkezdett szerkeszteni egy már létező sort.
  • másolás- logikai. Értéket tartalmaz Igaz ha a felhasználó másolja a karakterláncot, és Fekszik más esetekben.

Vegyünk egy példát. Tegyük fel, hogy ki kell töltenünk a táblázatos rész adatait AccountAccount, abban az esetben, ha új sor kerül hozzáadásra. Meglévő sor szerkesztésekor nem kell módosítani a főkönyvi számlát.

Eljárás TabularPartAt EditingStart (Elem, Új sor, Másolás)

//Ha a felhasználó egy meglévő sort szerkeszt, akkor ne tegyen semmit
Ha NEM NewString Akkor
Visszatérés;
EndIf ;

//Ha a karakterlánc új, állítsa be a fiókot
TextString = Elem. CurrentData; //A táblázatos rész aktuális sora érkezett
TekString. AccountAccount = Számlatáblázatok. Önfenntartó. Kívánt számla;
Vége eljárás

A pénz és az áruk figyelembevétele érdekében az üzleti életben széles körben használják a különböző táblázatokat. Szinte minden dokumentum egy táblázat.

Az egyik táblázat felsorolja a raktárból kiszállítandó árukat. Egy másik táblázatban - ezen áruk fizetési kötelezettsége.

Ezért az 1C-ben az asztalokkal végzett munka kiemelkedő helyet foglal el.

Az 1C táblázatokat "asztalrészeknek" is nevezik. Referenciakönyvek, dokumentumok és mások rendelkeznek velük.

A lekérdezés a végrehajtása eredményeként egy táblát ad vissza, amely kétféle módon érhető el.

Az első - gyorsabb - kijelölés, sorok gyűjtése belőle csak sorrendben lehetséges. A második a lekérdezés eredményének kirakása egy értéktáblázatba, majd véletlenszerű hozzáférés hozzá.

//1. lehetőség – szekvenciális hozzáférés a lekérdezési eredményekhez

// asztal lekérése
Selection = Query.Execute().Select();
// sorrendben megkerüli a lekérdezés eredményének összes sorát
While Selection.Next() Loop
Jelentés(Kiválasztás.Név);
EndCycle;

//2. lehetőség - feltöltés az értéktáblázatba
Query = New Query("SELECT Name FROM Directory.Nomenclature");
// asztal lekérése
Table = Query.Execute().Feltöltés().
// akkor az összes sort is megkerülhetjük
A táblázathurok minden sorához
Report(String.Name);
EndCycle;
//vagy tetszőlegesen hozzáférhet a karakterláncokhoz
String = Table.Find("Shovel", "Name");

Fontos jellemzője, hogy a lekérdezés eredményeként kapott táblázatban minden oszlop erősen begépelt lesz. Ez azt jelenti, hogy a Név mező lekérésével a Nomenclature keresésből egy String típusú oszlopot kap, amelynek megengedett hossza nem lehet hosszabb N karakternél.

Táblázat az űrlapon (vastag kliens)

A felhasználó akkor dolgozik a táblázattal, amikor az az űrlapon van.

A leckében és a leckében megbeszéltük a formákkal való munka alapelveit

Tehát helyezzük el a táblázatot az űrlapon. Ehhez húzza a táblázatot a vezérlőpultról. Hasonlóképpen kiválaszthatja a menüből az Űrlap/Beszúrás vezérlőt.

Az adatok konfigurációban tárolhatók - ekkor ki kell választani egy meglévő (korábban hozzáadott) táblázatos rész a konfigurációs objektum, amelynek űrlapját szerkeszti.

Kattintson a "..." gombra az Adat tulajdonságban. A táblázatos részek listájának megtekintéséhez ki kell bontani az Objektum ágat.

Táblázatos rész kiválasztásakor az 1C maga is hozzáad oszlopokat az űrlapon lévő táblázathoz. A felhasználó által egy ilyen táblázatba beírt karakterláncok automatikusan mentésre kerülnek a könyvtárral/dokumentummal együtt.

Ugyanabban a Data tulajdonságban megadhat egy tetszőleges nevet, és kiválaszthatja a ValueTable típusát.

Ez azt jelenti, hogy egy tetszőleges értéktáblázat került kiválasztásra. Nem ad hozzá automatikusan oszlopokat, nem menti el automatikusan, de azt csinálhatsz vele, amit akarsz.

A táblázatra jobb gombbal kattintva hozzáadhat egy oszlopot. Az oszlop tulajdonságainál megadhatja a nevét (az 1C kódban való hivatkozáshoz), az űrlapon lévő oszlopfejlécet, a kapcsolatot a táblázatos rész attribútumával (utóbbi - ha nem tetszőleges táblázat van kiválasztva, hanem táblázat rész).

Az űrlapon a táblázat tulajdonságainál megadhatja, hogy a felhasználó hozzáadhat-e/törölhet-e sorokat. Egy fejlettebb űrlap a Csak megtekintése jelölőnégyzet. Ezek a tulajdonságok hasznosak az információ megjelenítésére szolgáló táblázatok rendszerezéséhez, de nem a szerkesztéshez.

A táblázat kezeléséhez meg kell jeleníteni a parancspanelt az űrlapon. Válassza ki a Form/Insert Control/Command Panel menüpontot.

A parancssor tulajdonságainál jelölje be az Automatikus kiegészítés jelölőnégyzetet, hogy az eszköztár gombjai automatikusan megjelenjenek.

Táblázat az űrlapon (vékony/felügyelt kliens)

Tovább kezelt formában ezek a műveletek kicsit másképp néznek ki. Ha táblázatos részt kell elhelyeznie az űrlapon, bontsa ki az Objektum ágat, és húzza balra az egyik táblázatszakaszt. És ez az!

Ha értéktáblázatot kell elhelyeznie, adja hozzá új kellékekűrlapot, és a tulajdonságaiban adja meg a típust - egy értéktáblázatot.

Oszlopok hozzáadásához használja a jobb egérgomb menüjét ennél az űrlapattribútumnál, az Attribútum oszlop hozzáadása elemnél.

Ezután húzza a táblázatot is balra.

Annak érdekében, hogy a táblázatnak legyen parancssora, a táblázat tulajdonságainál válassza ki az értékeket a Használat - Parancssor pozíció szakaszban.

Táblázat exportálása Excelbe

Az űrlapon található bármely 1C táblázat kinyomtatható vagy feltölthető Excelbe.

Ehhez kattintson a jobb gombbal szabad hely a táblázatban, és válassza a Lista megjelenítése lehetőséget.

Felügyelt (vékony) kliensben a Minden művelet/Megjelenítési lista menüpont segítségével hasonló műveletek hajthatók végre.

Kezdőlap kezdő fejlesztőknek Tanuljon meg programozni

Hogyan lehet adatokat szerezni a dokumentumok táblázatos részéből?

Vegyünk például egy olyan helyzetet, amikor a táblázatos részben meghatározott összes raktári tételt be szeretné szerezni Áruk dokumentumokat Áruk és szolgáltatások megvalósítása.

Ehhez használhat egy lekérdezést a következő szöveggel:

VÁLASSZON KÜLÖNBÖZŐ Szolgáltatási áruk realizálása Áruk.Nómenklatúra AS Nómenklatúra A Dokumentumból. Szolgáltatási áruk realizálása. Áruk AS Szolgáltatási áruk realizálása Áruk

Forrásként feltüntetjük a dokumentumok táblázatos részét - a táblázatot Dokumentum. Áruk értékesítéseSzolgáltatások. Áruk. Egy mező deklarálása kimeneti mezőként Elnevezéstan A, amely a forrástábla része. Ezen túlmenően, mivel ugyanaz az árucikk természetesen többször is szerepelhet a dokumentumokban, alkalmazzuk KÜLÖNFÉLE hogy csak különálló sorok jelenjenek meg a lekérdezés kimeneti táblájában.

Például hozzunk létre egy feldolgozást Terméklista ahol a dokumentum van kiválasztva Áruk és szolgáltatások megvalósítása, és a megfelelő gombra kattintva az üzenetablakban megjelenik a jelen dokumentum táblázatos részében található nómenklatúra nem ismétlődő tételeinek listája.

Annak érdekében, hogy a nómenklatúra kiválasztását csak egy adott dokumentum táblázatos részéből származó nómenklatúrára korlátozzuk, a paramétert használjuk Link a kérésben szereplő állapotban ( AHOL...):

KIVÁLASZTÁS KÜLÖNBÖZŐ Szolgáltatási áruk realizálása. Nómenklatúra AS Nómenklatúra FROM Dokumentumból Szolgáltatási áruk realizálása Áruk AS Szolgáltatási áruk realizálása Áruk WHERE Szolgáltatási áruk értékesítése Link = & Link