itthon / Skype / 1c 8.3 táblázatos része a dokumentumnak példákban. A dokumentum táblázatos részének kitöltése

1c 8.3 táblázatos része a dokumentumnak példákban. A dokumentum táblázatos részének kitöltése

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ényéből kapott táblázatban minden oszlop erősen begépelt lesz. Ez azt jelenti, hogy ha lekéri a Név mezőt a Nomenclature keresésből, akkor 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 menüből az Űrlap/Beszúrás vezérlőt.

Az adatok konfigurációban tárolhatók - ekkor ki kell választani a konfigurációs objektum egy meglévő (korábban hozzáadott) táblázatos részét, 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 hivatkozásként), az űrlapon az 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, de 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 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)

A kezelt űrlapon 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.

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

  • Útmutató könyvek
  • A dokumentumok
  • 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 Mindenkinek

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 Mindenkinek:

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 aktuális sorhoz a TablePart Loopbó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;

Mert kezelt űrlapok:

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 Hazugság, 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 Hazugság 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 cikk keretein belül megírjuk a táblázatos rész kitöltésének feldolgozását az 1C 8.3-ban egy tipikus 1C: ERP 2.1 konfigurációhoz. Tegyük fel, hogy a feladat célja 5% kézi engedmény beállítása minden termékre ez a dokumentum. A cikkből származó példa letölthető a következőről, vagy más hasonló feldolgozást végezhet a .

Ez az utasítás kezelt űrlapokhoz készült (8.2 és 8.3). A normál űrlapokhoz (8.1, 8.2) használhatja a .

Hozzon létre és mentsen el egy új kezelést a számítógépére. Először el kell végeznie néhány regisztrációs lépést.

Nyissa meg az objektummodult, és írja be az alábbi kódot (a fent megadott feldolgozásból is átvehető). Általában a szerkezet nem változik a helyzettől függően. Csak néhány beállítási paraméter szerkeszthető, valamint szükség esetén a változónevek.

Jelen cikk keretein belül nem térünk ki részletesen a regisztrációra. külső feldolgozásés nyomtatott űrlapok 1C-ben. Mindezek az információk a többi cikkünkben találhatók.

A dokumentum táblázatos részének kitöltése

Alkossunk új forma feldolgozás.

Most egy új parancsot kell hozzáadnunk a létrehozott űrlaphoz. Feltételezhető, hogy egy és több dokumentum táblázatos részének adatait egyidejűleg automatikusan megváltoztatja (ezek listája), és később lejegyzi azokat.

Példánk részeként a már meglévő "Termékek" táblázatos rész kerül feldolgozásra. Soronként 5% kézi kedvezmény kerül megállapításra. Ezenkívül kiszámítjuk ennek a kedvezménynek az összegét, amely megegyezik a sorban lévő áruk összegével, megszorozva 0,05-tel.

&Kiszolgálónál eljárás Parancs végrehajtása (parancs, célobjektumok) minden egyes vevői rendeléshez a célobjektumokból Hurok Ügyfélrendelési objektum = Vevői rendelés. GetObject() ; A CustomerOrderObject minden egyes TK-sorához. Áruk Cycle String TZ. Százalék Manuális Kedvezmény = 5 ; TZ húr. Amount ofManualDiscount = String TK. Összeg * 0 . 05; EndCycle ; OrderCustomerObject. Ír() ; EndCycle ; Vége eljárás

Külső feldolgozás regisztrációja

Futtassa az 1C-t "Vállalati" módban, és nyissa meg a " könyvtárat" További jelentésekés feldolgozás." Keresse meg az "Összes funkció" menüben.

Teremt új elem a megnyíló könyvtárban, és az azonos nevű gombra kattintva töltse be a feldolgozást a fájlból. Helyezzük el egyszerre a listalapon és magán az okmánykártya nyomtatványán is.

Most az "Ügyfélrendelés" dokumentumlista formájában megjelenik a "Kitöltés ..." gomb, amely lehetővé teszi, hogy egyszerre több dokumentumra módosítsa az áruk kézi árengedményét.

Ez a gomb magán a dokumentum kártyáján is elérhető lesz.