Il processo di lavoro del lavoro in background 8.3 è stato terminato in modo anomalo. – Rimozione di informazioni di sincronizzazione irrilevanti

Gli utenti spesso lamentano che "1C 8.3 è lento": i moduli dei documenti si aprono lentamente, i documenti impiegano molto tempo per essere elaborati, il programma si avvia, i report impiegano molto tempo per essere generati e così via.

Inoltre, tali "problemi" possono verificarsi in diversi programmi:

Le ragioni potrebbero essere diverse. Non si tratta di documenti ripristinati, un computer o server debole, il server 1C è configurato in modo errato.

In questo articolo voglio esaminare uno dei motivi più semplici e comuni lavoro lento programmi - . Questa istruzione sarà rilevante per gli utenti di database di file per 1-2 utenti, dove non esiste competizione per le risorse.

Se sei interessato a un'ottimizzazione più seria delle opzioni client-server per il funzionamento del sistema, visita la sezione del sito.

Dove sono le attività pianificate in 1C 8.3?

Prima che avessi il tempo di caricare il programma, molte attività in background erano state completate in 1C. Puoi visualizzarli accedendo al menu "Amministrazione", quindi "Supporto e manutenzione":

Ottieni 267 lezioni video su 1C gratuitamente:

Ecco come appare la finestra con le attività completate:

E così lista completa tutte le attività pianificate che vengono avviate:

Tra queste attività puoi vedere come "", caricare vari classificatori, verificare la pertinenza della versione del programma e così via. Ad esempio, non mi servono quasi tutte queste attività. Non tengo registri sulle valute, controllo personalmente le versioni e carico i classificatori secondo necessità.

Di conseguenza, è nel mio (e nella maggior parte dei casi nel tuo) interesse disabilitare le attività non necessarie.

Disabilitare le attività pianificate e in background in 1C 8.3

Probabilmente ogni programmatore 1C 8.3 prima o poi ha dovuto impostare l'esecuzione di determinate attività secondo un programma. Di seguito darò descrizione dettagliata di questi meccanismi, spero che lo sia informazioni utili per programmatori 1C principianti. Questo è molto conveniente, perché non richiede l’intervento umano, compito di routine può essere configurato una volta e funziona secondo il tuo programma.

Di seguito troverai istruzioni dettagliate utilizzando un esempio.

Quali sono le attività di routine e in background in 1C

  • Attività pianificate- Questo meccanismo speciale 1C impresa 8.3, progettata per eseguire un'azione specifica secondo un determinato programma.
  • Lavoro in background- oggetti generati da un'attività di routine che eseguono direttamente l'azione prevista senza la partecipazione dell'utente o del programmatore 1C 8.2.

Il meccanismo dei lavori di routine e in background opera in modalità client-server (SQL), grazie alle funzionalità del DBMS. Se si dispone di un database di file, è anche possibile configurare l'attività, ma secondo un principio leggermente diverso.

Configurazione di processi in background in modalità client-server 1C

Per prima cosa creiamo un nuovo oggetto metadati: un'attività di routine. Chiamerò il mio compito "Caricamento dei tassi di valuta". Diamo un'occhiata alla tavolozza delle proprietà di questo oggetto di configurazione:

Ottieni 267 lezioni video su 1C gratuitamente:

  • Nome del metodo— percorso della procedura che verrà eseguita in un lavoro in background secondo una determinata pianificazione. La procedura deve trovarsi in un modulo comune. Si consiglia di non utilizzare quelli standard, ma di crearne di propri. Non dimenticare che i lavori in background vengono eseguiti sul server!
  • Utilizzo- un segno di utilizzo di un compito di routine.
  • Predeterminato— indica se l'attività di routine è predeterminata. Se si desidera che l'attività di routine funzioni immediatamente dopo essere stata inserita nel database, specificare questo flag. In caso contrario, sarà necessario utilizzare l'elaborazione della Job Console o eseguire l'esecuzione del lavoro in modo programmatico.
  • Numero di tentativi quando un'attività termina in modo anomalo— quante volte il processo in background è stato riavviato se è stato eseguito con un errore.
  • Intervallo tra tentativi quando il lavoro termina in modo anomalo— la frequenza con cui il processo in background verrà riavviato se è stato completato con un errore.

E l'ambientazione più interessante è Programma:

Qui si configura l'intervallo di avvio della procedura specificato nel campo “Nome metodo”. Diciamo che ho configurato

