Események előfizetése az 1c - projekt - 1c tanfolyamokon

Esemény-előfizetések

A cikk számos példát vázol fel az "1C: Enterprise 8" platform - az eseményekhez való előfizetések egyik segédobjektumának használatára.

Az esemény előfizetések lehetővé teszik, hogy külső szervezőket helyezzenek el olyan közös modulokba, amelyeket egy adott eseménykezelő végrehajtása után végrehajt az objektummodulban vagy a menedzser modulban.

Nem szükséges változtatni az objektummodulon vagy a kezelőmodulon. Így lehetővé válik a modulok módosítása anélkül, hogy módosítanák őket - ez egy nagyon hasznos módszer a tipikus megoldások megváltoztatásakor.

Az események előfizetéseit a konfigurációs objektumok ablak Általános részében (1.

  1. A Before the Record () esemény eseménykezelője a dokumentumobjektum modulban fut.
  2. Ha a kezelő végrehajtása során a hiba paraméter értéke Igaz, vagy kivétel történik, az eseményfeldolgozás megszűnik.
  3. Ha az esemény feldolgozása nem szakadt meg a második lépésben, akkor a rekord () előtti eseményre definiált külső kezelők (esemény előfizetések) végrehajtásra kerülnek.
  4. Ha külső hibakereső végrehajtása során a hiba paraméter értéke Igaz vagy kivételre kerül, a külső kezelő végrehajtása megszűnik.

Az események feliratkozásán keresztül különféle ellenőrzések végrehajtását szervezheti. amelyeket az objektumokat az adatbázisba írnak.

1. feladat
A név megkettőzésének ellenőrzése a "Kivitelezők" könyvtár elemének írásakor - a könyvtár moduljainak módosítása nélkül.

A Flag Client (normál alkalmazás) elérhető, ha a Kezelt alkalmazás és a normál alkalmazás-szerkesztési mód a konfigurátor beállításaiban van beállítva.

A konfigurációs objektumok ablak Általános részében hozzon létre egy új esemény előfizetést. A Tulajdonságok palettán írja be a Subscription CheckNameName csekk nevét. A Forrás kiválasztása mezőben válassza ki az adattípusot. Az Eseményválasztás mezőben válassza ki az eseményt a felvétel előtt (). Miután ezt az eseményt feldolgozták, az esemény előfizetés feldolgozásának folyamata megindul (2. ábra).

Események előfizetése az 1c - projekt - 1c tanfolyamokon

A NamingReligibilityNotificationBorderInterest () elnevezéssel kapcsolatos eljárásban kérést küldünk az Ügyfelek könyvtárába. Lekérdezési paraméterként a felvett könyvtár elemének neve átkerül. Ha egy ilyen nevű nevű elem már létezik az adatbázisban, akkor a hiba paraméter értéke True (az elem bejegyzés törlődik), és megjelenik egy megfelelő diagnosztikai üzenet.

Listázási eljárás A könyvtár nevének ellenőrzése a felvétel előtt ()

A gyakorlatban a feladat lehet a kiegészítő regiszterek mozgatásának végrehajtása tipikus konfigurációkban végzett dokumentumok végrehajtása során. A kiegészítő nyilvántartások létrehozása elkerüli a meglévő nyilvántartások módosítását, ugyanakkor lehetővé teszi az adatok további feldolgozásának lehetőségét szabványos dokumentumok végrehajtása során.

Készítsen forgatható nyilvántartást a "Készpénzkiáramlás" felhalmozásáról, és biztosítsa a nyilvántartásban szereplő mozgások létrehozását a "Készpénzes megbízás" dokumentum végrehajtása során az események előfizetésének mechanizmusával.

Hozzon létre egy új átruházható regisztert a Cash Outflow nevével. Válassza ki a "Cash Flow Order" regisztrátort. Regiszterméretek hozzáadása:

Regisztrációs erőforrás létrehozása:

Új esemény előfizetés létrehozása:

Név - Mozgások a pénz kilépésekor;
Forrás - DocumentObject.RCO;
Esemény - feldolgozás.

Az Eseménykezelők általános moduljában az Eseményen hozzon létre egy Move kezelőt a Money Execution Handling () végrehajtásához. A kezelőben a "Kifizetési készpénzes megbízás" dokumentum táblázatos részét megkerülik, és a készpénzkiáramlás felhalmozási nyilvántartásában alakulnak mozgások.

A pénzforgalmi eljárással kapcsolatos indítványozási eljárás felsorolása ()

Tipikus konfigurációk esetén lehet, hogy finomítani kell egy objektum alapformáját, például egy dokumentumot. Ez a feladat megoldható események előfizetésén keresztül. Ezzel létrehozza a dokumentum fő formájának másolatát. A szükséges változtatások az új formára kerülnek. Az események előfizetésének mechanizmusa segítségével új formát nyithat meg a fő formátum helyett. Ebben az esetben a támogatott fő formátum változatlan marad.

3. feladat
Győződjön meg róla, hogy a "Pénzforgalmi megbízás" dokumentum fő formájának helyébe lép.

Hozzon létre egy új formát a "Kifizetési készpénzes megbízás" dokumentumnak a DocumentCustomer formanyelvével. Adjon önkényes változtatásokat az űrlapon, például módosítsa a vezérlők sorrendjét. Ennek az űrlapnak a megadásához a "Cash Flow Orders" dokumentumkezelő moduljában az Esemény feldolgozási űrlap () feliratkozását kell használnia.

Új esemény előfizetés létrehozása:

Név - Elsődleges űrlap;
Forrás - DocumentManager.RCO;
Esemény - feldolgozási űrlapok.

Az eseménykezelő események általános moduljában hozzon létre egy kezelőt az űrlapok formanyomtatvány formanyomtatványainak kezeléséhez (). A kezelőben a megnyitandó űrlap neve a Kiválasztott űrlap paraméterként kerül átadásra.
A Szabványos feldolgozás opció False-ra van állítva, hogy letiltsa a fő űrlap megnyitását.

Az oktatási formák megfogalmazására szolgáló alapformanyelv eljárásának felsorolása ()

Az egyes konfigurációs objektumokra meghatározott eseményekhez való előfizetések kereséséhez a mechanizmust az objektum hivatkozások keresésére használhatja. Ehhez jelölje ki az objektumot a konfigurációs objektumok ablakában, és futtassa a Find Object References parancsot a helyi menüben. A parancs végrehajtása eredményeképpen a szerviz üzenetablakban megjelenik azoknak az objektumoknak a listája, amelyekben a kívánt objektumra mutató linkek találhatók.

Így az esemény-előfizetések lehetőséget nyújtanak új funkciók hozzáadására a meglévő objektummodulok módosítása nélkül. Az események előfizetésének hátrányai a következők:

Ha valamilyen űrlap eseményt szeretne módosítani, az esemény előfizetési mechanizmusa nem érhető el. Ebben az esetben módosítania kell magát az űrlapon, vagy másolnia kell az űrlapot, és módosítania kell az új objektumot.

Köszönöm! Hasznos. De a [Dokumentum] kezelő és az Esemény - Formák feldolgozása kezelő csak a kezelt formák esetén működik. Egy vastag ügyfelemben nem sikerült elérnem. (Szükséged van egy sikeres helyettesítésre) :(
Abban az esetben, ha a formanyomtatvány nevét kifejezetten a modul szövegéből hívja: Nyissa meg az űrlapot ("Document.RKO. [Form.Document Form]"): ((.
A szabványos megoldások fejlesztésének támogatása - nyitva marad "meglehetősen komplikált".

Események előfizetése az 1c - projekt - 1c tanfolyamokon

Események előfizetése az 1c - projekt - 1c tanfolyamokon

Nagyon köszönöm. Jó részletes leírás. Az 1. feladatnál jól működik, ha a felhasználó megnyomja a "write" -t, de ha azonnal megnyomja az "OK" gombot, akkor hibaüzenet jelenik meg:
"...: Hiba a kontextus módszerének felhívásakor (Írja be az űrlapot)
Írja be az űrlapot ();
mert:
Nem lehet írni: "Ügyfelek"!
... "

Kapcsolódó cikkek