Domov / Skype / 1c externé spracovanie nastavené na bezpečný režim. Bezpečný režim prevádzky. Spustenie externého spracovania v normálnom aplikačnom režime

1c externé spracovanie nastavené na bezpečný režim. Bezpečný režim prevádzky. Spustenie externého spracovania v normálnom aplikačnom režime

Tlačiť (Ctrl+P)

Konfiguračné objekty

Ak je potrebné na serveri použiť „nedôveryhodný“ programový kód: externé spracovanie alebo programový kód zadaný používateľom na použitie v metódach Execute() a Calculate(), môžete použiť bezpečný režim prevádzky.

V núdzovom režime:

  • Privilegovaný režim zrušené.
  • Prepnutie do privilegovaného režimu ignoroval.
  • Zakázané operácie, ktoré vedú k používaniu externých nástrojov vo vzťahu k platforme 1C:Enterprise (vrátane neblokujúcich analógov vyššie uvedených metód):
  • COM mechanizmy:
    • COMObject();
    • GetCOMObject();
    • WrapperHTMLDocument.GetCOMObject().
  • Načítanie externých komponentov:
    • LoadExternalComponent();
    • ConnectExternalComponent().
  • Prístup k súborovému systému:
    • valueToFile();
    • CopyFile();
    • MergeFiles();
    • MoveFile();
    • SplitFile();
    • CreateDirectory();
    • Vymazať súbory();
    • Nový súbor;
    • Nový xBase;
    • WriteHTML.OpenFile();
    • ReadingHTML.OpenFile();
    • ReadingXML.OpenFile();
    • WriteXML.OpenFile();
    • ReadFastInfoset.OpenFile();
    • WriteFastInfoset.OpenFile();
    • CanonicalWriterXML.OpenFile();
    • XSL Transformation.LoadFromFile();
    • WriteZipFile.Open();
    • ReadZipFile.Open();
    • NewTextReader(), ak je prvým argumentom reťazec;
    • ReadText.Open(), ak je prvým parametrom reťazec;
    • New TextWrite(), ak je prvým parametrom reťazec;
    • WriteText.Open(), ak je prvým parametrom reťazec;
    • Nový text extraktu();
    • zmena vlastnosti ExtractText.FileName;
    • ExtrahovaťText.Write();
    • New Image(), ak je prvým parametrom reťazec;
    • Obrázok.Záznam();
    • New BinaryData();
    • BinaryData.Write();
    • New DataWrite(), ak je prvým parametrom reťazec;
    • New DataRead(), prvý parameter je reťazec;
    • všetky metódy objektu FileStreamManager;
    • New FileStream();
    • FormattedDocument.Write();
    • GeographicScheme.Read();
    • GeographicScheme.Write();
    • GeographicScheme.Print();
    • Tabuľkový hárokDokument.Read();
    • Tabuľkový hárokDokument.Write();
    • Tabuľkový hárokDokument.Tlač(); GraphicScheme.Read();
    • GraphicScheme.Write();
    • GraphicScheme.Print();
    • TextDocument.Read();
    • TextDocument.Write().
  • Prístup na internet:
    • Nové internetové pripojenie,
    • Nový InternetMail,
    • Nový internetový proxy,
    • Nové pripojenie HTTP,
    • Nové FTP pripojenie.

POZOR! Vyvolá výnimku pri vykonávaní zakázaných operácií za behu.

Poznámka. Externé hlásenia a spracovanie otvorené pomocou ponuky Súbor - Otvoriť sa vykonávajú v núdzovom režime, ak používateľ nemá práva správcu.

Počet aktivácií núdzového režimu sa musí zhodovať s počtom vypnutí. Ak však v rámci procedúry alebo funkcie bol povolený bezpečný režim (raz alebo viackrát), ale nebol zakázaný, systém sa automaticky vypne toľkokrát, koľkokrát bolo čakajúcich aktivácií v procedúre alebo funkcii, ktorá sa opúšťa.

Ak v procedúre alebo funkcii volá metóda SetSafeMode (False) urobil viac ako volania metód SetSafeMode (True), potom bude vyvolaná výnimka.

