1c vállalati 7.7 nyomtatvány. Külső jelentés másolása az infobázis címtárába
Az 1C-ben történő nyomtatás szükségességének kérdése egy nagy szám dokumentumok nem egyszer kerültek elő, és a neten jelentős számú kezelést találhat ennek a problémának a megoldására. Ez a kérdés nem is olyan régen és a következő megfogalmazásban merült fel előttem: „Olyan feldolgozásra van szükségem, amely lehetővé teszi, hogy sok számlát kinyomtassak, nyomtatott formában- „TORG-12 (2011-es nyomtatvány)” (van ilyen külső nyomdanyomtatványunk – szerzői megjegyzés)”.
Minden további nélkül azt a külső nyomdai formát veszem alapul, mindenféle csinosságot akasztok fel a párbeszédpanelre, hogy kiválasszam a számlákat, javítsam ki a kódot és íme, kész is! Továbbá - bővebben: „És ezeket a számlákat tömegesen is ki kell nyomtatnom, de nyomtatott formában „TORG-12 (Prom)” (van ilyen külső nyomtatott űrlapunk is - a szerző megjegyzése). Itt már valami univerzálisabbat kellett tenni arra az esetre, ha egy idő után újra vagy új dokumentumokra, vagy új nyomdai űrlapokra lenne szükség.
Megtaláltam a következő kiutat: osztályok! Lényege: minden külső nyomdai formát egy osztályba csomagolunk, és a dokumentumok tömeges nyomtatásának feldolgozásából nevezzük. Az osztályok külső nyomtatólemezének fejlesztései meglehetősen kicsik, és kevesebb időt vesznek igénybe, mint az ebben a cikkben leírtak. A következőket kell javítani:
- - deklaráljuk a "Dokumentum" exportváltozót és a "Print()" eljárást;
- - határozottan törölje a „Megnyitáskor ()” eljárást;
- - átmásoljuk az eredeti táblát a feldolgozásból az “.mxl” fájlba (mivel az osztály nem fogja látni a feldolgozáson belül, erre való az osztály), és ennek megfelelően lecseréljük a “Table.SourceTable(”Table) kifejezést ”);” egy olyan kifejezésre, mint például "Table.OriginalTable(hlCatalogPrintForm + "Trading12.mxl");";
- - Ha egyetlen lábtörlőt szeretne kapni egy csomó dokumentumhoz, és nem egy csomó lábtörlőt egy dokumentumhoz, távolítsa el a következő deklarációt: "Table = CreateObject("Table");" és "Table.OriginalTable(hlCatalogPechForm + "Trading12.mxl");" a "Print()" eljárásból, és helyezze be a feldolgozó modulba (adja hozzá a modul végéhez). Ennek megfelelően a "Table" változót modulváltozóként deklaráljuk;
- - távolítsa el a "Print()" eljárásból egy olyan kifejezést is, mint a "Table.Show()", ehelyett adja hozzá a "Show()" exportálási eljárást egyetlen sorral: "Table.Show();". Ez a metódus a ciklus után lesz meghívva a „Print()” metódussal;
- - azért, hogy új dokumentumot rányomtatva új oldal, a "Print()" eljárás végén adjon hozzá egy sort, például "Table.NewPage()";
- - ellenőrizze, hogy a modulban vannak-e sorok, például "Table.RepeatWhenPrintingLines();". Különben lesz meglepetés!
- - nos, természetesen gondoskodjon az 1cpp.dll külső komponens betöltéséről (ha még nem adta meg), és írja le az osztályokat a defcls.prm-ben.
Ennek eredményeként a következőkkel rendelkezünk:
- A feldolgozás univerzális - bármilyen konfigurációban megvalósítható.
- Az ebben a feldolgozásban megadott példa segítségével bármilyen dokumentumot kinyomtathat bármilyen belső vagy külső nyomtatási formában. Amikor új nyomtatványt tesznek közzé, egyszerűen hozzáadják a feldolgozáshoz.
- A feldolgozó kód rendkívül rövid és érthető lett (és körülbelül száz sort tartalmaz). Új dokumentum hozzáadásához csak néhány sornyi kódot kell hozzáadnia a modul végéhez másolás-beillesztéssel. Ha új nyomtatható anyagot szeretne hozzáadni egy meglévő dokumentumhoz, csak egy kódsort kell hozzáadnia.
- Az OOP-ban járatlanok számára ez egy nagyszerű példa arra, hogy mik is azok az osztályok, és hogyan kell őket a gyakorlatban használni.
Ha a nyomtatási eljárás a dokumentum űrlap modulban található, akkor a munka logikája ugyanaz: kimásoljuk a „Nyomtatás ()” eljárást, és becsomagoljuk egy osztályba. Igaz, itt további fejlesztések lesznek: csatolni kell egy hivatkozást a dokumentumhoz (vagyis azt, amit a kontextus átad a külső nyomtathatónak).
Hátrányok: Az olyan kódsorokról már írtam, mint a "Table.RepeatWhenPrintingLines();", aminek segítségével a következő oldalon megjelenik a dokumentum táblázatos részének címe. Mivel a dokumentumaim túlnyomó többsége egy oldalra fér, ezeket a sorokat kommentáltam, és eltávolítottam a fejléceket és a lábléceket a nyomtatott űrlapokról. Ha valakinek meg kell jelenítenie ezeket a sorokat, akkor a feldolgozást véglegesíteni kell. De ez a konkrét megvalósítás hiánya, és nem maga az ötlet.
Általános szabály, hogy az 1C: Enterprise 7.7 program felhasználója önállóan frissítheti munkakonfigurációját. Az alábbiakban egy tipikus változatlan konfiguráció frissítésére vonatkozó javaslatok találhatók. Ha a konfiguráció megváltozott, dokumentumokat, jelentéseket vagy nyomtatott űrlapokat javítottak, akkor nem ajánlott a konfigurációt saját maga frissíteni. Javasoljuk, hogy hívjon szakképzett szakembert a frissítési munkák elvégzéséhez.A külső jelentések és külső nyomtatási űrlapok önálló csatlakoztatása a konfigurációhoz az 1C:Enterprise 7.7-ben
Külső jelentés másolása az infobázis címtárába.
A külső jelentésfájl "ert" kiterjesztéssel rendelkezik. Ez egy közvetlen külső jelentés. Általában egy külső jelentésfájlhoz egy "efd" kiterjesztésű leíró fájl tartozik. Ez a fájl azért szükséges, hogy a program azonnal "megtalálja" a jelentést, és ne kelljen manuálisan csatlakoztatni. Például, ha a külső jelentésfájl neve „Application Log.ert”, akkor a leíró fájl neve „Application Log.efd”. Ezt a két fájlt (vagy egyet, ha nincs efd kiterjesztésű fájl) át kell másolni a munkabázis könyvtárba. Ehhez először meg kell találnia a működő alapkönyvtárat. Ezt követően meg kell találnia az "ExtForms" könyvtárat a munkabázis könyvtárában.
Ha külső nyomtatási űrlapot másol, akkor meg kell találnia a "PrnForms" könyvtárat az "ExtForms" könyvtárban. Másolja mindkét fájlt a talált könyvtárba (ExtForms a külső jelentésekhez és PrnForms a külső nyomtatható anyagokhoz).
Csatlakozás külső jelentéskészítő programhoz speciális feldolgozás segítségével.
A külső jelentésadatbázishoz való csatlakozáshoz meg kell nyitnia a jelentést " További jellemzők" az "Eszközök" - "További funkciók" menüben.
Ha a külső jelentést és az efd fájlt megfelelően másolta, akkor a külső jelentése megjelenik a külső jelentések listájában.
Ha az efd konfigurációs fájlt nem másolta át, akkor a következőket kell tennie:
Nyomja meg a "Módosítás" gombot, és válassza a "Hozzáadás a listához" lehetőséget a menüből.
A legördülő listából válassza ki a szükséges külső jelentésfájlt (amely az ExtForms könyvtárba lett másolva). Ha a kívánt fájl nem szerepel a listában, ennek két oka lehet: 1) A fájlt rossz mappába másolták, azaz a „Külső jelentés másolása egy Könyvtár információs bázis 2) A fájl helyesen lett másolva, és már szerepel a külső jelentések listájában. Ebben az esetben alaposan át kell tekintenie a külső jelentések listáját, és meg kell találnia az újonnan hozzáadott jelentést.
A fájl kiválasztása után megnyílik egy ablak, amelyben meg kell adni a külső jelentés nevét. Adjon meg egy tetszőleges nevet. Nyomja meg az "OK" gombot.
Ezt követően a külső fájl megjelenik a külső fájlok listájában.
Csatlakozás külső (kiegészítő) nyomdai űrlap programjához.
Külső nyomtatvány csatlakoztatásához válassza a "Szolgáltatás" - "Külső nyomdalapok regisztrációja" menüpontot a menüből.
Ezután válassza ki, hogy melyik dokumentumhoz, illetve a könyvtár mely eleméhez vagy listájához kell külső nyomtatható eszközt csatlakoztatnia. Például csatlakoztassunk egy külső nyomtathatót az "Áruk, termékek szállítása" dokumentumhoz. Ehhez a "Külső nyomtatási űrlapok" csoportba kell beállítania a "Dokumentum" elemre való váltást. Ezután válassza ki a menüből az "Áruk, termékek szállítása" menüpontot.
A csatlakoztatott külső nyomtatási űrlapoknak meg kell jelenniük a táblázatban. Ha a táblázat rendelkezik a szükséges űrlappal, akkor automatikusan összekapcsolódott.
Ha a szükséges űrlap nem szerepel a táblázatban, tegye a következőket: Kattintson a „Módosítás…” gombra, és válassza a „Hozzáadás a listához” lehetőséget a legördülő menüben.
A megnyíló listában válassza ki a PrnForms könyvtárba másolt űrlapot.
Ha az űrlap nem szerepel a listában, akkor hibásan másolta be az űrlapot a katalógusba Olvassa el újra figyelmesen a "Külső jelentés másolása az infobázis katalógusba" című fejezetet.
![](https://i0.wp.com/sibeaz.ru/img/9.jpg)
Egy új külső nyomtatható teljesítményének teszteléséhez meg kell nyitni azt a dokumentumot, listát vagy könyvtárelemet, amelyhez az űrlapot csatlakoztatta, és a „Nyomtatás” gomb melletti kis háromszögű gombra kell kattintani.
Válasszon ki egy új nyomtatható anyagot a legördülő listából.
Azokban a dokumentumokban, amelyekhez bármilyen nyomtatott űrlap nyomtatása biztosított, a gomb bal oldalán Fóka van egy lista gomb.
A gombra kattintás után a felhasználó felkínálja a nyomtatható űrlapok listáját, amelyek közül választhat. A lista első nyomtatványa szabványos, a többi nyomtatvány külsőként van bejegyezve.
Kezelés Külső nyomtatványok regisztrációjaúj külső nyomtatási formák csatlakoztatására tervezték. A csatolt űrlapok a dokumentum nyomtatható űrlapjainak listájában találhatók.
A feldolgozási párbeszédpanel egy táblázatot tartalmaz a külső nyomtatási űrlapok listájával. Minden dokumentumtípushoz, listához vagy hivatkozási elemhez tetszőleges számú külső nyomtatási űrlap rendelhető.
Csoportban Külső nyomdalapok meg van adva, hogy melyik dokumentumhoz vagy könyvtárhoz csatlakozik a nyomtatási űrlap. A csoport három kapcsolót tartalmaz:
- dokumentum- a nyomtatható megjelenik az alább kiválasztott dokumentum párbeszédpanelének nyomtatási listájában;
- Címtárlista- a nyomtatott űrlap megjelenik az alább kiválasztott könyvtár nyomtatási listájában;
- Címtár elem- a nyomtatott űrlap megjelenik a referenciakönyv alább kiválasztott eleme párbeszédpanelének nyomtatási listájában.
Minden külső nyomtatási űrlap az alkönyvtárban tárolódik PrnForms katalógus EXTFORMÁK. A feldolgozás elindításakor a program beolvassa az ebben a könyvtárban tárolt külső űrlapokat. A táblázat minden sora tartalmazza a külső fájl szöveges nevét, a fájl nevét és annak a gombnak a nevét, amely a dokumentumban (referenciakönyvben) hozzá lesz rendelve a nyomtatható fájl meghívásához.
A lista alatt gombok találhatók a külső fájlokkal való munkavégzéshez.
Gomb Nyisd ki megnyitja a kiválasztott külső fájlt. Ez megnyitja a feldolgozást Fóka, amelyben egy adott dokumentumot (vagy könyvtárat) szeretne megadni, amelyet külső űrlap segítségével kíván nyomtatni.
Kattintson egy gombra Frissítésújra feltölti a külső nyomtatási űrlapok listáját. A gombot az új külső nyomtatási űrlapok alkönyvtárba történő beírása után kell használni PrnForms.
Gomb változás a külső fájlok listájának kezelésére szolgál. Amikor megnyom egy gombot változás mellette megnyílik egy négy elemből álló menü:
- Név módosítása;
- Változás gomb;
- Hozzáadás a listához;
- Eltávolítás a listáról.
Egy elem kiválasztásakor Név módosítása a külső fájl szöveges neve egy külön párbeszédpanelen jelenik meg szerkesztés céljából.
Szerkesztés után a külső fájl új neve jelenik meg a listában a korábbi helyett.
Egy elem kiválasztásakor Változás gomb a gomb szöveges címe ugyanabban a párbeszédablakban kerül kiadásra szerkesztésre. Szerkesztés után az új gombnév is megjelenik a listában.
Bekezdés Listához ad lehetővé teszi egy új külső űrlap hozzáadását a listához. Az elem kiválasztásával megnyílik az alkönyvtárban található külső űrlapfájlok listája PrnForms katalógus EXTFORMÁK. A fájlnévvel és a gomb nevével kapcsolatos információk a következő helyen tárolódnak szöveges fájl kiterjesztéssel efd. Ezek a címek automatikusan felkerülnek a listára. Szükség esetén megváltoztathatja őket.
Bekezdés Eltávolítás a listáról utána további kérés eltávolítja a listából a külső fájl leírását tartalmazó sort. Maga a fájl nem törlődik, így később felvehető a listára.