Come configurare smartphone e PC. Portale informativo
  • casa
  • Interessante
  • 1s disabilita la modalità provvisoria. Scoperta del software di elaborazione esterna

1s disabilita la modalità provvisoria. Scoperta del software di elaborazione esterna

Utilizzando l'esempio di Trade Management 11.3, consideriamo un semplice processo di connessione di un modulo di stampa esterno. Prenderemo in considerazione anche le caratteristiche del nuovo sistema di sicurezza.

Passaggio veloce

Azioni preliminari

Per cominciare, dovresti abilitare la funzionalità oppure verifica la disponibilità

1. Abbiamo tutti i diritti sull'infobase.

2. Vai al menu "NSI e amministrazione" / Blocco "Amministrazione" / Comando "Stampa moduli, rapporti ed elaborazione".

Addendum

Nella sezione aperta:

Aggiungi l'elaborazione tramite il pulsante "Crea" (questo è importante) o "Aggiorna!" esistente:

  • Selezionalo nell'elenco (se non è selezionato o vuoto, il comando non funzionerà, ma non dirà nulla).
  • Fare clic sul pulsante "Carica da file".

Dopo l'apparizione di 1C nell'elaborazione esterna, i controlli di sicurezza sono apparsi in nuove configurazioni.

Dovresti installare solo elaborazioni create autonomamente o ricevute attraverso canali di comunicazione noti (non dalla posta, solo da un sito con certificato valido, o forniti dai dipendenti dello sviluppatore, da lui confermati telefonicamente).

Se tutto viene scritto nell'elaborazione dallo sviluppatore, verrà impostato "Posizionamento": gli oggetti in cui sarà coinvolta l'elaborazione, verranno visualizzati i comandi.
Per funzionare, sarà sufficiente fare clic su "Registra e chiudi".

Visita medica

Subito dopo, a seconda del tipo di lavorazione:

  • Il modulo di stampa diventa disponibile all'apertura di un documento o dalla sua lista (per uno già aperto alla riapertura) cliccando sul pulsante "Stampa".
  • I trattamenti sono disponibili nelle sezioni "Trattamenti aggiuntivi" in ciascun sottosistema
  • Elaborazione del riempimento tramite il pulsante "Riempi" dell'elenco o il pannello di comando principale del modulo oggetto.

Per l'elaborazione di cui sopra, il lancio sarà simile al seguente:

Se il documento è nuovo, dovrebbe essere registrato, il meccanismo di elaborazione esterno ti avviserà di questo:

Un ulteriore comportamento dipende dalla funzionalità intrinseca: è possibile aprire un form o semplice elaborazione dati.

Avvisi di sicurezza in 1C

Nelle nuove versioni della piattaforma e delle configurazioni è stata rafforzata la protezione contro il lancio di programmi dannosi.

L'elaborazione potrebbe causare l'avvio del caricamento di Excel, nel qual caso il nuovo sottosistema di sicurezza ti avviserà anche:

In questo caso il codice gestore viene interrotto.

Se fai clic su "Sì", il sistema ti chiederà di richiamare nuovamente il comando:

È possibile per un utente dell'infobase disabilitare la protezione contro le azioni pericolose tramite il Configuratore:

Dalla modalità "Enterprise", questo non può essere modificato, forse è stato fatto apposta, potrebbe apparire dopo l'aggiornamento.

Si noti inoltre che se l'elaborazione utilizza Excel, deve iniziare in modalità non sicura (questo era il caso prima dell'introduzione del nuovo sistema, funziona in parallelo):

"Impossibile caricare MS EXCEL!!!" "La modalità provvisoria è impostata. Operazione vietata"

Nell'elaborazione esterna, si presenta così:

Lo sviluppatore dovrebbe impostarlo su "False" nella descrizione dell'elaborazione interna, quindi tutto andrà bene:

ExternalProcessingDetails() ExportRegistrationParameters = Nuova struttura; RegistrationParameters.Insert("SafeMode", False);

Durante l'aggiornamento della configurazione, c'era anche un testo di avviso sulla fonte da cui è stato ottenuto il file di configurazione:

Quando si esegue il programma Scarica documenti come utente normale, si verifica un errore "Modalità provvisoria impostata. Operazione vietata".

