Pavel Chistov. Softvérové ​​otvorenie externého spracovania. Núdzový režim 1c spracovanie narušenie prístupu

Počnúc novými vydaniami sa spoločnosť 1C: pokúsila eliminovať vlnu kryptovírusov obmedzením spúšťania externých správ a spracovania pre všetkých používateľov konkrétneho účtovného systému.

Samozrejme, vyvolalo to vlnu nepochopenia zo strany používateľov aj vedenia IT oddelenia (programátori, administrátori).

V skutočnosti boli prijaté opatrenia, samozrejme, vynútené, pretože... mnohí používatelia nemusia mať ani podozrenie, že niektoré zo súborov, ktoré otvárajú, môžu obsahovať hroznú hrozbu - zastavenie všetkých obchodov a stratu všetky údaje o otvorených podnikových zdrojoch.

Áno, samozrejme, pri správnom nastavení zálohovania je možné časť údajov uložiť, ale čo ak vaša spoločnosť zadáva údaje každý deň/hodinu/minútu, ktoré buď nie je možné obnoviť, alebo si to bude vyžadovať veľa úsilia teda: ľudské zdroje, čas, rozpočet atď.

Čo to znamená: no, prvé, s čím sa používateľ stretne, je banálne spustenie špecializovaných formulárov a spracovania zahrnutých v účtovnom systéme - t.j. používateľovi sa nepodarí spustiť ani napríklad upravený a zjednotený účet organizácie, alebo napríklad zostava pre manažérsku distribúciu DDS a pod.

Je zrejmé, že to nevyhovuje ani administratívnym pracovníkom organizácie, ani koncovému užívateľovi, ktorý má úlohy spojené s takýmto externým spracovaním.

Ako vyriešiť tento problém? Je zrejmé, že žiadny moderný antivírusový systém ani systém obmedzovania prístupových práv nedokáže úplne ochrániť používateľa pred nebezpečenstvom „nakazenia“ vírusom, avšak pre konkrétnych odborníkov, ktorí boli na hrozby upozornení a bol realizovaný vzdelávací program spustenie potenciálne nebezpečných prvkov, prístup bude musieť byť stále otvorený.

Čo teda treba urobiť:

  1. Stanovte zodpovednosť za zamestnanca, ktorý musí spustiť takéto vylepšenia, súbory, správy;
  2. Vykonajte s týmto zamestnancom nejaké vzdelávacie školenia, aby ste plne porozumeli hrozbám a bezpečnosti;
  3. Poskytnite tomuto zamestnancovi možnosť spustiť externé spracovanie v 1C:

Nedotýkame sa prvých 2 bodov, pretože... Toto majú na svedomí administratívni pracovníci a zamestnanci IT oddelenia spoločnosti, ale pokiaľ ide o bod 3, môžete použiť pokyny popísané nižšie:

  1. Najprv budete potrebovať prístup ku konfigurátoru 1C: používateľ s plnými právami;
  2. Konfigurátor spustíme pod užívateľom s plnými právami;
  3. Vo všeobecnom menu (zvyčajne je to hore) nájdeme položku „Správa“ -> „Používatelia“

4. Vyberte používateľa, ktorého chcete zmeniť:

Zrušte začiarknutie políčka „ochrana pred nebezpečnými aktivitami“ a prejdite na druhú kartu, a ak tento používateľ predtým nemal nainštalovanú rolu „Interaktívne otváranie externých formulárov a spracovanie“, začiarknite políčko:

Všetky. Po týchto manipuláciách musí používateľ, na ktorého boli tieto nastavenia použité, znova vstúpiť do programu. Potom sa bude môcť spustiť z externých zdrojov.

Naozaj dúfame, že ste si tento článok prečítali od samého začiatku a že ste si vedomí rizík týchto manipulácií.

Programové otvorenie externého spracovania sa vykonáva pomocou objektu globálneho kontextu ExternalProcessing, ktorý má typ ExternalProcessingManager. Pre každý prevádzkový režim platformy 1C (režim bežnej aplikácie a režim riadenej aplikácie) sa na prácu s externým spracovaním používajú rôzne objektové metódy.

Spustenie externého spracovania v normálnom aplikačnom režime

