Táblázatos rész az 1s értéktáblázatban 8.3. Ez olyan egyszerű

A raktárosnak fel kell töltenie egy listát az összes olyan cikkről, amelynél nincs beállítva törlési jelző. Kirakodási mezők:

  1. Név.
  2. Kereskedői kód.
  3. Nomenklatúra típusa.
  4. Nomenklatúra típusa.

Így fog kinézni az Excel táblázat feltöltés után:

Tekintsünk két megoldási módot: programozás nélkül és programozó közreműködésével.

Programozás

A nómenklatúra XLS-fájlba történő kirakásához adatbázis-lekérdezést hozunk létre, hogy megkapjuk a nómenklatúrát, és az eredményt az eltávolítási feldolgozás táblázatos részébe helyezzük. Íme a feldolgozási űrlap:

A "Kitöltés" gombra kattintva kitöltődik a feldolgozás "Adatok feltöltése" táblázatos része, amelybe a megfelelő adatok kerülnek. A gomb kezelője a következőkkel rendelkezik programozási kód:

Procedure ButtonPerformPress(Button) Query = Új lekérdezés; Kérés. Szöveg = " KIVÁLASZT | Elnevezéstan. Referencia AS-nómenklatúra, | Elnevezéstan. Kereskedői kód, | Elnevezéstan. Típusnómenklatúra, | Elnevezéstan. TípusNómenklatúra. Nómenklatúra típusa AS Nómenklatúra típusa |TÓL TŐL| Könyvtár . Nómenklatúra AS Nómenklatúra|HOL | NEM nómenklatúra. FlagRemoval | És NEM nómenklatúra. Ez a csoport" ; DataTable = Query. Execute () . Unload() ; Töltse fel az adatokat. Load(Data Table) ; EndProcedure

Itt mindennek világosnak kell lennie. A móka a "Mentés" gombra kattintva kezdődik. Először az XLS-tábla mentési útvonalának kiválasztására szolgáló párbeszédpanel hívódik meg. Ezután a feldolgozás táblázatos részének adatait felhasználva kitöltjük táblázatos dokumentum a korábban elkészített elrendezés szerint. A feldolgozáshoz hozzáadott elrendezés a következő:

Eljárás MainActionsFormsAction(Button) // Hívja a fájlkiválasztó párbeszédpanelt az XLS tábla mentéséhez Mode = FileSelectionDialogMode. Megőrzés; FileOpenDialog = NewFileSelectDialog(Mode) ; Fájl megnyitása párbeszédpanel. FullFileName = " " ; Fájl megnyitása párbeszédpanel. MultipleSelection = False ; Szöveg = "ru = ""XLS-tábla"" ; hu =" "XLS tábla " " " ; Szűrő = NStr(szöveg) + " (*.xls) |*.xls xls" ;FileOpenDialog.Filter = Szűrő;FileOpenDialog.Title = " Válasszon egy mentési útvonalat" ; Ha FileOpenDialog. Select() then FilePath = FileOpenDialog. FullFileName; Else Text = " Nincs kiválasztva mentési útvonal!" ; Figyelmeztetés (Szöveg) ; Return ; EndIf ; // Hozzon létre egy táblázatos dokumentumot TableSave = Új SpreadsheetDocument; // A kitöltési elrendezés és az elrendezési területek lekérése Elrendezés = ThisObject. GetLayout(" Táblázatfeltöltések" ) ; AreaHat = Elrendezés. GetArea(" Fejléc " ) ; AreaString = Elrendezés. GetArea(" Vonal" ) ; // Adatok kiadása egy táblázatkezelő dokumentumba TableSave. Output(Régiófejléc) ; A DataUpload ciklus minden oldalához FillPropertyValues(AreaString. Parameters, Page) ; TableSave. Output(AreaString) ; EndCycle ; // Táblázat dokumentum mentése lemezre TableSave. Write(FilePath, SpreadsheetDocumentFileType.XLS) ; Vége eljárás

Mentés után egy Excel táblázatfájl lesz a lemezen a feltöltött nómenklatúra listájával. A cikk elején láthat egy példát egy fájlra.

A felhasználó saját maga tudja

Valójában egy programozó sorsa nem kell egy ilyen feladathoz. A felhasználó mindent meg tud csinálni maga, trükkök nélkül.

Például úgy, hogy az elemlistára lép, és végrehajtja a parancsot "Minden művelet" -> "Megjelenítési lista" az elemek listájából a felhasználó megkapja a generált táblázatos dokumentum elemeinek listáját.