Programová inštalácia núdzového režimu môže byť potrebná, keď vývojár konfigurácie predpokladá použitie programového kódu tretej strany (v súvislosti s konfiguráciou), ktorého spoľahlivosť nemôže zaručiť. Príkladom takéhoto kódu je vykonávanie metód Execute() a Calculate() v prípadoch, keď je spustiteľný kód prijatý z vonkajšieho sveta. V tomto prípade je dobrým zvykom nastaviť bezpečný režim pred vykonaním týchto metód:

// Kód programu sa vygeneruje na vykonanie // Je možné, že kód je načítaný z externých zdrojov// alebo zadané manuálne ExecutableCode = GetExecutableCodeFrom OutsideWorld(); // Povolenie bezpečného režimu SetSafeMode(True); // Spustenie potenciálne nebezpečného kódu Execute(ExecutableCode); // Vypnutie bezpečného režimu SetSafeMode(False);

V niektorých prípadoch môžu byť nastavenia núdzového režimu v konflikte s nastaveniami privilegovaného režimu. Príkladom takéhoto konfliktu je odoslanie dokumentu, ktorý má vlastnosť Privilegovaný režim pri odosielaní nastavenú z 1D kódu, ktorý je spustený v núdzovom režime. V tomto prípade je privilegovaný režim zakázaný a pokusy o jeho aktiváciu sú ignorované. Výsledkom je, že kód 1C:Enterprise, ktorý sa „spolieha“ na povolený privilegovaný režim, „naráža“ na jeho absenciu, čo vedie k chybám s nezrejmými dôvodmi na objavenie sa. Aby sa predišlo takejto situácii, 1C:Enterprise automaticky zakáže bezpečný režim pre obsluhu udalostí, ktoré sú dostupné v objektovom module alebo manažérskom module, za predpokladu, že spustiteľný kód v jazyku 1C:Enterprise sa nenachádza v konfiguračnom rozšírení. Takéto manipulátory sú v asistentovi syntaxe označené špeciálnym spôsobom.

Poskytuje tiež možnosť zakázať núdzový režim v rámci 1. jazyka (ak kód, z ktorého sa pokúšate o deaktiváciu, nie je v rozšírení konfigurácie). Spôsob zakázania núdzového režimu SetDisableSafeMode(). Skontrolujte, či je zapnutý bezpečný režim tento moment vypnuté (automaticky alebo pomocou volania metódy), môžete metódu použiť GetDisableSafeMode().

V rámci jednej metódy 1C:1 nemôže existovať viac ako jedna úroveň vnorenia nastavenia bezpečného režimu (volaním metódy SetSafeMode()) a nastavenia zakázania bezpečného režimu (automaticky v čase vykonávania obslužných programov udalostí metaúdajových objektov alebo volaním Metóda SetSafeModeDisable()). Pri pokuse o zvýšenie vnorenia sa vyvolá výnimka:

// Postup správneho použitia ProcedureName() SetSafeModeDisable(True); SetSafeMode(True); SetSafeMode(False); SetSafeModeDisable(False); EndProcedure // Nesprávne použitie ProcedureName ProcedureName() SetSafeModeDisable(True); SetSafeMode(True); SetSafeModeDisable(False); // Výnimka EndProcedure ProcedureProcedureName() SetSafeMode(True); SetSafeModeDisable(False); // Výnimka EndProcedure

Faktom je, že pri používaní verzie klient-server 1C sa externé spracovanie / správy otvárajú v núdzovom režime, v ktorom je zakázané používať privilegovaný režim. A privilegovaný režim sa veľmi často používa v typických konfiguráciách: vytváranie tlačených formulárov, rôzne servisné kontroly (registrácia výmen) atď. Výsledkom je, že aj pri použití bežnej správy o ACS bez formulára (štandardne sa používa všeobecný formulár „ReportForm“) a uložení používateľských nastavení správy (v príslušnom adresári) sa zobrazí chyba o nedostatočnom prístupe práva na rôzne konštanty a parametre relácie používané na oficiálne účely po riadku SetPrivilegedMode(True) ;

