itthon / Windows oktatóanyagok / Skd szerkesztési lehetőségek. Adatösszetételi séma konstruktor – beállítások lap. Lépésről lépésre jelentéskészítés

Skd szerkesztési lehetőségek. Adatösszetételi séma konstruktor – beállítások lap. Lépésről lépésre jelentéskészítés

A lekérdezéskészítőben, amikor az adatforrás-beállítási űrlapról hívják meg, az adatösszetételi séma számára. Van egy „jellemzők” fül, amelynek használata nincs egyértelműen leírva a dokumentációban. Ebben a cikkben megpróbálom elmagyarázni, hogyan és miért használják a jellemzőket az ACS-ben.

A lekérdezéskészítőben, amikor az adatforrás-beállítási űrlapról hívják meg, az adatösszetételi séma számára. Van egy „jellemzők” fül, amelynek használata nincs egyértelműen leírva a dokumentációban. Ebben a cikkben megpróbálom elmagyarázni, hogyan és miért használják a jellemzőket az ACS-ben. Tipikus konfigurációkban aktívan használják a tulajdonságok és tulajdonságértékek mechanizmusát, amely szinte minden objektumhoz elérhető. Kezdetben a referenciakönyvekben ezt a mechanizmust 7.7-es konfigurációkban valósították meg. Most ezt a mechanizmust a jellemzők típusainak tervével és az információs nyilvántartással valósítják meg, de az ötlet ugyanaz marad. Amikor először találkoztam azzal, hogy ezt a mechanizmust kell használni az ACS sémában, nagyon sokáig szenvedtem, beágyazott lekérdezéseket szerveztem, a fő kijelöléshez csatoltam, és azon törtem a fejem, hogyan vegyem figyelembe az új típusú tulajdonságok lehetőségét, amelyek nem a jelentés elkészítésekor léteznek. A tulajdonságok teljes mechanizmusa, mivel egyszerű és logikus a felhasználó szempontjából, nem alkalmas normál feldolgozásra, amíg ki nem találtam a „Jellemzők” fület. A lapon lévő táblázat nagyon szeszélyes, vagy helyesen írja be a teljes sort, vagy egyáltalán megtagadja a sor beírását, a rendszer nem engedi, hogy „későbbre” hagyjon egy hiányosan kitöltött sort. Szóval, térjünk rá a konkrétumokra. Első oszlop: Típus - itt kiválasztjuk az objektum típusát, amelyhez a jellemzők kötődnek, például „DirectoryReference.Nomenclature” Ez azt jelenti, hogy mostantól lehetőség lesz tulajdonságértékek lekérésére a megadott típusú összes objektumhoz. Ezt követően a Nézetek forrása oszlopban be kell állítanunk az ingatlantípusok forrásának paramétereit. Táblázat és lekérdezés opciók lehetségesek, hogy miért van szükségem a lekérdezési lehetőségre, azt később elmondom, most a táblázatelemet fogjuk kiválasztani. A Jellemzők típusai oszlopban ki kell választanunk egy táblázatot információs bázis, amely tárolja kívánt nézetek jellemzők, példánkban ez lesz a „Jellemzők nézeteinek terve. Az objektumok tulajdonságai”. Továbbá a Key Field, Name Field és Value Type Field oszlopokban választható értékek közvetlenül az általunk kiválasztott táblázat mezőitől függenek. A Kulcs mezőben a Hivatkozást, a Név mezőben a Nézetet (ezt fogja látni a felhasználó attribútumnévként), a Típus mezőben pedig a ValueType-ot. Most térjünk át az értékek forrására. Az értékek forrása az „Objektumok tulajdonságainak értékei” információs regiszter lesz, ezért az Értékek forrása oszlopban kiválasztjuk a táblázatot, a Jellemzők értékei oszlopban pedig az „Információs regisztert” Az objektumok tulajdonságainak értékei”. Az Objektum, Tulajdonság, Érték oszlopokban válassza ki az Objektum, Tulajdonság, Érték regiszter megfelelő mezőit. Úgy tűnik, ez minden. Bemegyünk a sémabeállításokba, hozzáadunk egy termék szerinti csoportosítást, és adunk hozzá egy alárendelt csoportosítást, például márkák szerint, van ilyen tulajdonságunk. Kibővítjük a Nomenclature csoportosítás attribútumainak listáját és ... ott nem látunk semmilyen tulajdonságot: A helyzet az, hogy a konfigurátorban vagyunk, ahonnan nincs hozzáférés az adatokhoz. Hogyan kell csinálni kívánt beállítást? Ennek legkényelmesebb módja az adatösszeállítási konzol használata, az ITS lemezen lévő, vagy a „Fejlesztői eszközök” alrendszerben található konzol. De a jelentésbeállítást vállalati módban is megnyithatja. Tehát nyissuk meg ugyanazt a beállítást, de vállalati módban: Amint látja, új "Részletek"-t adtunk hozzá, miközben...

