Hogyan lehet adatokat szerezni a dokumentumok táblázatos részéből? 1c hozzáférés a dokumentum táblázatos részéhez

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

  • Könyvtárak
  • Dokumentáció
  • Jelentések és feldolgozás
  • Számlatáblázatok
  • Jellegzetes típustervek
  • 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 meg néhány technikát a táblázatos részekkel való munkavégzéshez.

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

A táblázatrész áthaladásához hurkot használhat Az egyes

Minden sorhoz a ciklus táblázatos részéből

Report(String. TabularPart attribútum) ;

EndCycle ;

Minden iterációnál a változóba Vonal a táblázatos rész következő sora kerül továbbításra. A sorrészletek értékeit a kifejezéssel kaphatjuk meg Line.AttributeName.

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

Az objektum táblázatos részéből származó információk megjelenítéséhez használjon űrlapelemet 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 az ő birtokán Kiválasztási mód.

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

A kiválasztott sorokon való iterációhoz egy hurok szolgál. Az egyes:

SelectedRows = Űrlapelemek. TableFieldName. SelectedRows;

Minden sorhoz a kiválasztott sorokból Loop

//hurok tartalma

EndCycle ;

A táblázatos rész (táblamező) sorainak programozott kijelölése és kijelölésük megszüntetése

A táblázatmező sorainak programozott kijelölésének megszüntetése:

Űrlapelemek. TableFieldName. SelectedRows. Egyértelmű() ;

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

Minden aktuális sorhoz a TabularPart Loopból
Űrlapelemek. TableFieldName. SelectedLines. Add(aktuális sor) ;
EndCycle ;

Hogyan kell törölni az asztali részt

TabularPart. Egyértelmű() ;

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

Az aktuális sor az az időszak, amelyen a felhasználó rendelkezik Ebben a pillanatban a kurzor található. Ennek eléréséhez el kell érnie a táblázatos részhez társított űrlap vezérlőelemét.

A normál űrlapoknál a kód így fog kinézni:

Űrlapelemek. TableFieldName. CurrentData;

Kezelt űrlapok esetén:

Elemek. TableFieldName. CurrentData;

Hogyan adjunk hozzá új sort egy táblázatszakaszhoz

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

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

Új sor hozzáadása bárhol a táblázat szakaszában (a következő sorok eltolódnak):

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

Új sor. Props1 = "Érték" ;

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

Ha programozottan kell kitöltenie egy, a felhasználó által hozzáadott táblázatszakasz sor részleteit, akkor a táblázatszakasz eseménykezelőjét kell használnia. A szerkesztés megkezdésekor.

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

  • Elem- vezérlőelemet tartalmaz Táblázatmező.
  • Új sor- logikai. Értéket tartalmaz Igaz, ha új táblázatsor kerül hozzáadásra, és Fekszik, ha a felhasználó elkezdett szerkeszteni egy már meglévő sort.
  • Másolat- logikai. Értéket tartalmaz Igaz, ha a felhasználó másolja a sort, és Fekszik más esetekben.

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

Eljárás táblázatos rész kezdetén szerkesztés (elem, új sor, másolás)

//Ha a felhasználó szerkeszt egy meglévő sort, akkor nem teszünk semmit
Ha NEM NewRow Akkor
Visszatérés;
EndIf ;

//Ha a sor új, állítsa be a könyvelési számlát
TechString = Elem. CurrentData; //A táblázatos rész aktuális sorának lekérése
TechString. Számvitel = Számlatáblázatok. Önfenntartó. RequiredAccount;
Az eljárás vége

A pénz és az áruk elszámolására különféle táblázatokat széles körben használnak az üzleti életben. 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ázat az ezen áruk fizetési kötelezettségeit mutatja.

Ezért az 1C-ben az asztalokkal való munka előkelő helyet foglal el.

Az 1C táblázatait „táblázatos részeknek” is nevezik. A címtárak, dokumentumok és egyebek rendelkeznek velük.

A lekérdezés végrehajtásakor egy táblát ad vissza, amely két különböző módon érhető el.

Az első - gyorsabb - kijelölés, sorok beszerzése belőle csak sorrendben lehetséges. A második a lekérdezés eredményének feltöltése 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ések eredményeihez