A táblázatkezelő dokumentum létrehozása után a "Mentés" gombra kattintva vagy a "Fájl->Mentés" menüben a felhasználó a táblázatkezelő dokumentumot XLS fájlba írhatja a nevének és a célkönyvtárának megadásával.

Ez minden! A feltöltés nem igényel feldolgozást. Természetesen, ha elég egyszerű eseted van az adatok feltöltésével.

Szóval minden egyszerű?

Minden nagyon egyszerű, nem kell külső alkatrészeket csatlakoztatni. Ráadásul így nem csak Excel táblázatkezelő formátumú fájlokba tölthetünk fel, hanem a platform által támogatott egyéb formátumokba is.

Feldolgozás egy példával a cikkből megteheti letöltés a linkről.

A pénz és az áruk elszámolása érdekében az üzlet széles körben használja különböző táblázatok. 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.

Kattintás Jobb klikk a táblázatra felvehet egy oszlopot. Az oszlop tulajdonságai között megadható a neve (az 1C kódban hivatkozásként), az űrlapon az oszlopfejléc, a kapcsolat a táblázatos rész attribútumaival (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)

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, adjon hozzá egy új űrlapattribútumot, és adja meg a típust a tulajdonságaiban - egy értéktáblázatban.

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 értéktábla egy meghatározott általános objektum, amelyet arra terveztek, hogy adatokat tároljon táblázatnézetben. A legfontosabb különbség a tábla és az alkalmazásobjektumok között az, hogy nem kapcsolódik fizikai adatbázistáblákhoz. Az értéktábla csak a következőben létezik véletlen hozzáférésű memória amely egyrészt egyedi lehetőségeket ad, másrészt bizonyos megkötéseket is támaszt. Ennek ellenére a táblákkal való interakció lehetőségei hasonlóak az adatbázisban ténylegesen létező objektumokkal való interakcióhoz.

Történelmileg az 1C értéktáblázatának kettős célja van: a meglévő táblázatok virtuális analógja, de ugyanakkor - és egy vezérlőelem. A felügyelt alkalmazásra való átállással e funkcionalitás nagy része elavult, de még most is lehet felhasználói felület elem, de számos jelentős korláttal.

Az értéktáblázat, mint objektum felépítése

Az értéktáblázat tulajdonságait két előre meghatározott gyűjtemény kombinációja határozza meg: az oszlopok és a sorok.

Értéktáblázat Oszlopok

Az értéktábla oszlop a meghatározó tulajdonsága. Ez a táblázat oszlopainak halmaza, amely meghatározza annak szerkezetét. Az oszlopok a fizikai táblák mezőinek felelnek meg, vagy azokból ismerősek felhasználói felület táblázatos rész vagy dokumentumnapló oszlopai. Egy oszlopnak lehet belső neve, értéktípusa és fejléce, amely a táblázattal való interakció során jelenik meg.

Mivel az oszlopok objektumok gyűjteményei, hozzáadhat, eltávolíthat és szerkeszthet oszlopokat.

Értéktábla sora

A programfelület szempontjából a karakterláncok egy értéktáblázatba ágyazott külön gyűjtemény. Hasonlóak a fizikai táblák rekordjaihoz, vagyis egy táblázatos rész vagy egy dokumentumnapló felhasználó által ismert soraihoz. Minden egyes sor egy objektum elnevezett tulajdonságokkal, amelyek neve megegyezik a táblázat oszlopainak nevével.

Így egy karakterlánccal való interakció nagyon hasonlít a más objektumokkal való interakcióhoz. Tulajdonságait olvashatja és írhatja, beleértve az előre meghatározott "FillPropertyValues()" függvényt is. Mivel a sorok az értéktáblázat fő gyűjteménye, a "Clear()" metódus a tábla összes sorának törlésére szolgál.

Készítsen értéktáblázatot

Számos módja van az értéktáblázat használatra késznek. Nézzünk meg néhányat közülük. Minden példa kódlistaként jelenik meg megjegyzésekkel.

Táblázat készítése konstruktorral

A fő módszer, amely lehetővé teszi, hogy pontosan olyan táblát hozzon létre, amelyre a fejlesztőnek szüksége van, sajnos a legidőigényesebb, mivel ehhez manuálisan kell megadni a tábla összes szükséges tulajdonságát.

