itthon / Skype / 1c külső feldolgozás csökkentett módba állítva. Biztonságos üzemmód. Külső feldolgozás indítása normál alkalmazási módban

1c külső feldolgozás csökkentett módba állítva. Biztonságos üzemmód. Külső feldolgozás indítása normál alkalmazási módban

Nyomtatás (Ctrl+P)

Konfigurációs objektumok

Ha „nem megbízható” programkódot kell használni a szerveren: külső feldolgozást vagy a felhasználó által beírt programkódot az Execute() és Calculate() metódusok használatához, használhatja a biztonságos üzemmódot.

Biztonságos módban:

  • Kiváltságos mód törölve.
  • Váltás kiemelt módba figyelmen kívül hagyva.
  • Tiltott olyan műveletek, amelyek külső eszközök használatához vezetnek az 1C:Enterprise platformmal kapcsolatban (beleértve a fenti módszerek nem blokkoló analógjait):
  • COM mechanizmusok:
    • COMObject();
    • GetCOMObject();
    • WrapperHTMLDocument.GetCOMObject().
  • Külső alkatrészek betöltése:
    • LoadExternalComponent();
    • ConnectExternalComponent().
  • Fájlrendszer hozzáférés:
    • valueToFile();
    • Fájl másolás, fájl másolása();
    • MergeFiles();
    • MoveFile();
    • SplitFile();
    • CreateDirectory();
    • Fájlok törlése();
    • Új fájl;
    • Új xBase;
    • WriteHTML.OpenFile();
    • HTML olvasása.OpenFile();
    • ReadingXML.OpenFile();
    • WriteXML.OpenFile();
    • ReadFastInfoset.OpenFile();
    • WriteFastInfoset.OpenFile();
    • CanonicalWriterXML.OpenFile();
    • XSL Transformation.LoadFromFile();
    • WriteZipFile.Open();
    • ReadZipFile.Open();
    • NewTextReader() ha az első argumentum egy karakterlánc;
    • ReadText.Open(), ha az első paraméter egy karakterlánc;
    • New TextWrite(), ha az első paraméter egy karakterlánc;
    • WriteText.Open(), ha az első paraméter egy karakterlánc;
    • New ExtractText();
    • az ExtractText.FileName tulajdonság módosítása;
    • ExtractText.Write();
    • New Image(), ha az első paraméter egy karakterlánc;
    • Picture.Record();
    • New BinaryData();
    • BinaryData.Write();
    • New DataWrite(), ha az első paraméter egy karakterlánc;
    • New DataRead(), az első paraméter egy karakterlánc;
    • a FileStreamManager objektum összes metódusa;
    • New FileStream();
    • FormattedDocument.Write();
    • GeographicScheme.Read();
    • GeographicScheme.Write();
    • GeographicScheme.Print();
    • SpreadsheetDocument.Read();
    • SpreadsheetDocument.Write();
    • SpreadsheetDocument.Print(); GraphicScheme.Read();
    • GraphicScheme.Write();
    • GraphicScheme.Print();
    • TextDocument.Read();
    • TextDocument.Write().
  • Internet-hozzáférés:
    • Új Internet kapcsolat,
    • Új InternetMail,
    • Új internetes proxy,
    • Új HTTP kapcsolat,
    • Új FTP kapcsolat.

FIGYELEM! Kivételt dob, amikor tiltott műveleteket hajt végre futás közben.

Jegyzet. A Fájl – Megnyitás menüvel megnyitott külső jelentések és feldolgozás csökkentett módban történik, ha a felhasználó nem rendelkezik rendszergazdai hozzáférési jogokkal.

A csökkentett mód aktiválások számának meg kell egyeznie a leállások számával. Ha azonban egy eljáráson vagy funkción belül engedélyezték a csökkentett módot (egyszer vagy többször), de nem tiltották le, akkor a rendszer annyiszor automatikusan leáll, ahányszor az eljárásban vagy funkcióban függőben lévő aktiválások voltak.

Ha egy eljárásban vagy függvényben metódushívások SetSafeMode (hamis) többet tett, mint metódushívások SetSafeMode (igaz), akkor kivételt teszünk.