„Správnym“ riešením by bolo prepojenie externých procesorov a reportov cez BSP mechanizmy „Additional Reports and Processing“ s zakázaním bezpečného režimu alebo pridaním oprávnení (podľa mňa od BSP verzie 2.2.2.1). Ale ak je z nejakého dôvodu potrebné použiť presne externé súbory správy/spracovanie, môžete nakonfigurovať bezpečnostný profil klastra, ktorý sa používa ako bezpečnostný profil v núdzovom režime pre konkrétneho používateľa informačnú základňu.

Hneď by som rád poznamenal, že táto možnosť nie je preferovaná, ale vzhľadom na rôzne okolnosti ju možno použiť v takejto zjednodušenej forme. Napríklad mám niekoľko základov v rôznych mestách, bežného miestneho sadnúť si s tvrdým obmedzené práva, uzavreté USB a pod., niekde sa používa Účtovníctvo 2.0 a niekde 3.0, takmer všetky výkazy robím pomocou ACS bez formulárov, aby sa otvárali v oboch verziách. Slúžiť pre všetky tieto správy rôzne verzie a rôznych základoch je časovo náročný a neperspektívny biznis, pretože existujú plány na prechod na jednu konfiguráciu a základňu ...

Vytvárame profil.
V konzole klastra si vytvoríme bezpečnostný profil, v ktorom nastavíme príznaky "Môže byť použitý ako bezpečnostný profil v núdzovom režime" a " pod "Povolený úplný prístup:" „do privilegovaného režimu“.

V mnohých prípadoch použitia reportov a jednoduchého spracovania bude táto metóda použiteľná. Pre zložitejšie situácie nemá zmysel popisovať proces, pretože. je popísaná v dokumentácii (možnosť konfigurovať bezpečnostné profily pre konkrétne externé súbory zadaním ich hash súčtu atď.).

P.S. Myslel som si, že bezpečnostné profily fungujú iba pri používaní licencií pre platformu a server na úrovni CORP, ale táto funkcia funguje aj na platforme 1C: Enterprise 8.3 (podmienečne môžeme volať PROF analogicky s typickými konfiguráciami Basic / PROF / CORP)

Na príklade Trade Management 11.3 si predstavme jednoduchý proces pripojenia externého tlačového formulára. Zvážime aj vlastnosti nového bezpečnostného systému.

Rýchly prechod

Predbežné opatrenia

Na začiatok by ste mali povoliť funkčnosť alebo skontrolujte dostupnosť

1. Máme plné práva na informačnú základňu.

2. Prejdite do menu "NSI a správa" / Blok "Správa" / Príkaz " Tlač formulárov, správy a spracovanie“.

Dodatok

V otvorenej sekcii:

Spracovanie pridávame tlačidlom "Vytvoriť" (to je dôležité) alebo "Aktualizovať!" existujúce:

  • Vyberte ho v zozname (ak nie je označený alebo prázdny, príkaz nebude fungovať, ale nebude nič hovoriť).
  • Kliknite na tlačidlo "Načítať zo súboru".

Po vystúpení pre 1C in externé spracovanie nové konfigurácie majú bezpečnostné kontroly.

Mali by ste nainštalovať iba spracovanie vytvorené nezávisle alebo prijaté prostredníctvom známych komunikačných kanálov (nie z pošty, iba zo stránky s platným certifikátom alebo poskytnuté zamestnancami vývojára, ním potvrdené telefonicky).

Ak je všetko napísané v spracovaní vývojárom, potom sa nastaví "Placement" - objekty, na ktorých sa bude spracovanie podieľať, objaví sa príkaz (príkazy).
Ak chcete pracovať, bude stačiť kliknúť na „Nahrať a zavrieť“.

Vyšetrenie

Ihneď potom, v závislosti od typu spracovania:

  • Tlačový formulár sa sprístupní po otvorení dokumentu alebo z jeho zoznamu (pre už otvorený dokument pri opätovnom otvorení) kliknutím na tlačidlo "Tlačiť".
  • Ošetrenia sú dostupné v sekciách "Doplnkové ošetrenia" v každom podsystéme
  • Spracovanie vyplnenia tlačidlom "Vyplniť" zoznamu alebo hlavného príkazového panela formulára objektu.