DemoTable = Új értéktábla; // Először is inicializáljuk a TK-t // Ezután meghatározzuk az új oszlopokhoz szükséges paramétereket, és hozzáadjuk a gyűjteményhez // A "Nómenklatúra" oszlop létrehozása Name = "Nómenklatúra"; ValueType = New TypeDescription("ReferenceReference.Nomenclature"); Title = "Nómenklatúra (tétel)"; DemoTable.Columns.Add(Name, ValueType, Title); // Az "Amount" oszlop létrehozása Name = "Amount"; ValueType = NewTypeDescription("Szám"); DemoTable.Columns.Add(Name, ValueType); // Ezen manipulációk eredményeként egy üres táblázatot hoztunk létre beírt oszlopokkal // Ha a primitív típusok pontosabb gépelésére van szükség, akkor a „TypeDescription” konstruktor kiterjesztett szintaxisát használja.

Táblázat készítése másolással

Ha van kéznél megfelelő szerkezetű és/vagy összetételű referenciája, lemásolhatja vagy letöltheti a referenciaértéktáblázatot. Ha a hivatkozás egy másik tábla, akkor a "Referenciatábla másolása" módszert kell alkalmazni. Ha táblázatos résszel vagy regiszterrekordok halmazával van dolgunk, akkor az "Értéktáblázat eltávolítása" módszert kell használnia. Ha csak a szerkezetre van szüksége, akkor használhatja a "CopyColumns" metódust.

// Változat az összes sor átmásolásával a TK-szabványból, de csak két megadott oszlopot ment el Referencia Oszlopok = "Nómenklatúra, Mennyiség"; DemoTable = TableReference.Copy(, ColumnsReference); // Változat a TK-szabvány előzetesen kiválasztott sorainak másolásával, a két megadott oszlop megőrzése mellett. Referencia oszlopok = "Nómenklatúra, Mennyiség"; DemoTable = TableReference.Copy(RowsReference, ColumnsReference); // Lehetőség sorok másolásával a TK-szabványból a megadott szűrő szerint, egy oszlop „Nómenklatúra” megtartása mellett // Minden olyan sor ki lesz jelölve, ahol a Mennyiség oszlop értéke 0, csak a Nómenklatúra oszlop kerül bele a eredmény táblázat Sorválasztás = New Structure("Mennyiség" , 0); Referencia oszlopok = "Nómenklatúra"; DemoTable = TableReference.Copy(RowsReference, ColumnsReference); // Változat ezzel teljes másolat táblázat, majd egy sor törlése a mennyiségmező nullával egyenlő értékével, valamint a teljes „Szám” oszlop törlése RowSelection = New Structure("Number", 0); Referencia oszlopok = "Nómenklatúra"; DemoTable = TableReference.Copy(RowsReference, ColumnsReference); TableString = DemoTable.Find(0, "Count"); DemoTable.Delete(TableString); DemoTable.Columns.Delete("Mennyiség"); // Hasonló opciók és azok módosításai alkalmazhatók táblarészekre és regiszterrekordkészletekre

Táblázat készítése lekérdezéssel

Ha az adatbázisban van a szükséges táblázat sablonja, akkor használhatja a lekérdezést gyors alkotás táblázatok a kívánt szerkezettel.

// Példa egy üres tábla létrehozására a felhalmozási regiszter szerkezetét követve // ​​Könnyen kitalálható, hogy így a kitöltött táblát is megkaphatja Request = New Request("SELECT FIRST 0 * Felhalmozási nyilvántartásból. Áruk a raktárban "); QueryResult = Query.Execute(); DemoTable = QueryResult.Upload(); // Példa egy üres tábla létrehozására kifejezetten megadott típusok és mezőnevek alapján Query = New Query; Query.Text = "SELECT FIRST 0 | Value(Katalógus.Nómenklatúra.NullReference) AS Nómenklatúra, | EXPRESS(0 AS SZÁM(15, 3)) AS Mennyiség"; QueryResult = Query.Execute(); DemoTable = QueryResult.Upload(); // FONTOS! Ne felejtsük el, hogy a Null típus mindig jelen van a lekérdezésből kapott oszlopértéktípusokban // Így a lekérdezéssel létrehozott TM mindig összetett oszloptípusokkal rendelkezik

Következtetés

Ebben a rövid cikkben bemutattuk az értéktábla létrehozásának alapvető tulajdonságait és gyakorlati technikáit, amelyek elegendőek ahhoz, hogy megértsük és elkezdjük használni. Maga az értéktábla objektum olyan sokrétű, hogy Részletes leírás képességei megkövetelik egy külön cikk írását a munka technikáiról és módszereiről.



Betöltés...
Top