V typickej aplikácii musíte použiť metódu Create() objektu ExternalProcessing, ktorej sa odovzdá úplný názov súboru externého spracovania. Metóda vracia objekt typu Externé spracovanie, tento objekt je otvorené externé spracovanie. Ak potrebujete otvoriť formulár externého spracovania, zavolajte metódu GetForm() na prijatom objekte, ktorá vráti hlavný formulár, a potom zavolajte metódu Open() na jeho otvorenie.


Spracovanie = ExternalProcessing.Create(FullFileName);
Processing.GetForm().Open();

Pri externom spracovaní musí byť hlavný formulár vždy bežný a riadený formulár musí byť vždy doplnkový, inak metóda GetForm() nebude fungovať v normálnom režime aplikácie.

Spustenie externého spracovania v režime riadenej aplikácie

V režime spravovaných formulárov je algoritmus rozdelený podľa kontextu vykonávania. Na klientovi dostávame binárne dáta s úplným názvom externého spracovateľského súboru. Prijaté binárne dáta prenesieme na server a uložíme ich do dočasného úložiska. Ďalej je potrebné zavolať metódu Connect() objektu ExternalProcessing, ktorému sa odovzdá adresa dočasného úložiska. Metóda vráti názov pripojeného externého spracovania. Klientovi vrátime názov externého spracovania, vytvoríme reťazec cestu k formuláru spracovania a pomocou metódy OpenForm() otvoríme formulár externého spracovania.

&Na serveri
Funkcia GetExternalProcessingName(BinaryData)
AddressInTemporaryStorage = PlaceInTemporaryStorage(BinaryData);
Return ExternalProcessing.Connect(AddressInTemporaryStorage);
EndFunction

&OnClient
FullFileName = ""; // Úplný názov súboru externého spracovania.
FileData = new BinaryData(FullFileName);
ExternalProcessingName = GetExternalProcessingName(FileData);
OpenForm("ExternalProcessing." + ExternalProcessingName + ".Form");

Núdzový režim pre externé spracovanie

Metódy Create() a Connect() objektu ExternalProcessing majú vstupný parameter SafeMode – znak pripojenia externého spracovania v núdzovom režime. Ak parameter nie je zadaný, pripojenie sa uskutoční v zabezpečenom režime.
Núdzový režim je navrhnutý tak, aby chránil systém pred spustením „nedôveryhodného“ programového kódu na serveri. Potenciálne nebezpečenstvo pochádza z externého spracovania alebo kódu programu zadaného používateľom na použitie v metódach Run() a Calculate().
Núdzový režim ukladá nasledujúce obmedzenia:
  • privilegovaný režim sa zruší, ak bol nainštalovaný;
  • pokusy o vstup do privilegovaného režimu sa ignorujú;
  • operácie s objektmi COM sú zakázané;
  • nakladanie a pripájanie externých komponentov je zakázané;
  • prístup do súborového systému je zakázaný (okrem dočasných súborov);
  • Prístup na internet je zakázaný.
Interaktívne otvárané procesy sa nevykonávajú v núdzovom režime, preto sa odporúča implementovať mechanizmus na otváranie externých procesorov v núdzovom režime, ako aj na úrovni povolení, aby sa používateľovi zakázalo interaktívne otvárať externé procesory.
Na zákaz interaktívneho otvárania spracovania je vo všetkých rolách priradených používateľovi potrebné odstrániť právo „Interaktívne otváranie externého spracovania“ (pozri obrázok 1).
Obrázok 1. Práva na interaktívne otváranie externého spracovania/správ
Právo „Interaktívne otvorenie externého spracovania“ nijako neovplyvňuje objekt Externé spracovanie.

Programové otváranie externých zostáv je podobné externému spracovaniu, ale mali by ste použiť objekt globálneho kontextu ExternalReports, ktorý má typ ExternalReportsManager.

V tomto článku budeme hovoriť o nastavení prístupových práv používateľov k objektom systému 1C.

V 1C 8 sa na riadenie prístupu používateľov používa samostatný objekt metadát, ktorý sa nazýva Roly.

Poznámka! Tento článok bol napísaný na pomoc programátorom. Nastavenie práv v užívateľskom režime pomocou príkladu účtovníctva 1C je diskutované v.

Rola definuje množinu práv, ktoré má používateľ. Mechanizmus rolí je veľmi podobný mechanizmom práv Windows Active Directory. Pre každý z objektov (adresáre, dokumenty) vývojár nastavuje vlastnú sadu práv - čítanie / zápis / pridávanie / zmena / ...