Attenzione! Non dimenticare di disabilitare il blocco dell'esecuzione di lavori di routine e in background a livello DBMS!

Questo può essere fatto nell'utilità di amministrazione della versione client-server o quando si crea un nuovo database:

Impostazione di attività di routine in modalità file 1C

In modalità file, impostare tali lavori è un po' più difficile. Per tale attività, è necessario avviare una sessione separata del programma 1C. Questo spesso viene risolto creando un utente “tecnico” la cui sessione è sempre in esecuzione.

In modalità file, un lavoro di routine viene inizializzato quando viene avviato il metodo “RunTaskProcessing()”.

Per un utente specifico, è possibile configurare questo metodo per l'esecuzione utilizzando un altro metodo −

ConnectWaitHandler( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • Nome della procedura— il nome della procedura connessa come gestore dell'attesa. Il nome della procedura esportata di un modulo dell'applicazione gestita (un modulo dell'applicazione normale) o di un modulo condiviso globale. La procedura deve essere localizzata sul client.
  • Intervallo— periodo tra le esecuzioni delle operazioni in secondi.
  • Una volta- come completare l'attività, una volta o meno.

ConnectWaitHandler, 3600);

Un video di due minuti che mostra come impostare un'attività di routine nel configuratore 1C:

" In esso esamineremo le nuove funzionalità che non riguardano l'interfaccia di sistema, ma espanderanno in modo significativo le funzionalità fornite dalla piattaforma 1C:Enterprise 8.

Applicabilità

L'articolo discute la versione 8.3.4.437 della piattaforma 1C:Enterprise. Tutte le funzionalità descritte nell'articolo sono state aggiornate alla versione 8.3.11.

Altre innovazioni in 1C:Enterprise 8.3

Continuiamo a conoscere le innovazioni della piattaforma 1C:Enterprise 8.3.

Attività in background e di routine nell'infobase dei file

In molte configurazioni tipiche della piattaforma 8.2 c'era una costante che indicava l'utente sotto il quale venivano eseguite le attività nella versione del file.

Quando il sistema ha iniziato a funzionare con questo utente, è stato connesso un gestore di attesa, che ha richiamato il metodo del linguaggio integrato con una certa periodicità EseguiTaskProcessing().

Questo approccio ha creato ulteriori difficoltà e inconvenienti per l'utilizzo delle attività di routine nel database dei file.

Ciò potrebbe essere particolarmente critico quando si lavora con configurazioni come “Automazione completa” O "Controllo impresa manifatturiera, in cui i compiti di regolamentazione svolgono un ruolo piuttosto importante.

Se questo è il file IB allora
=
Constants.UserForExecutingRoutineTasksInFileVariant.Get();
Se chValueVariabile(“glCurrentUser”) =
UserTo ExecuteTaskRegl Poi
// con un intervallo di secondi chiamiamo la procedura per lavorare con attività di routine
SupportRegularTaskForFileVersion();
IntervalloPerPoll=
Constants.IntervalForPollingRoutineTasksInFileVariant.Get();
Se IntervalloPerPoll= Indefinito
O IntervalloPerPoll= 0 Allora
IntervalloPerPoll= 60 ;
Finisci se ;
ConnectWaitHandler("Supporto per RoutineTaskForFileVersion",
IntervalloPerPoll);
Finisci se ;
Finisci se ;

Sulla piattaforma 8.3 implementato il lavoro dei lavori in background e di routine nell'infobase dei file senza utilizzare la chiamata al metodo del contesto globale EseguiTaskProcessing().

Le attività in background e di routine vengono eseguite direttamente in una delle applicazioni client (thin, Thick Client) o da un'estensione del server Web.

Un processo in background avviato da una sessione viene eseguito dalla stessa applicazione client che lo ha avviato.

I lavori in background vengono eseguiti in sequenza, ad es. Su un'applicazione client è possibile eseguire solo un'attività in background (incluse quelle di routine) alla volta.

Le attività di routine vengono eseguite da una sola applicazione client. Per controllare l'avvio delle attività pianificate, viene utilizzato un tasto della riga di comando /AllowExecuteScheduledJobs.

Le attività di routine vengono eseguite dalla prima applicazione client nell'ordine di avvio, a cui non è vietato eseguire attività di routine (per vietare la sessione, la sessione deve essere avviata con il parametro della riga di comando /AllowExecuteScheduledJobs -Off).

Al termine della sessione, l'esecuzione passa a una qualsiasi delle sessioni in esecuzione rimanenti.

Se la riga di avvio dell'applicazione client indica esplicitamente la necessità di eseguire attività di routine (in riga di comando indicato /AllowExecuteScheduledJobs -Force), quindi su di esso iniziano ad essere eseguite le attività di routine, indipendentemente dalla presenza di altre sessioni.

Le attività di routine vengono elaborate una volta ogni 60 secondi.

Si noti che le attività di routine della soluzione applicativa (nella versione file) hanno iniziato ad essere eseguite non prima di 1 minuto dopo l'avvio dell'applicazione client. A partire dalla versione 8.3.8, questo tempo è stato raddoppiato e quindi le attività di routine iniziano ad essere eseguite al massimo 2 minuti dopo l'avvio del client (nella versione file).

Questa decisione è dovuta ad una riduzione del ritardo nell'avvio dell'applicazione. Inoltre, nella versione 8.3.7 è stata aggiunta l'abilità definizione rapida che la sessione corrente è una sessione di lavoro in background. Questo viene implementato utilizzando il nuovo metodo di contesto globale GetCurrentInfoBaseSession(), nonché un nuovo metodo per la sessione dell'infobase OttieniAttivitàSfondo().

Di seguito è riportato il codice che illustra quanto sopra:

Per ingrandire cliccare sull'immagine.

Calcolo delle somme di controllo

La piattaforma ora include meccanismi per il calcolo dei checksum dei dati.

Ricordiamolo controlla la somma(hash) è un valore calcolato da un insieme di dati applicando un determinato algoritmo e utilizzato per verificare l'integrità dei dati durante la trasmissione o l'archiviazione.

Gli hash possono essere utilizzati per verificare l'identità dei dati (ad esempio, è necessario assicurarsi che il file non sia stato danneggiato durante il trasferimento; verificare se sono state apportate modifiche al file e, in tal caso, caricarlo nuovamente nel database) .

A questo scopo è stato implementato un oggetto nella piattaforma HashingData, disponibile sul server, nel Thick Client, nella connessione esterna e anche sul server delle applicazioni mobili.

Questo oggetto ha due metodi: Aggiungere() E Aggiungi file(), che aggiornano la somma hash tenendo conto dei dati passati nei parametri.

piattaforma 8.3.4.437 supporta il calcolo delle seguenti funzioni hash: CRC32, MD5, SHA1, SHA256. Ma le funzioni SHA1 E SHA256 non sono supportati sulla piattaforma mobile.

Diamo un'occhiata a un semplice esempio. Si presuppone che sul server nella directory del programma sia presente un file “ ragent.exe" È necessario calcolare MD5-sum per questo file.

Per fare ciò creeremo un'elaborazione esterna, sul modulo sulla quale inseriremo il comando Calcolare. Il gestore contiene il seguente codice:

&SuClient
Procedura Calcola (comando)
Risultato = CalcolaSuServer();
Rapporto(Stringa(Risultato));
Fine della procedura
&Sul server
Funzione CalcolaSuServer()
Cancelletto = Nuovo HashingData(FunzioneHash.MD5);
Hash.AddFile(CatalogoProgrammi() + “ragent.exe”);
Restituisce Hash.HashSum ;
EndFunction

Nella piattaforma dell'edizione 8.3.10+ nel metodo Aggiungere() oggetto HashingDataÈ diventato possibile utilizzare un flusso di dati binari, che ne ha notevolmente semplificato l'utilizzo nella risoluzione di vari problemi applicati di aggiornamento delle somme hash.

Lavorare con versioni protette dei protocolli SMTP/POP3

Sulla piattaforma 8.3 è diventato possibile utilizzare versioni protette dei protocolli SMTP/POP3(ci sono termini SMTP/POP3S O SSLSMTP/SSLPOP3).

Per oggetto Profilo di posta Internet nuove proprietà implementate:

  • Utilizza SSLSMTP;
  • UtilizzareSSLPOP3;
  • Solo SecureAuthenticationSMTP;
  • Solo autenticazione sicura POP3.

Proprietà AutenticazioneSMTP E Autenticazione POP3 oggetto Profilo di posta Internet, nonché i trasferimenti Metodo di autenticazione SMTP E Metodo di autenticazione POP3 l'uso non è consigliato: sono supportati per compatibilità.

Utilizzando un protocollo sicuro SMTPS rende possibile inviare posta da 1C, utilizzando tramite casella di posta Google.

Diamo un'occhiata a un esempio. Sul modulo inseriremo dei campi per inserire l'oggetto della lettera e l'indirizzo del destinatario e per inserire il testo della lettera - un campo del documento formattato.

Per ingrandire cliccare sull'immagine.

Quando premi il pulsante Inviare Verrà eseguito il seguente codice:

&SuClient
Procedura Invia posta (comando) = Nuova posta Internet; Profilo = Nuovo Profilo di posta Internet;
Profilo.IndirizzoServerSMTP= “smtp.googlemail.com”;
Profilo.UtenteSMTP= “[e-mail protetta]” ;
Profilo.PasswordSMTP= “PASSWORD” ;
Profilo.UtilizzaSSLSMTP= Vero;
Profilo.PortaSMTP = 465; Tentativo
Mail.Connetti(Profilo);
Eccezione
Rapporto(DescrizioneErrore());
Ritorno ;
Finetentativo; MailMessageText= “” ;
Allegati = Nuova struttura;
Text.GetHTML(MailMessageText, Allegati ); MailMessage= Nuovo InternetMailMessage;
MailMessage.Recipients.Add(A cui );
MailMessage.Subject= Oggetto;
MailMessage.Texts.Add(MailMessageText,
MailMessageTextType.HTML); Mail.Invia ( MailMessage); Mail.Disconnect();
Fine della procedura

Tieni presente che nel nostro esempio, se il server SMTP non è stato in grado di inviare un'e-mail ai destinatari, allora il metodo Mail.Send(Messaggio di posta) ha lanciato un'eccezione. Ciò ha causato alcuni disagi agli sviluppatori, perché... Il motivo per cui è stata lanciata l'eccezione non era ovvio.

Nella versione 8.3.9, questo comportamento è cambiato e ora il metodo Send() restituisce una corrispondenza la cui chiave è il destinatario e il cui valore è la diagnostica del server di posta. Ciò consente di determinare con precisione i motivi del mancato invio di un messaggio email a ciascun destinatario. In modalità compatibilità con la versione 8.3.8, il comportamento non è cambiato.

Stampa fronte/retro

Sulla piattaforma 8.2 La piattaforma stessa non gestiva la stampa duplex; questa funzione poteva essere controllata solo tramite il driver della stampante.

Sulla piattaforma 8.3 è diventato possibile controllare la stampa fronte-retro per un foglio di calcolo, un diagramma grafico (dal linguaggio integrato e in modo interattivo) e un documento di testo (solo interattivo).

Le enumerazioni di sistema sono apparse nel linguaggio integrato:

  • Tipo di stampa fronte-retro(Nessuno, Capovolgi verso l'alto, Capovolgi verso sinistra);
  • (Auto, MirrorTop, MirrorLeft, Non utilizzare).

E per gli oggetti TabularDocument E Schema grafico sono apparse le proprietà Stampa fronte/retro E Alternanza delle disposizioni delle pagine, con il quale è possibile modificare il layout delle pagine stampate.

Nella versione 8.3.9 della piattaforma, all'enumerazione del sistema DuplexPrintType è stato aggiunto un nuovo valore Utilizzare Impostazioni stampante. La selezione di questo valore consentiva di utilizzare le impostazioni della stampante durante la stampa dei documenti di sistema. Nella modalità compatibilità 8.3.8, il comportamento è invariato e le impostazioni della stampante corrispondente vengono ignorate.

La finestra di dialogo per la pubblicazione di una base informativa su un server web è stata resa più funzionale. Ora la pubblicazione dal configuratore ti consente di impostare tutti i parametri del file default.vrd.

Per la finestra di dialogo per la pubblicazione di un client Web e di servizi Web tramite il configuratore viene implementato quanto segue:

  • capacità di controllare la disponibilità dei servizi Web per impostazione predefinita (attributo puntoAbilitaComune elemento w);
  • capacità di controllare l'esecuzione dei lavori in background nella versione del file (attributo consentire l'esecuzione di lavori pianificati elemento w).

Se la casella di controllo "Pubblica servizi Web per impostazione predefinita" sul segnalibro "Di base"è installato, durante l'aggiornamento della pubblicazione, i servizi Web selezionati verranno pubblicati automaticamente.

In caso contrario, i servizi Web verranno contrassegnati come non pubblicabili. Questo flag corrisponde all'attributo puntoAbilitaComune elemento w nel fascicolo default.vrd, destinato alla configurazione di un client Web e di servizi Web.

Attributo puntoAbilitaComune ws è responsabile della possibilità di utilizzare in questa base di informazioni servizi Web pubblicati senza indicare esplicitamente il permesso per l'uso (attributo abilitare elemento punto).

Se l'attributo ha un valore VERO, quindi tutti i servizi Web per i quali il valore dell'attributo non è specificato esplicitamente abilitare elemento punto, sarà consentito l'uso.

In caso contrario, l'utilizzo di tali servizi Web sarà vietato.

Impostazioni “Lavori in background in modalità file” corrisponde all'attributo consentire l'esecuzione di lavori pianificati ws nel file default.vrd.

Attributo consentire l'esecuzione di lavori pianificati controlla la capacità di eseguire attività di routine tramite l'estensione del server Web per la versione file dell'infobase.

L'attributo può assumere i seguenti valori:

  • spento– in questo caso, l'estensione del server web non eseguirà attività di routine. Le attività di routine verranno eseguite da un'applicazione client (se ne esiste una), che si connette direttamente all'infobase, senza utilizzare un server web.
  • forza– in questo caso, l'estensione del server web eseguirà attività di routine.
    Se il valore di questo attributo non è specificato, le attività di routine verranno eseguite dall'applicazione che verrà utilizzata per effettuare la prima connessione all'infobase.

La finestra di pubblicazione sul servizio web è diventata ancora più comoda ed ergonomica nell'attuale versione della piattaforma. Ora i parametri che descrivono l'autenticazione OpenID sono posizionati in una scheda separata.

Numerazione degli oggetti dell'infobase

Sulla piattaforma 8.3 Il meccanismo per la numerazione automatica degli oggetti della base informazioni è stato riprogettato. L'unicità di un numero o codice (compresi quelli ottenuti come risultato della generazione automatica di un numero o codice) viene sempre verificata durante la registrazione di un oggetto.

Al testo del messaggio relativo alla violazione dell'unicità di un numero o codice è stata aggiunta l'indicazione di quale numero o codice non è univoco.

L'uso di un numero o codice libero è cambiato. Nuovo numero oppure il codice viene assegnato senza utilizzare numeri o codici rilasciati, se sono già emessi numeri o codici con un prefisso grande (in ordine) del numero o del codice.

Funzioni aggregate del linguaggio di espressione del sistema di composizione dei dati

Nuove funzioni aggregate sono implementate nel linguaggio delle espressioni del sistema di composizione dei dati:

  • Ogni();
  • Qualunque();
  • DeviazioneStandarddellaPopolazione();
  • StandardSampleDeviation();
  • Campioni di varianza();
  • Varianzadellapopolazione();
  • CovariancePopulation();
  • Covarianza del campione();
  • Correlazione();
  • Pendenza di regressione();
  • Segmento di regressione();
  • Conteggio regressioni();
  • RegressionR2();
  • RegressionAverageX();
  • MediaRegressioneY();
  • RegressioneMediaSXX();
  • RegressionAverageSYY();
  • Media di regressioneSXY().

Come indicano i nomi, si tratta di funzioni statistiche, il che significa che gli sviluppatori hanno l'opportunità di creare report complessi senza dover sviluppare procedure per il calcolo dei dati statistici.

Per ingrandire cliccare sull'immagine.

Come puoi vedere dalla figura, non ci sono nuove funzioni nell'elenco a discesa, ma se le inserisci manualmente non ci sarà alcun messaggio di errore e verrà generato il report:

Anche di interesse nuova caratteristicaClassificazioneABC(). Il risultato della funzione sarà il numero della classe, partendo da 1 (1 corrisponde alla classe A, 2 alla classe B, 3 alla classe C, ecc.).

Dimostriamo come funziona questa funzione. Creiamo un nuovo report esterno “Classificazione delle merci” in base alla richiesta:

SCEGLIERE
Consumo di prodottoProdotti.Prodotto,
Consumo di prodottiProdotti.Quantità
DA
Documento.Consumo di beni.Beni COME Consumo di prodottiProdotti

Definiamo un nuovo campo calcolato Classe:

Per ingrandire cliccare sull'immagine.

Configuriamo le risorse come segue:

Per ingrandire cliccare sull'immagine.

In modalità utente, il report si presenta così:

In conclusione, notiamo che di edizione in edizione nella piattaforma 1C 8.3 il meccanismo ACS viene costantemente migliorato e perfezionato e nell'ambito del nostro articolo “per principianti” non è possibile presentare queste modifiche per intero. Sì, questo sembra superfluo, perché quando lavori sulla versione attuale della piattaforma puoi sempre utilizzare vari sistemi di aiuto per aiutarti ad analizzare questo o quell'aspetto del funzionamento di questo meccanismo.

Inoltre, non dimenticare il nostro corso separato Sviluppo professionale di report in 1C 8.3 sul sistema di composizione dei dati, che scompone all'atomo tutte le sottigliezze e le insidie ​​​​quando si lavora con questo meccanismo. Dai un'occhiata tu stesso alla demo.

Quindi, riassumiamo i risultati intermedi. Fino a questo punto abbiamo conosciuto le nuove funzionalità dell'interfaccia Taxi e dei moduli gestiti, nonché alcune funzionalità della piattaforma stessa precedentemente non fornite. Ora è il momento di vedere quali comode funzionalità sono diventate disponibili per lo sviluppatore nel configuratore.

Potrebbe essere necessario eseguire periodicamente alcune attività nella gestione dei documenti e nella contabilità. Ad esempio, il ventesimo. O quotidianamente.

In genere, un'azienda cerca di creare regole per l'esecuzione di tali compiti: chi, quando e come dovrebbe completare l'attività, chi dovrebbe controllarla.

Tali compiti sono detti regolamentati, cioè svolti in conformità con le normative.

Nell'IT, il monitoraggio viene spesso eseguito in modo regolamentato.

Questo è ben noto all'amministratore di sistema: esistono programmi speciali che controllano periodicamente le prestazioni dei server e dell'infrastruttura di rete e avvisano l'amministratore tramite SMS o e-mail.

Esistono cose simili per i webmaster: verificare la disponibilità del sito durante il giorno.

In 1C, le attività di monitoraggio e qualsiasi altra attività periodica che dovrebbe essere eseguita automaticamente in base a una pianificazione vengono eseguite utilizzando il meccanismo delle attività pianificate 1C.

Parliamo di loro oggi.

Attività pianificate 1C

Le attività pianificate 1C sono quelle che ti consentono di eseguirle come fanno, ma secondo una pianificazione.

L'attività di routine 1C stessa nel configuratore è un modo per specificare le impostazioni e impostare una pianificazione. A proposito, la pianificazione può essere modificata dinamicamente in seguito in modalità 1C Enterprise.

I lavori in background possono essere creati arbitrariamente dal testo di un programma nella lingua 1C senza un lavoro 1C pianificato, per il calcolo parallelo sul server.

L'esecuzione delle attività di routine 1C può essere disabilitata temporaneamente - in.

Aggiunta di un'attività di routine 1C

Le attività di routine 1C si trovano nella configurazione nel ramo Attività generali/di routine 1C. Aggiungiamo un nuovo compito normativo 1C e indichiamo il suo nome.

Nella proprietà dell'attività di routine 1C è indicato il nome del metodo, proprio come in. La funzione si troverà in un modulo comune con la casella di controllo Server selezionata nelle proprietà, ovvero il modulo dovrà essere aggiunto in anticipo.

La proprietà dell'attività pianificata 1C - Nome attività - determina il nome con cui l'attività verrà visualizzata negli strumenti di gestione delle attività.

La proprietà dell'attività di routine 1C – Chiave – consente di raggruppare diverse attività di routine 1C diverse. È possibile avviare un solo lavoro alla volta con lo stesso valore chiave. Il valore stesso può essere arbitrario. Un valore vuoto non viene preso in considerazione durante il controllo (cioè è considerato vuoto).

La proprietà di un'attività di routine 1C - Predefinita - determina che all'avvio di 1C Enterprise, tale attività verrà creata in un'unica copia con la pianificazione specificata nel configuratore. Le attività non predefinite vengono visualizzate a livello di codice al momento della pianificazione.

Nelle configurazioni tipiche, ad esempio l'edizione 2.0 di Contabilità, le attività 1C di routine come l'aggiornamento della configurazione e il ricalcolo dei totali sono predefinite, ma come lo scambio di dati o i movimenti differiti non sono predefiniti.

Utilizzo: abilita l'attività (ovvero, verrà eseguita solo se la casella di controllo Utilizzo è selezionata).

Riprova in caso di terminazione anomala - come puoi immaginare, significa riavviare l'attività se non è stata completata con successo la prima volta - puoi specificare quante volte riavviare e quanto tempo dopo la terminazione anomala.

1C gestione e monitoraggio delle attività di routine

Per gestire le attività 1C di routine, esiste una speciale Job Console di elaborazione standard. Può essere trovato anche su.

Questa elaborazione appartiene alla cosiddetta elaborazione standard esterna universale 1C, che spesso non è inclusa nella configurazione, ma è distribuita separatamente, ad esempio sui dischi ITS.

Utilizzando l'elaborazione della console di lavoro è possibile:

  • Abilita/disabilita l'esecuzione dell'attività di routine 1C
  • Assegnare/modificare la pianificazione di un'attività di routine 1C (e altri parametri)
  • Specificare l'utente 1C per conto del quale verrà eseguita l'attività di routine 1C
  • Scopri quali attività sono state completate, quando e con quale risultato, errori nel completamento delle attività 1C
  • Eseguire un compito.

Copie di database e attività di routine 1C

Se utilizzi il server 1C, si verifica la seguente situazione:

  • Per i propri scopi (ad esempio, per la programmazione), viene creata una copia del database di lavoro
  • Lavorare, testare, ecc. in una copia del database
  • Ti dimentichi di disattivare le attività 1C di routine in un database di test di questo tipo.

Mentre le attività di routine 1C eseguono attività relative solo alla loro base di informazioni, non contiene nulla.

Tuttavia, le attività di routine 1C possono spesso salvare file o dati in altri database, scambiarli, inviarli e-mail.

In questo caso, potresti ottenere un interessante mix tra il risultato dell'esecuzione di attività di routine 1C nel database di lavoro e le copie.

Le attività di routine 1C per le copie del database di lavoro devono essere disabilitate in .

Adempimento e mancato adempimento dei compiti normativi 1C

Quando crei attività 1C di routine, devi ricordare:

  • Le attività vengono eseguite da sole: devono essere monitorate
  • Le attività vengono eseguite in un modulo sul server
  • Le attività vengono eseguite da un utente Windows diverso, con diritti diversi.

Innanzitutto, è necessario verificare che l'attività venga eseguita e possa essere eseguita come attività di routine 1C.

In secondo luogo, il modulo server fa sì che molte cose disponibili sul client non siano disponibili. Ad esempio, a volte non tutti i documenti possono essere pubblicati solo sul server, poiché il loro algoritmo può prevedere che l'invio venga avviato manualmente dall'utente e si possono utilizzare funzioni non server, ad esempio
Avviso("Ciao!")

In terzo luogo, se un'attività riguarda qualcosa al di fuori del database 1C, diventano importanti i diritti dell'utente Windows con cui viene eseguita l'attività.

Il terzo punto è particolarmente importante durante lo sviluppo. Se il modulo non può essere eseguito sul server, l'attività non verrà eseguita affatto. Per verificare, è necessario eseguire l'attività almeno una volta e vedere il risultato "Attività completata" nell'elaborazione della Console attività.

Piattaforme: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Configurazioni: Tutte le configurazioni

2012-11-13
53992

Nella gestione dei documenti, ci sono attività che richiedono un'esecuzione periodica, ad esempio il ventesimo o ogni giorno. Di norma, le aziende creano appositamente per questo scopo certe regole, che indicano quando e come dovrebbe essere eseguita l'attività richiesta e chi dovrebbe controllare il processo. Tali compiti vengono svolti secondo norme e sono detti regolamentati.

Molto spesso, nell'IT vengono osservate norme di monitoraggio. Questo metodo è molto familiare agli amministratori, poiché a questo scopo esistono programmi speciali utilizzati per verificare periodicamente la funzionalità dell'infrastruttura di rete e dei server. Notificano all'amministratore i problemi rilevati tramite SMS o e-mail.

Un sistema simile funziona per i webmaster e la disponibilità del sito viene verificata entro 24 ore. Utilizzando il meccanismo "Attività di routine" in 1C, vengono eseguite attività di monitoraggio, nonché attività periodiche eseguite secondo un programma in Modalità automatica nel 1C. Diamo uno sguardo più da vicino a questo argomento.

Attività pianificate 1C

L'oggetto 1C, chiamato "Attività di routine", consente di elaborare le informazioni non dopo che si è verificato un problema, ma secondo una pianificazione. Nel configuratore, un'attività di routine è un modo per configurare le impostazioni e impostare una pianificazione. Inoltre, è possibile modificare successivamente la pianificazione in modalità 1C Enterprise.

Utilizzando banca dati dei file dati, le attività non vengono eseguite automaticamente. Per avviare il processo, è necessario avviare una sessione 1C in modalità 1C Enterprise e iniziare a eseguire un'attività di routine al suo interno.

Tutte le configurazioni standard dispongono di un'impostazione utente che consente di specificare che quando 1C è in esecuzione, le attività di routine verranno eseguite automaticamente.

L'utilizzo della versione client-server di 1C consente di eseguire automaticamente attività sul server. All'orario previsto, viene avviato un lavoro in background, che viene eseguito azioni necessarie. Per l'elaborazione parallela sul server, è possibile creare un lavoro in background dal testo del programma utilizzando il linguaggio 1C, senza utilizzare un lavoro 1C pianificato. L'azione di un'attività pianificata può essere temporaneamente disabilitata utilizzando la console di gestione del server 1C.

Aggiunta di un'attività pianificata

Le attività di routine si trovano in - Configuratore - Generale - Attività di routine. Aggiungi una nuova "attività" e fornisci un nome. Successivamente, devi andare alle proprietà "Attività". E seleziona Nome metodo. Qui è necessario specificare una funzione di gestione, proprio come accade nella sottoscrizione di un evento. Questa funzione sarà situato nel modulo generale e contrassegnato con un “uccellino” Server nelle proprietà. Ciò significa che il modulo richiesto deve essere aggiunto in anticipo.

Il nome dell'attività nelle Proprietà di un'attività pianificata consente di definirne il nome, che verrà poi visualizzato negli strumenti di gestione delle attività. La funzione Proprietà attività di routine è un tasto che consente di raggruppare diverse attività di routine diverse. In questo caso, è possibile avviare solo un'attività alla volta con lo stesso valore chiave. In questo caso il valore può essere arbitrario, ma deve essere compilato poiché un valore vuoto non viene preso in considerazione dal sistema.

Nella versione Contabilità 2.0, che è una configurazione standard, le attività di routine come: “Ricalcolo dei totali” e “Aggiornamento della configurazione” sono predefinite, ma come ad esempio “Movimenti differiti” e “Scambio dati” non sono predefinite.

Riprova in caso di chiusura anomala: riavvia il lavoro corrente. Progettato per eseguire un lancio che non è andato a buon fine la prima volta. Qui viene indicato quante volte è possibile riavviare e dopo quanto tempo è trascorso dopo una terminazione anomala.

Strumenti di monitoraggio e gestione delle attività di routine 1C

La “Task Console” di elaborazione standard, che si trova sui dischi ITS, è responsabile della gestione di un'attività di routine. Questa elaborazioneè un'elaborazione standard esterna universale per 1C. Di norma, non è incluso nella configurazione, ma viene acquistato separatamente.

Con il suo aiuto puoi eseguire le seguenti azioni:

Attivare e disattivare un'attività pianificata;

Assegnare e modificare gli orari;

Designare il nome utente con cui verrà eseguita l'attività di routine;

Visualizzare le attività completate (quando e con quale risultato), nonché gli errori delle attività;

Attività di routine e copie di database

Quando si utilizza il server 1C, potrebbe verificarsi il seguente momento:

Per programmare è necessario fare una copia del database di lavoro;

La necessità di lavorare su copie del database (test);

Per qualche motivo, l'attività pianificata non è stata inclusa nel database di test.

Se una di queste situazioni si è verificata durante l'esecuzione di attività da parte di un'attività di routine associata solo al suo database, ciò non comporta conseguenze negative. Ma, spesso, un'attività di routine può salvare file o altri dati, inviare e-mail e condurre scambi. In questo caso può crearsi confusione tra il risultato del “lavoro” e le copie. Per evitare che ciò accada, è necessario disabilitare le “attività” nella console di gestione del server.

Attività di routine completate e non completate

Quando si creano attività di routine, è importante verificare se l'attività può essere eseguita come attività di routine. È importante sapere che il modulo server non fa molte cose possibili sul client. Inoltre, per un'attività che si occupa di qualcosa che è esterno al database, un ruolo importante in questo è svolto dai diritti dell'utente Windows con cui viene eseguita l'attività.

L'ultimo fattore è particolarmente importante, poiché se il modulo non viene eseguito sul server, in linea di principio l'attività non può essere completata. Per verificare, è necessario eseguire un'attività e valutare il risultato.