//szerezd meg az asztalt
Select = Query.Run().Select();
// sorrendben végigmegyünk a lekérdezés eredményének minden során
Míg Select.Next() Loop
Jelentés(Kiválasztás.Név);
EndCycle;

//2. lehetőség – feltöltés értéktáblázatba
Request = New Request("SELECT Name FROM Directory.Nomenclature");
//szerezd meg az asztalt
Table = Query.Run().Unload().
//továbbá az összes sort is iterálhatjuk
A táblázatciklus minden sorához
Report(String.Name);
EndCycle;
//vagy tetszőlegesen hozzáférhet a karakterláncokhoz
Row = Table.Find("Shovel", "Name");

Fontos jellemzője, hogy a lekérdezés eredményeként kapott táblázatban minden oszlop szigorúan be van írva. Ez azt jelenti, hogy a Név mező lekérésével a Nomenclature könyvtárból egy String típusú oszlopot kap, amelynek megengedett hossza legfeljebb N karakter.

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 Form/Insert Control menüpontot a menüből.

Az adatok a konfigurációban tárolhatók - ekkor ki kell választani egy meglévőt (korábban hozzáadva) 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.

Amikor kiválasztja a táblázatos részt, 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 sorok automatikusan mentésre kerülnek a referenciakönyvvel/dokumentummal együtt.

Ugyanabban az Adat tulajdonságban megadhat egy tetszőleges nevet, és kiválaszthatja az Értéktábla típusát.

Ez azt jelenti, hogy egy tetszőleges értéktáblázat került kiválasztásra. Nem ad hozzá automatikusan oszlopokat, és nem is menti automatikusan, de bármit megtehetsz vele.

A táblázatra jobb gombbal kattintva hozzáadhat egy oszlopot. Egy oszlop tulajdonságainál megadhatjuk 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 egy táblázatos 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 kényelmesek az információk megjelenítésére, de nem szerkesztésére szolgáló táblázatok rendszerezésére.

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

A parancssor tulajdonságainál jelölje be az Automatikus kitöltés jelölőnégyzetet, hogy a panelen lévő gombok automatikusan megjelenjenek.

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

Tovább kezelhető formában Ezek a lépések 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ázatos részt. Ez minden!

Ha értéktáblázatot kell elhelyeznie, adjon hozzá egy új űrlapattribútumot, és annak tulajdonságaiban adja meg a típust – értéktábla.

Oszlopok hozzáadásához kattintson a jobb gombbal az űrlapattribútumra, és válassza az Attribútumoszlop hozzáadása lehetőséget.

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

Annak érdekében, hogy egy táblának 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 feltöltése 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 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 Programozás tanulása

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 elemet be kell szereznie Áruk dokumentumokat Áruk és szolgáltatások értékesítése.

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

KIVÁLASZTÁS KÜLÖNBÖZŐ Áruk és szolgáltatások értékesítése. Nómenklatúra AS Nómenklatúra FROM Dokumentumból Áruk és szolgáltatások értékesítése Áruk AS Áruk és szolgáltatások értékesítése Áruk

Forrásként a dokumentumok táblázatos részét - táblázatot - tüntetjük fel Dokumentum. Áruk és szolgáltatások értékesítése. Áruk. A kimeneti mezőt mezőnek deklaráljuk Elnevezéstan, amely a forrástábla része. Ezenkívül, mivel ugyanaz a termék természetesen többször is szerepelhet a dokumentumokban, ezért használjuk KÜLÖNFÉLE hogy a lekérdezés kimeneti táblájában csak a különálló sorok jelenjenek meg.

Például hozzunk létre egy feldolgozást Terméklista, ahol a dokumentum van kiválasztva Áruk és szolgáltatások értékesítése, é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 az elemek kiválasztását csak egy adott dokumentum táblázatos részének tételeire korlátozzuk, a paramétert használjuk Link a kérésben szereplő állapotban ( AHOL...):

KIVÁLASZTÁS KÜLÖNBÖZŐ Áruk és szolgáltatások áruk értékesítése Nómenklatúra AS Nómenklatúra FROM Dokumentumból Áruk és szolgáltatások értékesítése Áruk HOGYAN Áruk és szolgáltatások értékesítése Áruk HOL Áruk és szolgáltatások áruk értékesítése Link = &Link




Top