Questa difficoltà sorge perché non ci sono diritti sufficienti per avviare l'elaborazione esterna. Per impostare i diritti di accesso, vai al database in modalità 1C Enterprise per conto di amministratore e vai alla sezione Impostazioni utente e diritti / Profili gruppo di accesso, clic Per creare un gruppo.

Inserisci il nome del gruppo e spunta i ruoli disponibili per gli utenti di questo gruppo -

  • Apertura interattiva di report ed elaborazioni esterne
  • Utilizzo di report ed elaborazioni aggiuntive

Clic Scrivi e chiudi


Torna al menu Utenti e seleziona un dipendente dall'elenco che lavorerà con il programma Caricamento documenti. Fare clic su Autorizzazioni. Nell'elenco dei profili, contrassegnare il profilo creato in precedenza. Clic bruciare.


Affinché gli utenti possano avviare l'elaborazione, si consiglia di aggiungere Caricamento documenti all'elenco delle elaborazioni esterne. Per fare questo, il menu Amministrazione / Stampa moduli ed elaborazione / Rapporti aggiuntivi ed elaborazione creare una nuova elaborazione. Specificare il percorso del file "DocumentUpload.epf" e assegnargli un nome. Specificare la posizione dell'elaborazione nel menu, da cui l'utente può avviarla in futuro, ad esempio selezionare il menu Libri di riferimento

Cliccando sulla voce Accesso rapido si specifica quale degli utenti è disponibile per l'elaborazione:


Dopo l'impostazione, fare clic Scrivi e chiudi. Per avviare l'elaborazione, gli utenti dovranno solo rientrare nel database e aprirlo dal menu di accesso (nell'esempio - Directory) e fare clic su Correre.


aprire Menu - Tutte le funzioni... e trova l'opzione "Utilizzo dei profili di sicurezza" nell'elenco.


È sufficiente deselezionare l'opzione "Sono utilizzati profili di sicurezza".


Successivamente, il programma verrà eseguito correttamente.

Con il rilascio della piattaforma 8.3.9.2033 è apparso un nuovo meccanismo "Protezione contro azioni pericolose".

Grazie a questa innovazione, 1C inizia ora a giurare all'apertura della lavorazione (e non solo):

Avviso di sicurezza

Apre "My External Processing" dal file "My_External_Processing.epf"

Si consiglia di prestare attenzione alla fonte da cui è stato ottenuto questo file. Se non c'è un accordo con la fonte sullo sviluppo di moduli aggiuntivi o ci sono dubbi sul contenuto del file, non è consigliabile aprirlo, poiché ciò potrebbe danneggiare il computer e i dati.

Consentire l'apertura di questo file?

Quindi 1C ha deciso di combattere il codice dannoso!

Da dove verrà questo "codice dannoso" nell'impresa è ancora un mistero)

Le attività potenzialmente pericolose includono:

  • Caricamento di un rapporto esterno, elaborazione o estensione di configurazione.
  • Caricamento o aggiornamento di una configurazione/estensione.
  • Accesso da report/elaborazione esterna o estensione alle seguenti funzionalità:
  • Esecuzione di un comando del sistema operativo.
  • Gestione utenti (registrazione o eliminazione di informazioni su un utente dell'infobase).
  • Richiamo del metodo Connect() del gestore dell'elaborazione esterna (report).
  • Chiamando il metodo ConfigurationExtension.Write().
  • Lavorare con oggetti COM.

Come si può spegnere questo "miracolo"?

Per fare ciò, è necessario eseguire 1C Enterprise nella modalità configuratore.
Selezionare il menu "Amministrazione" - "Utenti".
Nella finestra aperta dei nostri utenti, devi aprire la finestra delle impostazioni utente e nella scheda "Generale", rimuovere l'uccello "Protezione contro azioni pericolose"

Ci sono altri modi per disattivarlo:

Implementata la possibilità di specificare un elenco di infobase, quando si lavora con cui verrà disabilitata la protezione contro le azioni pericolose.
Questa funzione è controllata dal parametro DisableUnsafeActionProtection nel file conf.cfg, che consente di disabilitare il meccanismo di protezione contro azioni pericolose per tutti gli utenti di determinate infobase le cui stringhe di connessione corrispondono alle maschere specificate nel parametro DisableUnsafeActionProtection.

In questo parametro è possibile specificare più maschere separate dal simbolo ";", ad esempio:

DisableUnsafeActionProtection=test_.*;fase_.*;

Inoltre, la protezione contro le azioni pericolose dell'utente può essere disabilitata a livello di programmazione, per la quale sono disponibili i seguenti parametri e proprietà:

  • Il parametro ProtectionFromDangerousActions dei metodi Connect() dei gestori di elaborazione esterni (report)
  • La proprietà SafeActionProtection dell'oggetto ConfigurationExtension prima di chiamare il metodo Write() di questo oggetto.

La verifica della necessità di protezione contro azioni pericolose viene eseguita nel seguente ordine:

1. Se la casella di controllo "Protezione contro azioni pericolose" è deselezionata per l'utente corrente, la protezione è considerata disabilitata.

2. Se la stringa di connessione dell'infobase corrisponde a uno dei modelli specificati nel parametro DisableUnsafeActionProtection del file conf.cfg, la protezione viene considerata disabilitata.

3. Se la protezione è disabilitata in modo esplicito utilizzando il parametro Protezione da azioni pericolose di un'elaborazione o un report esterno.

4. Se la protezione è disabilitata in modo esplicito utilizzando la proprietà dell'estensione ProtectionFromDangerousActions.

Il rilevamento a livello di codice dell'elaborazione esterna viene eseguito utilizzando l'oggetto di contesto globale ExternalProcessing, che ha il tipo Responsabile elaborazione esterna. Per ciascuna modalità operativa della piattaforma 1C (modalità di applicazione regolare e modalità di applicazione gestita), vengono utilizzati diversi metodi oggetto per lavorare con l'elaborazione esterna.

Avvio dell'elaborazione esterna in modalità applicazione normale

In un'applicazione tipica, è necessario utilizzare il metodo Create() dell'oggetto ExternalProcessing, a cui viene passato il nome completo del file externalprocessing. Il metodo restituisce un oggetto di tipo Elaborazione esterna, questo oggetto è il trattamento esterno in fase di apertura. Se si desidera aprire un modulo di elaborazione esterno, chiamare il metodo GetForm() dell'oggetto ricevuto, che restituirà il modulo principale, quindi chiamare il metodo Open() per aprirlo.


Elaborazione = ExternalProcessings.Create(FullFileName);
Processing.GetForm().Open();

Nell'elaborazione esterna, il form principale dovrebbe essere sempre regolare e quello gestito dovrebbe essere sempre uno aggiuntivo, altrimenti il ​​metodo GetForm() non funzionerà nella modalità normale dell'applicazione.

Avvia l'elaborazione esterna in modalità applicazione gestita

La modalità moduli gestiti introduce una separazione dell'algoritmo in base al contesto di esecuzione. Sul client, otteniamo dati binari con il nome completo del file di elaborazione esterno. Trasferiamo i dati binari ricevuti al server e li mettiamo in una memoria temporanea. Successivamente, è necessario chiamare il metodo Connect() dell'oggetto ExternalProcessing, a cui viene passato l'indirizzo della memoria temporanea. Il metodo restituisce il nome dell'elaborazione esterna connessa. Restituiamo il nome dell'elaborazione esterna sul client, formiamo un percorso stringa al modulo di elaborazione e utilizziamo il metodo OpenForm() per aprire il modulo di elaborazione esterno.

&Sul server
Funzione GetExternalProcessName(BinaryData).
AddressInTempStorage = PlaceInTempStorage(BinaryData);
Restituisce ExternalProcessing.Connect(AddressInTempStorage);
Funzioni finali

&AtCliente
NomeFile Completo = ""; // Nome completo del file di elaborazione esterno.
FileData = New BinaryData(FullFileName);
ExternalProcessingName = GetExternalProcessingName(FileData);
OpenForm("ElaborazioneEsterno." + NomeElaborazioneEsterno + ".Form");

Modalità provvisoria per l'elaborazione esterna

I metodi Create() e Connect() dell'oggetto ExternalProcessing hanno un parametro SafeMode di input, un segno di connessione di un'elaborazione esterna in modalità provvisoria. Se il parametro non è specificato, la connessione verrà effettuata in modalità protetta.
La modalità operativa sicura è progettata per proteggere il sistema dall'esecuzione di codice di programma "non attendibile" sul server. I potenziali pericoli sono l'elaborazione esterna o il codice di programma inserito dall'utente per l'uso nei metodi Execute() e Calculate().
La modalità provvisoria ha le seguenti restrizioni:
  • la modalità privilegiata viene annullata se è stata impostata;
  • i tentativi di entrare in modalità privilegiata vengono ignorati;
  • sono vietate le operazioni con oggetti COM;
  • è vietato caricare e collegare componenti esterni;
  • l'accesso al file system è negato (ad eccezione dei file temporanei);
  • l'accesso a Internet è vietato.
Le elaborazioni aperte in modo interattivo non vengono eseguite in modalità provvisoria, pertanto si raccomanda di implementare il meccanismo per l'apertura di elaborazioni esterne in modalità provvisoria, nonché di vietare all'utente di aprire elaborazioni esterne in modo interattivo a livello di diritti.
Per vietare l'apertura interattiva dei trattamenti, in tutti i ruoli assegnati all'utente, è necessario rimuovere il diritto "Apertura interattiva dei trattamenti esterni" (vedi Figura 1).
Figura 1. Diritti di apertura interattiva di elaborazioni/report esterni
Il diritto "Elaborazione esterna aperta in modo interattivo" non pregiudica in alcun modo l'oggetto ExternalProcessing.

L'apertura di report esterni a livello di codice è simile all'elaborazione esterna, ma è necessario utilizzare l'oggetto contesto globale ExternalReports, che è di tipo Responsabile esterno dei rapporti.

Il fatto è che quando si utilizza la versione client-server di 1C, l'elaborazione / i report esterni vengono aperti in modalità provvisoria, in cui è vietato l'uso della modalità privilegiata. E la modalità privilegiata viene utilizzata molto spesso in configurazioni tipiche: la formazione di moduli stampati, i vari controlli di servizio (registrazione di scambi), ecc. Di conseguenza, anche utilizzando un normale rapporto sull'ACS senza modulo (per impostazione predefinita viene utilizzato il modulo generale "ReportForm") e salvando le impostazioni utente del rapporto (nella directory corrispondente), riceverai un errore per insufficiente diritti di accesso a varie costanti e parametri di sessione utilizzati per scopi ufficiali dopo la riga ImpostaModalità Privilegiata(Vero) ;

La soluzione "corretta" sarebbe quella di collegare processori e report esterni tramite i meccanismi BSP "Additional Reports and Processing" con la disabilitazione della modalità provvisoria o l'aggiunta di autorizzazioni (a mio parere, dalla versione BSP 2.2.2.1). Ma se per qualche motivo è necessario utilizzare report/file di elaborazione esterni, è possibile configurare il profilo di sicurezza del cluster utilizzato come profilo di sicurezza in modalità provvisoria per un particolare infobase.

Vorrei subito notare che questa opzione non è preferita, ma a causa di varie circostanze, può essere utilizzata in una forma così semplificata. Ad esempio, ho diversi database in diverse città, una rete locale comune con diritti strettamente limitati, USB chiusa, ecc., Accounting 2.0 viene utilizzato da qualche parte e da qualche parte 3.0, realizzo quasi tutti i report utilizzando ACS senza moduli, in modo che si siano aperti in entrambe le versioni. Mantenere tutti questi report per versioni diverse e database diversi è un'attività che richiede tempo e poco promettente, perché ci sono piani per passare a un'unica configurazione e base ...

Creiamo un profilo.
Nella console del cluster, crea un profilo di sicurezza in cui impostiamo i flag "Può essere utilizzato come profilo di sicurezza in modalità provvisoria" e " sotto "Accesso completo consentito:" "al modo privilegiato".

In molti casi di utilizzo di report e di semplice elaborazione, questo metodo sarà applicabile. Per situazioni più complesse, non ha senso descrivere il processo, perché. è descritto nella documentazione (la possibilità di configurare profili di sicurezza per specifici file esterni specificandone la somma hash, ecc.).

PS Pensavo che i profili di sicurezza funzionassero solo quando si utilizzano licenze per piattaforma e server di livello CORP, ma questa funzionalità funziona anche sulla piattaforma 1C:Enterprise 8.3 (possiamo chiamare condizionalmente PROF per analogia con le tipiche configurazioni Basic / PROF / CORP)

Articoli correlati in alto