A csökkentett mód programozott telepítésére akkor lehet szükség, ha a konfigurációfejlesztő harmadik féltől származó (a konfigurációhoz kapcsolódó) programkód használatát feltételezi, amelynek megbízhatóságát a fejlesztő nem tudja garantálni. Ilyen kód például az Execute() és Calculate() metódusok végrehajtása olyan esetekben, amikor a végrehajtható kód a külvilágból érkezik. Ebben az esetben célszerű biztonságos módot beállítani az alábbi módszerek végrehajtása előtt:

// Programkód generálódik végrehajtásra // Lehetséges, hogy a kód innen töltődik be külső források// vagy kézzel beírt ExecutableCode = GetExecutableCodeFrom OutsideWorld(); // Csökkentett mód engedélyezése SetSafeMode(True); // Potenciálisan veszélyes kód végrehajtása Execute(ExecutableCode); // A biztonságos mód letiltása SetSafeMode(False);

Egyes esetekben a csökkentett mód beállításai ütközhetnek a kiemelt mód beállításaival. Ilyen ütközésre példa egy olyan dokumentum feladása, amelynek a Privileged mode on post tulajdonsága csökkentett módban futó 1D kódból van beállítva. Ebben az esetben a privilegizált mód le van tiltva, és az engedélyezési kísérleteket figyelmen kívül hagyja. Ennek eredményeként az engedélyezett privilegizált módra "támaszkodó" 1C:Enterprise kód "ütközik" annak hiányával, ami nem nyilvánvaló okokkal járó hibákhoz vezet. Az ilyen helyzetek elkerülése érdekében az 1C:Enterprise automatikusan letiltja a csökkentett módot az objektummodulban vagy a kezelőmodulban elérhető eseménykezelőknél, feltéve, hogy az 1C:Enterprise nyelvű végrehajtható kód nem található a konfigurációs bővítményben. Az ilyen kezelők speciális módon vannak megjelölve a szintaxissegédben.

Lehetővé teszi a csökkentett mód letiltását is az 1. nyelven belül (ha a kód, amelyből a letiltást megkísérli, nem egy konfigurációs kiterjesztésben található). A csökkentett mód letiltásának módja SetDisableSafeMode(). Ellenőrizze, hogy a csökkentett mód be van-e kapcsolva Ebben a pillanatban letiltva (automatikusan vagy metódushívással), használhatja a metódust GetDisableSafeMode().

Egyetlen 1C:1 metóduson belül nem lehet egynél több beágyazási szint a biztonságos mód beállításához (a SetSafeMode() metódus meghívásával) és a biztonságos mód letiltásának beállításához (automatikusan a metaadat-objektum eseménykezelők végrehajtásakor vagy a SetSafeModeDisable() metódus). Amikor megpróbálja növelni a beágyazást, kivételt dob:

// Helyes használati eljárás ProcedureName() SetSafeModeDisable(True); SetSafeMode(True); SetSafeMode(False); SetSafeModeDisable(False); EndProcedure // Helytelen használat Procedure ProcedureName() SetSafeModeDisable(True); SetSafeMode(True); SetSafeModeDisable(False); // Kivétel EndProcedure ProcedureProcedureName() SetSafeMode(True); SetSafeModeDisable(False); // Kivétel EndProcedure

Az a tény, hogy az 1C kliens-szerver verziójának használatakor a külső feldolgozás / jelentések biztonságos módban nyílnak meg, amelyben tilos a privilegizált mód használata. A privilegizált módot pedig nagyon gyakran használják tipikus konfigurációkban: nyomtatott űrlapok kialakítása, különféle szolgáltatás-ellenőrzések (cserék regisztrációja) stb. Ennek eredményeként még az ACS rendszeres jelentésének űrlap nélküli használatakor is (alapértelmezés szerint a "Jelentésűrlap" általános űrlapot használjuk) és a jelentés felhasználói beállításainak mentésekor (a megfelelő könyvtárba) hibaüzenet jelenik meg a nem megfelelő hozzáférésről. sor után különböző hivatalos célokra használt állandók és munkamenet-paraméterek jogai SetPrivilegedMode(True) ;