Kérdés: SKD, Hogyan tudom megnyitni a paraméterhez szükséges kiválasztási űrlapot?


Jó napot! Van egy jelentés az ACS-ről, van benne a Brand paraméter - a Directory.Nomenclature típus. Hogyan hívhatok meg egy adott kiválasztási űrlapot ehhez a paraméterhez? Kipróbáltam az ACS-ben a "Parameters" fülön, felálltam a kívánt paraméterre - kattintson duplán az "Editing Options" oszlopra - jelölje be a "Select Form" jelölőnégyzetet és adja meg a Directory.Nomenclature.Form.VoiceFormNecessary értéket . A jelentés futtatásakor alapértelmezés szerint továbbra is a kiválasztási űrlapot használja, és nem az "Űrlap kiválasztása"-ban megadottat. UT konfiguráció, szabályos formák. Mondd, pzhl, hol, mi a baj?

Válasz: Kulcsszó Közönséges űrlapok, váltson kezeltre

Kérdés: Válasszon ki egy értéket a kiválasztási űrlapon


Jó napot!

Rendszeres alkalmazás.

Van egy dokumentum. Számos referencia típusú kellékkel rendelkezik, például "DirectoryLink.Banks", "Bank1" értékkel.

Szükséges a "Bankok" könyvtár kiválasztásának formájában, programozottan KIVÁLASZTNI a "Bank1" elemet, pl. írja be újra ezt az értéket "Bank1".

Eddig a következőket csináltam:
Eljárás Kiválasztás végrehajtása Kiválasztási űrlapon (hivatkozás)
DirectorySelectionForm = Directories.Banks.GetChoiceForm(,Reference); //letöltheti az űrlapot a Banks könyvtár kiválasztásához az átadott Link paraméterrel
//A kijelölést ezen a kiválasztási űrlapon állítottam be, a kellékekben található linkem szerint
HandbookChoiceForm.Selection.Reference.Use = true;
DirectoryChoiceForm.Selection.Link.Value = link;
CatalogSelectionForm.FormElements.CatalogList.HierarchicalView = Hamis;
KézikönyvChoiceForm.Open();
//itt a kód ami szimulálja a Select gomb megnyomását, hogyan????
Vége eljárás

Segíts, aki szembesült, vagy van ötlete.

Köszönöm.

Válasz:

Így történt:

Eljárás ExecuteChoiceInChoiceForm(Link, rec) //paraméter "reference" egy értékhivatkozás a dokumentum űrlapon; "rec" az aktuális űrlapelem, azaz. jelölőnégyzetet
Dictionary Selection Form = Directories.Banks.Get SelectionForm(,Rec,Reference);
CatalogSelectionForm.FormElements.CatalogList.HierarchicalView = Hamis;
OpenForm(FormChooseCatalog, folyók,);

IfCatalogSelectionForm.Open() Akkor
KézikönyvChoiceForm.Activate();
EndIf;

HandbookChoiceForm.CurrentItem.CurrentRow = link;
ChoiceEl = FormCategoryChoice.CurrentItem.CurrentRow;

Ha ChoiceEl = nem definiált vagy NEM érték kitöltve (ChoiceEl), akkor
Show("A "+Referencia+" érték nem található a keresési kiválasztási űrlapon");
másképp
Kézikönyv kiválasztási űrlap.NotifyOfChoice(ChoiceEmail);
EndIf;

Vége eljárás

Kérdés: A „Kiválasztás” gomb a kiválasztási űrlapon, vagy hogyan kell a „Kiválasztás” gombra kattintani


Jó napot!

Rendszeres alkalmazás.

Mi a véleménye arról, hogyan kell a „Kiválasztás” gombra kattintani a dokumentum/könyvtár kiválasztási űrlapon?

Az egérrel való kattintás és a COM nem kínálja fel az automatizálást.

Kívánságlista: a kiválasztási űrlapon szimulálja a „Kiválasztás” gomb megnyomását.