Súbor dostupných práv - zhromažďovanie všetkých povolení v používateľských rolách.

Ak otvoríme objekt metadát Role, môžeme vidieť nasledujúci obrázok:

Objekt má dve záložky – Práva a Šablóny obmedzení. Práva - hlavná karta, Šablóny - karta pre nastavenie práv na úrovni záznamu v 1C ( RLS). Toto je veľmi dôležitá téma, ktorú sa pokúsim popísať v ďalších článkoch.

Budeme brať do úvahy iba tab práva.

  • Objekty— zoznam, pre ktorý budú nastavené práva.
  • práva— zoznam možných nastavení práv na nastavenie.
  • Obmedzenie prístupu k údajom— polia rolí na prispôsobenie

Venujte pozornosť začiarkavacím políčkam v spodnej časti:

  • Nastavte práva pre nové objekty— ak je pre rolu nastavený príznak, pre nové objekty metadát sa automaticky nastavia oprávnenia. Odporúčam ho nainštalovať, ak často zabúdate nastaviť povolenia pre nové objekty.
  • Štandardne nastavte povolenia pre podrobnosti a tabuľkové časti— príznak, keď je nastavený, detaily a časti tabuľky zdedia práva vlastníka (adresár, dokument atď.)
  • Nezávislé práva podriadených objektov— ak je nastavený príznak, potom systém pri určovaní práv na konfiguračný objekt zohľadní práva k rodičovskému objektu

Nastavenia povolení pre celú konfiguráciu

Ak otvoríme rolu a klikneme na koreňový adresár konfigurácie, zobrazia sa nám nasledujúce nastavenia:

Viac podrobností o každom z nich práva na celú konfiguráciu:

Získajte 267 video lekcií na 1C zadarmo:

  • Administrácia— správa informačnej základne (vyžaduje sa právo „Správa údajov“)
  • Správa údajov— právo na administratívne úkony v súvislosti s údajmi
  • Aktualizácia konfigurácie databázy- priamo do
  • Monopolný režim— používanie výhradného režimu
  • Aktívni používatelia— zobrazenie zoznamu aktívnych užívateľov
  • — kniha jázd
  • — právo spustiť tenkého klienta
  • - právo na spustenie webového klienta
  • Tučný klient— až po úlohu spustenia hrubého klienta
  • Vonkajšie spojenie— právo spustiť externé pripojenie
  • automatizácia— právo používať automatizáciu
  • Režim všetkých funkcií— v režime riadenej aplikácie
  • Ukladanie používateľských údajov— povolenie alebo zákaz ukladať používateľské údaje (nastavenia, obľúbené položky, história). Platí to najmä pre spravované formuláre 1C.
  • Interaktívne otváranie externého spracovania— otvorenie externého spracovania
  • Interaktívne otváranie externých správ— otváranie externých správ
  • Záver— tlač, nahrávanie a kopírovanie do schránky

Nastavenie práv 1C 8.2 na iné objekty metadát

Pre ostatné hlavné objekty (adresáre, konštanty, dokumenty, registre...) je sada práv pre rolu celkom štandardná:

  • Čítanie- čítanie (softvér)
  • Doplnenie- pridanie (softvéru)
  • Zmeniť- zmeniť (softvér)
  • Odstránenie- odstránenie (softvéru)
  • vyhliadka- vyhliadka
  • Interaktívny doplnok- interaktívny doplnok
  • Úprava— úprava
  • Interaktívny príznak vymazania— interaktívna značka na vymazanie
  • Interaktívne zrušte označenie vymazania— zrušenie označenia na vymazanie
  • Interaktívne odstránenie označených— mazanie označených objektov
  • Linkový vstup— pomocou režimu riadkového vstupu
  • Interaktívne odstraňovanie— priame vymazanie (shift + del)

Práva len pre Dokumenty:

  • Interaktívne dirigovanie— vykonávanie
  • Zrušenie— zrušenie dokladov
  • Interaktívne vedenie nefunkčné— držanie (pomocou štandardných formulárových príkazov) dokumentu v neprevádzkovom režime
  • Interaktívne zrušenie— interaktívne zrušenie
  • Interaktívna zmena výdaja— úprava zaúčtovaného dokumentu. Ak nie je nastavené právo roly, používateľ nemôže vymazať zaúčtovaný dokument, nastaviť príznak vymazania, znova ho odoslať ani ho nemôže zrušiť odoslaním. Formulár takéhoto dokumentu sa otvorí v režime prezerania