A „helyes” megoldás az lenne, ha a külső feldolgozást és a jelentést a BSP-mechanizmusokon keresztül csatlakoztatnánk. További jelentésekés feldolgozás" a csökkentett mód letiltásával vagy engedélyek hozzáadásával (véleményem szerint a BSP 2.2.2.1-es verziójától). De ha valamilyen oknál fogva szükséges külső fájlok jelentések/feldolgozás, beállíthatja a fürt biztonsági profilját, amelyet biztonságos módú biztonsági profilként használnak egy adott információs bázis.

Azonnal szeretném megjegyezni, hogy ezt a lehetőséget nem részesítik előnyben, de különféle körülmények miatt ilyen egyszerűsített formában is használható. Például több bázisom is van különböző városok, közös helyi ül le kemény korlátozott jogok, zárt USB stb., valahol Accounting 2.0-t használnak, valahol 3.0-t, szinte minden jelentést ACS-sel készítek űrlapok nélkül, hogy mindkét verzióban megnyíljanak. Kiszolgálni az összes jelentést különböző verziók a különböző alapok pedig időigényes és kilátástalan üzlet, mert tervben van az egységes konfigurációra és alapra váltás...

Profilt készítünk.
A fürtkonzolban hozzon létre egy biztonsági profilt, amelyben beállítjuk a zászlókat "Biztonságos mód biztonsági profilként használható"és a "Teljes hozzáférés engedélyezett" alatt: "kiváltságos módba".

A jelentések és az egyszerű feldolgozás sok esetben ez a módszer alkalmazható. Bonyolultabb helyzeteknél nincs értelme leírni a folyamatot, mert. a dokumentációban van leírva (biztonsági profilok konfigurálása adott külső fájlokhoz a hash összegének megadásával stb.).

P.S. Azt hittem, hogy a biztonsági profilok csak akkor működnek, ha a CORP-szintű platformhoz és szerverhez licenceket használnak, de ez a funkció az 1C:Enterprise 8.3 platformon is működik (feltételesen hívhatjuk a PROF-ot a Basic / PROF / CORP szabványos konfigurációkhoz hasonlóan)

A Trade Management 11.3 példát használva nézzünk meg egy egyszerű folyamatot egy külső nyomtatvány csatlakoztatására. Figyelembe vesszük az új biztonsági rendszer jellemzőit is.

Gyors átjárás

Előzetes intézkedések

Kezdetnek meg kell funkció engedélyezése vagy ellenőrizze az elérhetőséget

1. Teljes joggal rendelkezünk az információs bázishoz.

2. Lépjen az "NSI és adminisztráció" / "Adminisztráció" / Parancs " menübe. Nyomtatási űrlapok, jelentések és feldolgozás".

Függelék

A megnyitott részben:

Feldolgozást adunk hozzá a "Létrehozás" gombbal (ez fontos) vagy a "Frissítés!" létező:

  • Jelölje ki a listában (ha nincs kiválasztva vagy üres, a parancs nem működik, de nem mond semmit).
  • Kattintson a "Betöltés fájlból" gombra.

Az 1C külső feldolgozásban való megjelenése után a biztonsági ellenőrzések új konfigurációkban jelentek meg.

Csak önállóan létrehozott vagy ismert kommunikációs csatornákon (nem postai úton, csak érvényes tanúsítvánnyal rendelkező webhelyről, vagy a fejlesztő munkatársai által biztosított, telefonon visszaigazolt) feldolgozást telepítsen.

Ha mindent beírt a feldolgozásba a fejlesztő, akkor az "Elhelyezés" lesz beállítva - az objektumok, amelyekben a feldolgozás részt vesz, megjelennek a parancs(ok).
A munkához elegendő a "Rögzítés és bezárás" gombra kattintani.

Vizsgálat

Közvetlenül ezután, a feldolgozás típusától függően:

  • A nyomtatási űrlap akkor válik elérhetővé, amikor megnyit egy dokumentumot, vagy a listából (a már megnyitott esetében újranyitva) a "Nyomtatás" gombra kattintva.
  • A kezelések elérhetők a " További feldolgozás» minden alrendszerben
  • Kitöltés feldolgozása a lista „Kitöltés” ​​gombjával vagy az objektuműrlap fő parancspaneljével.

