1c táblázatos dokumentum visszafejtési feldolgozás. A már hozzárendelt nevek megtekintése
Olvassa el is
Ebben a leckében megtanuljuk, hogyan hozhatunk létre táblázatos elrendezéseket az 1C-ben, amelyeket később felhasználhatunk.
Például, hogyan generáltam elrendezéseket a számára.
Megnyitottam a feldolgozási űrlapot, és az "Elrendezések" lapra léptem:
Megnyílik a táblázatszerkesztő:
A szerkesztőben való munka sok tekintetben hasonlít a szerkesztőben való munkához Excel program, de vannak olyan funkciók, amelyeken szeretnék elidőzni.
Mit értek régió alatt? Ez több sor és több cella, általában egy táblázatos dokumentum bármely része, amelyet a bal egérgombbal kiválaszthatunk.
Itt van egy válogatás két sorból:
És itt van a kiválasztott terület 2 oszloppal:
És most kijelöljük az első két sor és az első két oszlop metszéspontjában lévő területet:
Így. Ha sikerült kiválasztani a számunkra szükséges területet, akkor arra kattintva Jobb klikkés a "Tulajdonságok" elem kiválasztásával nevet adhatunk neki, amelyben a kódunkból hivatkozunk rá, nyomtathatót alkotva:
Ez az az alapvető készség, amelyet el kell sajátítanunk ahhoz, hogy táblázatos elrendezéseket tudjunk készíteni.
A már hozzárendelt nevek megtekintése
És lássuk, milyen nevek vannak már hozzárendelve a területekhez az elrendezésben?
Ehhez válassza ki a konfiguráló menüből:
Itt van az újonnan hozzárendelt "Fejléc" területünk:
És ha most kiválasztjuk a párbeszédablakban, és megnyomjuk a "Kiválasztás" gombot, akkor a megfelelő kiválasztásra kerül a szerkesztőben. cella területe:
A hatókör paraméterének beállítása
A nyomtatható terület kialakításakor gyakran nem csak a területet kell eltávolítani az elrendezésből. Bizonyos cellákat is ki kell tölteni bizonyos paraméterekkel.
Ezeket a paramétereket beállítjuk a területre, és a megadott értékek automatikusan a kívánt cellákba esnek.
Ehhez a szükséges cella tulajdonságaiban (ahol a paraméter értéke megjelenik) ...
A "Kitöltés" mezőben adja meg a "Paraméter" értéket, és a "Paraméter" mezőbe írjuk be azt a nevet, amellyel a kódból erre a paraméterre hivatkozunk:
Ha a kitöltésben nem "Paramétert", hanem "Sablont" ad meg, akkor magában a cellában is lehet valamilyen szöveget (sablont) jelezni a paraméternévvel szögletes zárójelben:
Ebben az esetben a paraméter neve (és pozíciója a sablonban) szögletes zárójelben van.
Hogyan állítsuk be a visszafejtési lehetőséget?
A visszafejtési paraméter neve ugyanabban a cellatulajdonságban van beállítva:
Később a kódból ehhez a paraméterhez ("Nómenklatúra dekódolás" néven) hozzárendeljük a kívánt értéket (hivatkozás a nómenklatúra tételére).
És amikor a felhasználó duplán rákattint erre a cellára, megnyílik a visszafejtési paraméterhez rendelt érték (ebben az esetben a nómenklatúra elem formája nyílik meg).
További búcsúszavak
Lefedtük a szükséges alapokat. Most alaposan vizsgálja meg.
Töltse le ezt az adatbázist. benne a "Tesztek feldolgozása" feldolgozás.
Elrendezései táblázatos opciókkal rendelkeznek. Fedezze fel őket a lehető legalaposabban, a fentebb tárgyalt technikákra támaszkodva.
Kérdés: Kérem, adjon tanácsot, hogyan tegye a következőket.
Van kimenetem táblázatos dokumentum lekérdezés eredménye, van egy dekódolás a cellához.
Szeretnék duplán kattintani egy cellára egy olyan eljárás futtatásához, amely például jelentést indít a cella dekódolásáról.
Válasz: A visszafejtés szabványos és nem szabványos.
i) Normál:
közvetlenül egy táblázatkezelő dokumentumban és egy SpreadsheetDocumentField objektumban is használható (azaz olyan táblázatdokumentumban, amelyet nem helyeztek el külön ablak, hanem közvetlenül az űrlapon).
Ahhoz, hogy a visszafejtés működjön, 3 feltételnek kell teljesülnie:
1) A táblázatkezelő dokumentum azon cellájánál, ahonnan a Decryption-t szeretnénk meghívni, a propertyDecryptionParameter paramétert kell beállítani. Például szeretnénk, ha a partner nevét tartalmazó cellára duplán kattintunk, hogy megnyíljon az Ügyfél referenciakönyvének elemének formája, így tisztázni tudjuk a jelentésben nem szereplő adatokat. Állítsa be a DecryptionParameter tulajdonságot valamilyen értékre, például AccountDecryption.
2) Az elrendezési területeknek az eredményül kapott táblázatkezelő dokumentumba történő kiadása során KÖTELEZŐ hozzárendelni a kívánt típus értékét a visszafejtési paraméterhez, például:
Code 1C v 8.x TabDoc = Új táblázatkezelő dokumentum;
Selection = Directories.Contractors.Select();
// .................................................
Scope.Parameters.DecryptionAccountant = Selection.Reference;
TabDoc.Output(Régió);
EndCycle;
3) Meg kell tiltani egy cella visszafejtéssel történő szerkesztését, pl. meg kell adni
TabDoc.ViewOnly = Igaz;
egyébként a kurzor ígéretes megjelenése ellenére egy cella fölé húzva annyit lehet rákattintani, amennyit csak akarunk, de nem történik semmi.
II) Nem szabványos:
ha duplán kattint egy dekódoló cellára, meghívhatja saját eljárását. Ennek megvalósításához több feltételnek kell teljesülnie:
1) A táblázatkezelő dokumentum kimenetét a SpreadsheetDocument Field objektumban kell végrehajtani;
2) A ParameterDecryption cellatulajdonsághoz értéket kell rendelni, például DecryptionAccount.
3) Az Ügyfél visszafejtése dekódolási paraméter kitöltve van a táblázatkezelő dokumentum generálásakor. kívánt értékeketÉrtéklista, vagy gyakrabban struktúra. Különösen egy szabványos konfigurációs jelentés neve és a jelentés űrlapon beállítandó paraméterek adhatók át, mint például a dátum időszak, számlaszám stb. És akkor ezt a jelentést eljárásnak nevezik.
4) A SpreadsheetDocument Field objektum ViewOnly tulajdonságát True értékre kell állítani.
5) A felhasználói eljárás kódja az eljárásba kerül
1C v 8.x kód
// benne az első sor ilyen legyen:
StandardProcessing = False;
Mondok egy kis példát, amely megnyit egy alárendelt könyvtárat a "kattintott" partner számára.
Kód 1C v 8.x eljárás GombGeneratePress(Button)
Vállalkozók = Directories.Contractors;
Selection = Counterparties.Select();
Tab = FormElements.SpreadsheetDocumentField1;
Layout = GetLayout("Layout");
While Selection.Next() Loop
Ha Selection.ThisGroup = False Akkor
Régió = Layout.GetRegion("String");
Scope.Parameters.Account = Selection.Description;
.................................................................................................
StructDecryption = Új struktúra;
StructureDecoding.Insert("Számla", Selection.Reference);
StructureDecryption.Insert(".......",.........);
.........................................................................
Scope.Parameters.DecryptionAccountant = StructureDecryption;
FormElements.SpreadsheetDocumentField1.Output(Area);
Másképp
Folytatni;
EndIf;
EndCycle;
FormElements.SpreadsheetDocumentField1.ViewOnly = Igaz;
Vége eljárás
eljárást
StandardProcessing = False;
Szerződések = Directories.Contracts.GetListForm();
Contracts.ParameterSelectionByOwner = Magyarázat.Vállalkozó;
Szerződések.Open();
Vége eljárás