P.S. Ak stále neviete zistiť roly používateľov, môžete si objednať .
Video s príkladom nastavenia práv v 1C Accounting 3.0:

Faktom je, že pri použití 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 používa veľmi často v typických konfiguráciách: generovanie 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 systéme kontroly prístupu bez formulára (štandardne sa používa všeobecný formulár "ReportForm") a uložení vlastný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ého spracovania a hlásení prostredníctvom mechanizmov BSP „Ďalšie hlásenia a spracovanie“ s zakázaním bezpečného režimu alebo pridaním povolení (podľa mňa od verzie BSP 2.2.2.1). Ak je však z nejakého dôvodu potrebné použiť externé súbory na podávanie správ/spracovanie, môžete nakonfigurovať bezpečnostný profil klastra, ktorý sa používa ako bezpečnostný profil v núdzovom režime pre konkrétnu informačnú základňu.

Chcel by som okamžite poznamenať, že táto možnosť nie je uprednostňovaná, ale vzhľadom na rôzne okolnosti ju možno použiť v takejto zjednodušenej forme. Napríklad mám viacero databáz v rôznych mestách, spoločnú lokálnu s prísne obmedzenými právami, uzavreté USB atď., niekde používam účtovníctvo 2.0 a niekde 3.0, takmer všetky výkazy robím pomocou nástrojov ACS bez formulárov, aby otvorené v oboch verziách. Udržiavanie všetkých týchto správ pre rôzne verzie a rôzne databázy je náročné na prácu a márne, pretože Plánuje sa prechod na jednu konfiguráciu a základňu...

Vytvorme 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 " v sekcii "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á. Pri zložitejších situáciách nemá zmysel popisovať proces, pretože je to načrtnuté v dokumentácii (možnosť konfigurovať bezpečnostné profily pre konkrétne externé súbory zadaním ich hodnoty hash atď.).

P.S. Myslel som si, že bezpečnostné profily fungujú iba pri použití licencií platformy a servera na úrovni CORP, ale táto funkcia funguje aj na platforme 1C: Enterprise 8.3 (podmienečne sa dá nazvať PROF, analogicky so štandardnými konfiguráciami Basic/PROF/CORP)

Ako povoliť interaktívne otváranie externých reportov a ich spracovanie? (1C: Účtovníctvo 8.3. vydanie 3.0)

2016-12-08T15:52:26+00:00

Ak pri otvorení externého spracovania alebo zostavy cez menu Súbor->Otvoriť

Zobrazí sa chyba „Porušenie prístupu“:

Existujú len dve možnosti použitia spracovania.

Prvou možnosťou je zaregistrovať spracovanie v adresári „Dodatočné výkazy a spracovanie“ (o tomto).

Čo však v prípade, ak spracovanie takúto registráciu nepodporuje? A spracovanie je veľmi užitočné a naozaj ho chcem otvoriť.

V tomto prípade môžete prejsť na druhú možnosť a znova povoliť možnosť otvoriť spracovanie v databáze cez ponuku Súbor->Otvoriť.

Pokyny na to sú uvedené nižšie.

Prejdite do konfigurátora databázy:

Vykonajte príkaz ponuky "Správa" -> "Používatelia":

Dvojitým kliknutím otvoríte svojho používateľa:

Prejdite na kartu „Iné“, začiarknite políčko „Interaktívne otváranie externých správ a spracovanie“ a kliknite na tlačidlo „OK“:

Teraz zatvorte konfigurátor a databázu (ak ste ju mali otvorenú).

Znova prejdite do databázy a skúste správu otvoriť cez ponuku „Súbor“ -> „Otvoriť“.

Teraz bude všetko fungovať

Existujú nuansy...

Metóda, ktorú som opísal v tomto návode, funguje 100%, ale pri jej použití môže po chvíli opäť zmiznúť právo na „Interaktívne otvorené externé spracovanie“.

Aby ste tomu zabránili, začiarknite rovnaké políčko v režime 1C:Enterprise v aktuálnom profile skupiny prístupu pre vášho používateľa.

Pri použití tejto metódy môžu vzniknúť rôzne nuansy (napríklad ak používate vstavaný profil, ktorý sa nedá upravovať), takže podrobné pokyny pre tento prípad neposkytnem.

s pozdravom Vladimír Milkin(učiteľ a vývojár).