Válasz:Úgy tűnik, ez megoldotta a problémát... pár próbaüzem.

17 perc után hozzáadva
Eddig így működik:

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Eljárás Kijelölés végrehajtása Kijelölési űrlapon (hivatkozás, felv.) //paraméter "link" egy értékhivatkozás a dokumentum űrlapon; "rec" az aktuális űrlapelem, azaz. jelölőnégyzetet DirectorySelectionForm = Könyvtárak. Bankok. GetSelectionForm(, Req, Link ) ; FormChoiceDirectory. ElementsForm. DirectoryList. HierarchicalView = False ; OpenForm(DirectoryChoiceForm, folyók, ) ; IfFormSelectionDirectory. Opened() majd HandbookChoiceForm. Aktiválja() ; EndIf ; FormChoiceDirectory. CurrentElement. CurrentLine = link ; ChoiceEl = FormChoiceCatalog. CurrentElement. CurrentLine ; ha ChoiceEmail = nem definiált vagy NINCS érték kitöltve (ChoiceEmail), akkor Jelentés("Érték" + Hivatkozás + "nem található a keresési kiválasztási űrlapon") ; ellenkező esetben a Kézikönyv Választási űrlap. Értesítés a Choice-ról (ChoiceEl); EndIf ; Vége eljárás

Kérdés: Miért nincs többé kiválasztva a kiválasztási űrlap értéke?


A bizonylatlapon található egy DocumentLink.PaymentOrderOutgoing hivatkozási típusú mező. Ha kiválasztja, megnyílik egy űrlap a kimenő fizetési megbízás kiválasztásához. Az érték kiválasztása után nem kerül behelyettesítésre a kiválasztott űrlapba. Először azt hittem, hogy a választás feldolgozása a standard feldolgozáson és a program elfelejtette előírni a választás feldolgozását. De minden tipikus. Az űrlap megnyitása nem programozott, azon a területen, ahol úgy döntök, hogy semmilyen eseményt nem vezetek le. Mi lehet?
--- Egy egyesületüzenetek, 2018. január 2 ---

Egy másik alkalmazás normál űrlapokon. A kiválasztási űrlap kezelve van, de normál ablakból nyílik meg. Ha visszavált a normál kiválasztási űrlapra, akkor minden rendben van.

Válasz:

Általában érthető. Hasznos látni, hogy mi jön a SelectedValue-hoz a kiválasztás feldolgozása során. Kiderült, hogy egy tömb. Bekerültem a kiválasztási formákba, kiderült, hogy van egy jackdaw Többválasztásos. Levette és minden működött.

Kérdés: Kérem, segítsen a kiválasztás beállításában a címtárválasztó űrlapon


Partner kiválasztásakor a név első karaktereit programszerűen átadom a kiválasztási űrlapnak. Hogyan lehet programozottan aktiválni az első olyan elemet, amelyben ugyanazok az első karakterek vannak.

Válasz:

elektron mondta:

Partner kiválasztásakor a név első karaktereit programszerűen átadom a kiválasztási űrlapnak. Hogyan lehet programozottan aktiválni az első olyan elemet, amelyben ugyanazok az első karakterek vannak.

Kattintson a felfedéshez...

Eldőlt. Készítettünk egy virtuális billentyűzetet a "Vállalkozók" könyvtár kiválasztási űrlapján.
Bármelyik gomb megnyomásakor a kód aktiválódik
ResultSearchByAttribute = CurrentRequest.FindByName(N,False);
FormElements.CatalogList.CurrentLine=SearchResultByAttribute;
ahol H a kulcs értékét tartalmazó változó

Kérdés: Kiválasztási űrlap értéklista kiválasztásával


Jó napot. Segítségre van szükségem egy egyszerű probléma megoldásában.

Konfig ZUP 2 .5 .113 .1 Van egy külső jelentés, a jelentésnek "alaplista" attribútuma, értéklista típusa.
Van egy jelentési űrlap. A jelentésűrlapon az "alapok beviteli listája" mezőben ValueType = "ValueList" és ListValueType = "ReferenceReference.ObjectPropertyValue".

Hogyan lehet megnyitni egy kiválasztási űrlapot egy ingatlan tulajdonosának kiválasztásával?

Előre is köszönöm!

Válasz: A Paraméterek lapon található a Paraméterek szerkesztése oszlop. ott megpróbálhatja beállítani a kiválasztási paraméter hivatkozásait vagy a kiválasztási paramétert