Pre vyššie uvedené spracovanie bude spustenie vyzerať takto:

Ak je dokument nový, mal by byť zaznamenaný, mechanizmus externého spracovania vás na to upozorní:

Ďalšie správanie závisí od vlastnej funkcionality: je možné otvoriť formulár alebo jednoduché spracovanie údajov.

Bezpečnostné upozornenia v 1C

V nových vydaniach platformy a konfigurácií bola posilnená ochrana pred spustením škodlivých programov.

Spracovanie môže spôsobiť, že sa Excel začne načítavať, v takom prípade vás nový bezpečnostný subsystém tiež upozorní:

V tomto prípade je kód obsluhy prerušený.

Ak kliknete na „Áno“, systém vás požiada o opätovné zavolanie príkazu:

Používateľ infobase môže vypnúť ochranu pred nebezpečnými akciami prostredníctvom konfigurátora:

Z režimu "Enterprise" sa to nedá zmeniť, možno to bolo urobené zámerne, môže sa to objaviť po aktualizácii.

Mali by ste si tiež uvedomiť, že ak spracovanie používa Excel, musí sa spustiť v nebezpečnom režime (takto to bolo pred zavedením nového systému, funguje to paralelne):

"Nedá sa načítať MS EXCEL!!!" „Bezpečný režim je nastavený. Prevádzka je zakázaná"

Pri externom spracovaní to vyzerá takto:

Vývojár by ho mal v popise interného spracovania nastaviť na „False“, potom bude všetko v poriadku:

ExternalProcessingDetails() ExportRegistrationParameters = Nová štruktúra; RegistrationParameters.Insert("SafeMode", False);

Pri aktualizácii konfigurácie sa objavil aj varovný text o zdroji, z ktorého bol konfiguračný súbor získaný:

Keď spustíte program Download Documents ako bežný používateľ, objaví sa chyba „Je nastavený núdzový režim. Prevádzka je zakázaná.“

Táto ťažkosť vzniká preto, že nie je dostatok práv na začatie externého spracovania. Ak chcete nastaviť prístupové práva, prejdite do databázy v režime 1C Enterprise v mene používateľa správca a prejdite do sekcie Nastavenia používateľov a práv / prístupové skupinové profily, kliknite Ak chcete vytvoriť skupinu.

Zadajte názov skupiny a začiarknite políčka k dispozícii používateľom táto skupina rolí -

  • interaktívne objavovanie externé správy a liečby
  • Využitie dodatočných prehľadov a spracovania

Kliknite Napíšte a zatvorte


Vráťte sa do ponuky Používatelia a zo zoznamu vyberte zamestnanca, ktorý bude pracovať s programom Nahrávanie dokumentov. Kliknite na položku Povolenia. V zozname profilov označte predtým vytvorený profil. Kliknite horieť.


Aby používatelia mohli začať spracovávať, odporúča sa pridať Odovzdanie dokumentu do zoznamu externého spracovania. K tomu menu Administrácia / Tlač formulárov a spracovanie / Doplnkové zostavy a spracovanie vytvoriť nové spracovanie. Zadajte cestu k súboru „DocumentUpload.epf“ a pomenujte ho. V menu zadajte umiestnenie spracovania, odkiaľ ho môže používateľ v budúcnosti spustiť, napríklad vyberte menu Referenčná literatúra

Kliknutím na položku Rýchly prístup určíte, ktorým používateľom je k dispozícii spracovanie:


Po nastavení kliknite Napíšte a zatvorte. Na spustenie spracovania budú používatelia musieť znova vstúpiť do databázy a otvoriť ju z prístupovej ponuky (v príklade - Adresáre) a kliknúť Bežať.


OTVORENÉ Menu - Všetky funkcie... a v zozname nájdite možnosť „Používanie bezpečnostných profilov“.


Stačí odškrtnúť možnosť „Používajú sa bezpečnostné profily“.


Potom sa program úspešne spustí.