A fenti feldolgozáshoz az indítás így fog kinézni:

Ha a dokumentum új, akkor rögzíteni kell, a külső feldolgozó mechanizmus figyelmezteti Önt erre:

A további viselkedés a benne rejlő funkcionalitástól függ: lehetséges az űrlap megnyitása vagy egyszerű adatfeldolgozás.

Biztonsági figyelmeztetések az 1C-ben

A platform és konfigurációk új kiadásaiban megerősítették a rosszindulatú programok elindítása elleni védelmet.

A feldolgozás hatására az Excel betöltődik, ebben az esetben az új biztonsági alrendszer figyelmezteti is:

Ebben az esetben a kezelőkód megszakad.

Ha az "Igen" gombra kattint, a rendszer kéri, hogy hívja újra a parancsot:

Az infobase felhasználója a Configurator segítségével letilthatja a veszélyes műveletek elleni védelmet:

"Vállalati" módból ezen nem lehet változtatni, lehet, hogy szándékosan csinálták, a frissítés után jelentkezhet.

Azt is figyelembe kell venni, hogy ha a feldolgozás Excelt használ, akkor annak nem biztonságos módban kell indulnia (ez az új rendszer bevezetése előtt is így volt, ez párhuzamosan működik):

"Nem sikerült betölteni az MS EXCEL-t!!!" "A csökkentett mód be van állítva. A művelet tilos"

Külső feldolgozás során ez így néz ki:

A fejlesztőnek a belső feldolgozási leírásban "False"-ra kell állítania, akkor minden rendben lesz:

ExternalProcessingDetails() ExportRegistrationParameters = Új struktúra; RegistrationParameters.Insert("SafeMode", False);

A konfiguráció frissítésekor figyelmeztető szöveg is volt a konfigurációs fájl forrásáról:

Amikor normál felhasználóként futtatja a Dokumentumok letöltése programot, hibaüzenet jelenik meg: „A csökkentett mód be van állítva. A művelet tilos”.

Ez a nehézség abból adódik, hogy nincs elegendő jogosultság a külső feldolgozás megkezdéséhez. A hozzáférési jogok beállításához nyissa meg az adatbázist 1C Enterprise módban a nevében adminisztrátorés menj a szakaszhoz Felhasználói és jogosultsági beállítások / hozzáférési csoportprofilok, kattintson Csoport létrehozásához.

Írja be a csoport nevét, és jelölje be a négyzeteket elérhető a felhasználók számára ez a szerepcsoport -

  • Külső jelentések interaktív megnyitása és feldolgozása
  • További jelentések és feldolgozás használata

Kattintson Írj és zárd be


Térjen vissza a Felhasználók menübe, és válasszon ki egy alkalmazottat a listából, aki a Dokumentumfeltöltő programmal fog dolgozni. Kattintson az Engedélyek elemre. A profillistában jelölje be a korábban létrehozott profilt. Kattintson éget.


Ahhoz, hogy a felhasználók elkezdhessék a feldolgozást, ajánlatos a Dokumentumfeltöltést hozzáadni a külső feldolgozások listájához. Ehhez a menü Adminisztráció / Űrlapok nyomtatása és feldolgozása / További jelentések és feldolgozás hozzon létre egy új feldolgozást. Adja meg a „DocumentUpload.epf” fájl elérési útját, és adjon neki nevet. Adja meg a menüben a feldolgozás helyét, ahonnan a felhasználó a jövőben elindíthatja, például válassza ki a menüt Útmutató könyvek

Egy elemre kattintva Gyors hozzáférés megadja, hogy mely felhasználói feldolgozás elérhető:


A beállítás után kattintson Írj és zárd be. A feldolgozás megkezdéséhez a felhasználóknak csak újra be kell lépniük az adatbázisba, meg kell nyitniuk azt a hozzáférési menüből (a példában - Könyvtárak), majd kattintson a Fuss.


Nyisd ki Menü - Minden funkció... és keresse meg a „Biztonsági profilok használata” lehetőséget a listában.


Elég, ha eltávolítja a "Biztonsági profilok használatos" opció bejelölését.


Ezt követően a program sikeresen fut.