Kérdés: Nyissa meg programozottan a dokumentumválasztó űrlapot 1s 8.3


Hogyan lehet programozottan megnyitni az 1s 8.3 dokumentumkiválasztó űrlapot és menteni a kiválasztott értéket egy változóba?

A Google adott valami mankó megoldást, szeretném tudni, hogyan kell helyesen csinálni.

Válasz:+ () A PM-nek is van egy ilyen varázslatos módszere - letöltés.

Táblázatos szakasz
Betöltés
Szintaxis:

Letöltés(<Таблица>)
Lehetőségek:

<Таблица>(kötelező) Típus: ValueTable.
Értéktáblázat a betöltés helyétől táblázatos rész. A táblázat oszlopai név szerint vannak kombinálva.
Leírás:

Betölt egy táblázatos részt egy értéktáblázatból. Ebben az esetben a táblázatos rész összes előző sora törlődik. Betöltéskor a táblázatos rész oszlopaiban lévő értékeket az értéktáblázat azonos nevű oszlopainak értékeivel töltjük fel.

Elérhetőség:

Szerver, vastag kliens, külső kapcsolat.
Jegyzet:

A módszer használata csak akkor megengedett, ha a táblázatos rész az objektum tulajdonságából származik. Ha a táblázatos részt egy referencia (vagy kiválasztási) tulajdonságból kapjuk, akkor ennek a módszernek a használata futásidejű hibát okoz.
Példa:

Összetétel.Load(CompositionTable);

Kérdés: Paraméterek átadása a kiválasztási űrlapnak.


tippeket kérek.
Az „Áruk és szolgáltatások értékesítése” dokumentumból a szerződésválasztó űrlap (ERP) kerül meghívásra. A konf javítva, összehasonlítom a standarddal. A kiválasztási űrlap ProcessingCreationOnServer részében megnézem a hibakereső Parameters.Selection-t. Egyszerűen nem értem, hogyan jön létre a kiválasztási lista - erre az űrlapra nincs kifejezett hívás paraméterekkel, a "ChoiceParametersConnection" tulajdonságban csak egy kiválasztási elem található, a Parameters.Filterben pedig már több. Valaki meg tudná mondani hol keressem.

Figyelem! Íme a lecke próbaverziója, melynek anyagai nem biztos, hogy teljesek.

Jelentkezzen be diákként

Jelentkezzen be tanulóként az iskolai tartalmak eléréséhez

1C 8.3 adatösszetétel rendszer kezdőknek: adathalmazok közötti kapcsolat létrehozása

  • Készítsen jelentést, amely bemutatja az ügyfeleket és kedvenc termékeiket. Minden ügyfélnek van egy kedvenc színe, és minden terméknek saját színe van - ezek alapján kell meghatároznia a termék "kedvencét". Például, ha Andrei kedvenc színe a piros, akkor az egyik kedvenc étele a paradicsom lesz (ez piros).
  • Alkalmazzon két adatkészletet a jelentéshez. Az első készlet az „Ügyfelek” referenciatáblázat adatai. A második - az „Élelmiszer” referenciakönyv táblázatának adatai.
  • Megvalósítani e két halmaz kapcsolataígy csak az egyes vásárlók kedvenc termékei maradnak a jelentésben.

Új jelentés készítése

Nyissa meg a "Gastronom" adatbázist a konfigurátorban, és hozzon létre egy új jelentést a főmenüben:

Dokumentumtípus - "Külső jelentés":

Új jelentés formájában adja meg a "6. lecke" nevet, és kattintson az "Adatösszetételi séma megnyitása" gombra:

Hagyja meg az alapértelmezett sémanevet:

Az első adatkészlet hozzáadása

A megnyíló sémában lépjen az "Adatkészletek" fülre, és válassza ki az "Adatkészlet hozzáadása - lekérdezés" lehetőséget a zöld pluszjelen keresztül:

A lekérdezés konstruktorát hívjuk:

Adja meg az "Ügyfelek" táblát és azokat a mezőket, amelyeket le szeretne kapni a lekérdezésből:

Egy második adatkészlet hozzáadása

Második adatkészlet hozzáadása:

Jelölje ki (DataSet2), és hívja újra a lekérdezés konstruktort:

Adja meg az "Élelmiszer" referenciakönyv táblázatát és a kérésből lekérni kívánt mezőket:

Ez a kérés szövege:

Kérjük, vegye figyelembe, hogy most két adatkészletünk van a jelentésben: DataSet1 és DataSet2. Mindegyiknek megvan a saját kérési szövege és adatai.

A nevek leíróbbá tétele

Az egyértelműség kedvéért nevezzük át a Dataset1-et Ügyfelek-re, a Dataset2-t pedig Food-ra.

Ehhez kattintson duplán az egyes készletekre:

Az egyes halmazok adatait felhasználhatjuk jelentésünkben. Ezeket az adatokat mezőkön keresztül fogjuk elérni.

NÁL NÉL Ebben a pillanatban a "Vásárlók" készlet a következő mezőket tartalmazza: "Név" és "Kedvenc szín", az "Étel" készlet pedig: "Név" és "Szín".

Látjuk, hogy a nevek keresztezik egymást, és könnyen összekeveredhetünk. Tehát változtassuk meg a mezőneveket, hogy leíróbbak legyenek.

Válassza ki az "Ügyfelek" készletet, és módosítsa a mezőneveket az alábbiak szerint:

Ezután válassza ki az "Élelmiszer" készletet, és módosítsa a mezőneveket a következőképpen:

A beállítások konstruktorának meghívása

Végül lépjen a "Beállítások" fülre, és kattintson a gombra varázspálca a beállítások konstruktorának meghívásához:

Jelentés típusa - "Lista...":

Válassza ki a jelentés mezőit mindkét készletből:

Látod, miért volt olyan fontos a mezőnevek megváltoztatása? Az adatösszetétel-beállítások szakaszában nem látjuk, hogy ezek a mezők mely halmazokból származnak. Csak a nevüket látjuk.

A jelentés ellenőrzése

A jelentést elmentjük és felhasználói módban generáljuk:

Igen. Oké, de nem igazán. Megtörtént a két halmaz úgynevezett keresztillesztése (ezt az előző modulokban tanulmányozott lekérdezések összekapcsolásaiból ismernie kell). A „Vásárlók” tábla minden rekordjához tartozik egy megfelelő rekord az „Élelmiszer” táblából.

De ezen rekordok közül csak azokat kell meghagynunk, amelyeknél a „FavoriteCustomerColor” mező megegyezik a „FoodColor” mezővel:

Két adathalmaz összekapcsolása

Ehhez kapcsoljunk össze két adatsort (Vásárlók és Élelmiszer) az Ügyfél Kedvenc színe és Élelmiszerszíne mezők szerint.

Lépjen az "Adatkészlet hivatkozások" fülre, és kattintson a plusz gombra új hivatkozás hozzáadásához:

Állítsa be a paramétereket az alábbiak szerint:

Adok magyarázatot.

Kommunikációs forrás és vevő. Nos, itt minden világos. Adja meg az első adatkészletet (Customers) és a másodikat (Élelmiszer). rajzolni akarok Speciális figyelem hogy a kommunikáció az elv szerint történik bal külső csatlakozás(az előző modulokban a kérések témakörben jártuk végig). Ez alapján ki kell választani, hogy melyik készlet legyen a forrás és melyik vevő.

forrás kifejezés. Adjon meg itt egy kifejezést vagy egyszerűen egy mezőt a forrásadatkészletből (az Ügyfél kedvenc színe mezőt az itt beállított Kliensek közül adtuk meg).

vevő kifejezés. Itt egy kifejezést vagy csak egy mezőt jelölünk a vevő adatkészletéből (itt az Élelmiszer készletből az Élelmiszer szín mezőt jelöltük).

Ily módon ezt a kapcsolatot csak azokat a sorokat hagyja el az előző listából, amelyeknél a Kliens FavoriteColor mezője megegyezik a FoodColor mezővel.

Mentse el a jelentést, és futtassa felhasználói módban:

Kiváló!

Magyarázatot fogok készíteni a mezőről" Kommunikációs állapot", amiről a kezdő programozók oly gyakran ütik a lándzsáikat.

A linkfeltétel egy segédmező. Oda írhatsz kifejezéseket. csak a hivatkozási forrásban megadott adatkészlet mezőinek bevonásával.

Ebben az esetben a hivatkozás forrásából származó összes sor esetében ez a kifejezés (hivatkozási feltétel) ellenőrzésre kerül a linkelés előtt. És ha ez a kifejezés IGAZ, akkor a rendszer megpróbálja összekapcsolni ezt a karakterláncot a hivatkozási fogadó karakterláncaival. Ha a kifejezés HAMIS, nem történik ilyen kísérlet.