LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam

L'errore di formato del flusso 1C Enterprise è uno degli errori più comuni che si verificano quando si lavora con i programmi 1C. Dalla pubblicazione imparerai come correggere l'errore del formato stream 1C Enterprise 8.3 senza contattare amministratori o partner 1C, utilizzando metodi collaudati.

Si lavora nel programma 1C, va tutto bene, ma qui non si sa perché sia \u200b\u200bapparso un piccolo form con la notifica "Errore formato flusso" e con le opzioni "Fine lavoro" nel programma o "Riavvia" il programma. Il riavvio, ovviamente, non porta a nulla, l'errore si ripresenta ...

... dalla pubblicazione imparerai:

Errore di formato del flusso 1C Enterprise 8.3 è uno dei più comuni nel lavoro di 1C: Enterprise e allo stesso tempo uno dei più disinformativi. Viene visualizzata una finestra con un messaggio di errore e no informazioni aggiuntivecosa e dove è rotto e come risolverlo. Pertanto, inizieremo a correggere l'errore nel formato stream 1C calcolando i motivi della comparsa di questo errore in modo da conoscere meglio il "nemico" di vista.

Perché c'è un errore di formato del flusso 1C Enterprise 8.3

Per scoprire i motivi della comparsa di un errore nel formato stream 1C 8.3, è necessario considerare l'area dati della piattaforma 1C. Qui vorrei sottolineare che la piattaforma 1C durante il funzionamento utilizza:

  • hDD , su cui vengono salvati file di impostazioni temporanei, log, informazioni sul servizio e sull'utente durante il funzionamento della piattaforma 1C;
  • netto (quando networking), attraverso il quale vengono scambiati pacchetti di dati con altri computer o server di rete (nel caso di una versione client-server di 1C Enterprise).

Inoltre, la piattaforma 1C Enterprise utilizza costantemente queste risorse.

Ora immagina che ci sia stato un aumento dell'elettricità, quindi una parte del pacchetto di rete è stata distorta e scritta in una forma errata, o l'elettricità è stata spenta e i dati scritti nella cache 1C sono stati parzialmente registrati, cosa succederà in questo caso?

Il primo passo è fare una copia dell'infobase 1C in caso di danni alla base di lavoro durante la correzione.

Un modo efficace per correggere un errore nel formato di flusso 1C Enterprise 8.3 per database di file 1C

Se stai lavorando nel versione del file 1C Enterprise, è diventato una vittima di questo flagello, quindi voglio offrire un modo per sbarazzarsene, che funziona nel 78% dei casi.

  • Per fare ciò, devi andare ed eliminare tutti i file e le cartelle, TRANNE IL FILE DI DATI 1Cv8.CD ... L'operazione richiede abilità, quindi attenzione a non esagerare! 🙂

È possibile visualizzare il percorso della directory del database di 1C Enterprise 8.3 all'avvio del programma: si troverà nella parte inferiore della finestra di avvio di 1C Enterprise 8.3.

Non preoccuparti dei file eliminati: questi sono tutti file di servizio che verranno creati di nuovo nel formato corretto la prossima volta che avvii 1C Enterprise 8.3.

  • Se il metodo proposto non ha aiutato, allora riparare basi di file 1C Enterprise 8.3 fornisce l'utilità chdbfl.exe. Controlla la struttura del tuo database usando questa utility.

L'errore di formato del flusso 1C 8.3 non è scomparso? Male! Continuiamo a leggere.

Passaggi standard per correggere un errore di formato del flusso 1C Enterprise 8.3

Sono state scritte pubblicazioni dettagliate su questi argomenti, quindi non ho nulla da aggiungere qui. Leggi gli articoli e fai tutto esattamente come scritto.

Se, dopo le manipolazioni effettuate con la base, viene ancora visualizzato "errore formato flusso", in questo caso, provare un altro metodo collaudato:

  • scaricare il database con il file * .dt, creare un database 1C vuoto e caricare al suo interno il file * .dt precedentemente scaricato. L'articolo su ti aiuterà nell'esecuzione di questa operazione.

A questo punto, è possibile correggere l'errore nel formato di flusso 1C Enterprise 8.3 nel 94% dei casi. Ma cosa fare è non dormire ???

Metodi non standard per correggere l'errore di formato del flusso 1C Enterprise 8.3

Prima di allora, tutto era stato fatto operazioni standard per correggere questo errore, e se l'errore non è stato eliminato fino a questo punto, allora dovrai fare "creatività". Questo processo è anche chiamato "ballare con i tamburelli" o "sciamanesimo" ... Pertanto, se non hai "ballato" prima, allora un errore nel formato dello stream 1C Enterprise 8.3 può costituire una coppia eccellente per te. Quindi continuiamo:

  • Prova a caricare il file * .dt in un nuovo database creato da su un altro computer... Ciò eliminerà la possibilità di funzionare in modo errato hardware o programmi per computer in cui si trova la base.
  • Disinstallare (RIMUOVERE tramite Installazione applicazioni) la piattaforma 1C e reinstallarla, preferibilmente ultima versione... Si escludono file eseguibili della piattaforma che non funzionano correttamente, che potrebbero essere contaminati da virus o settori "spruzzati" disco rigido o in altri modi.
  • Aggiorna la configurazione per il rilascio successivo o carica la configurazione corrente da un file * .cf con la sostituzione completa dell'oggetto.
  • Disattiva il firewall e il software antivirus. Esiste la possibilità che il file eseguibile sia stato notato in attività sospetta dall'antivirus e sia stato messo in quarantena o sia rimasto sotto stretto controllo bloccando le azioni "pericolose". In ogni caso escludiamo l'opzione di quarantena antivirus.
  • Elimina i file temporanei dal tuo computer. Si trovano in diversi posti:
  1. Nel profilo utente, per cercare, immettere % Temp% nella barra degli indirizzi dell'esploratore.
  2. Nella cartella C: \\ Windows \\ Temp
  3. A volte sull'unità C: \\ Temp
  • Un altro metodo veniva applicato una volta quando nulla aiutava: creavano un'immagine iniziale completa del database e poi lo scollegavano dal RIB, rendendolo indipendente. Abbiamo ottenuto la stessa base facendo passare quella iniziale attraverso i meccanismi RIB (come attraverso un tritacarne 🙂).

Un altro paio di modi per correggere l'errore di formato del flusso 1C Enterprise 8.3

Ci sono un altro paio di modi con un approccio da hacker:

  • caricare il file * .dt nel database client-server (se il database con un errore nel formato del flusso client-server, allora lo facciamo su di esso, dopo aver fatto una copia) e cancellare il file da tutti i record nella tabella " configsave»Tramite la console del software.
  • c'è un controllo del formato del flusso nell'utilità Tool_1CD. Scarica questa utility e controlla il flusso.

I modi per correggere l'errore di formato del flusso descritto nella pubblicazione sono stati testati nella pratica: funzionano!

Spero di non aver dimenticato niente. Se all'improvviso mi viene in mente qualcos'altro, completerò sicuramente la pubblicazione.

Tutti i lettori sono di ottimo umore! Lascia che l'errore di formato del flusso ti aggiri !!! 😉

Se non si capisce qualcosa nella domanda su come viene corretto l'errore nel formato di flusso 1C: Enterprise 8.3, è possibile porre una domanda nei commenti all'articolo o all'indirizzo.
Per non perdere l'articolo su Internet, salvalo per te stesso in social networks o segnalibro.


Errore di formato del flusso 1C - metodo di correzione

Descrizione dell'errore di formato del flusso in 1C 8.3

L'errore di formato del flusso in 1C si verifica più spesso tra tutti gli utenti. E di solito in questi casi è difficile spiegare il suo aspetto: sembra che abbiano funzionato in 1C, tutto è come al solito. Ancora una volta lanciando 1C, otteniamo il seguente messaggio:

Nessuno dei pulsanti Errori formato flusso consente di avviare il database e continuare a lavorare. Proprio perché questo errore è il più diffuso e frequente, ne spiegheremo prima le cause, e solo successivamente si procederà a considerare i metodi per risolverlo.

Motivi per la comparsa di un errore di formato del flusso in 1C 8.3

Un errore di formato del flusso in 1C è associato alla lettura della cache del database durante l'accesso. Contanti, per parlare in parole semplici, si tratta di informazioni ausiliarie (impostazioni, preferiti, comandi frequenti, ecc.) 1C, memorizzate in file separati dalla base. Durante il funzionamento, 1C accede regolarmente alla cache. Se si verifica una situazione in cui questa chiamata è stata interrotta (durante un'interruzione di corrente, problemi di rete, arresto di emergenza di 1C), la cache potrebbe essere scritta con errori. In questo caso, al prossimo avvio, la lettura della cache porterà a questo stesso errore: un errore nel formato del flusso in 1C.

Modi per risolvere gli errori di formato del flusso in 1C 8.3

Prima di iniziare a risolvere il problema in uno qualsiasi dei modi, assicurati di farlo backup base! Questo ti aiuterà a tornare al risultato originale nei casi in cui il tentativo di risolvere il problema non ha successo.

Per creazione veloce della copia di backup, aprire la cartella con la base (come si fa nel metodo n. 1) e copiarne il contenuto in qualsiasi altra posizione. Eseguire lavori sulla correzione degli errori solo con una copia di backup!
1.
2.
3.
4.
5.
6.

Cancellazione della cache del database 1C

Il metodo più semplice e utile nella maggior parte dei casi è svuotare la cache del database 1C. Per fare ciò, avvia 1C: Enterprise e scopri il percorso in cui è archiviato il database:

Apriamo questa cartella in Explorer ed eliminiamo tutti i file tranne il file di base, come mostrato nella figura seguente. Si noti che il numero di file può differire, tutti devono essere eliminati, tranne uno - 1Cv8 (file infobase).

Cancellazione della cache 1C

Il prossimo modo è svuotare la cache 1C: Enterprise. Per fare ciò, è necessario aprire le cartelle in cui sono archiviati. Su Windows 7 e versioni successive, ce ne sono due:

C: \\ Users \\ Username \\ AppData \\ Roaming \\ 1C

C: \\ Users \\ Username \\ AppData \\ Local \\ 1C

Dovresti eliminare la cartella 1cv8 in entrambi:

Dopo aver svuotato la cache, prova ad accedere nuovamente al database. L'errore rimane? Prova il seguente metodo.

Correzione del database utilizzando l'utilità chdbfl.exe

Forse l'errore di formato del flusso potrebbe essere correlato a errori nel database stesso. Per fare ciò, controlla con programma speciale chdbfl.exe, fornito con 1C: Enterprise. Per fare ciò, vai alla cartella con il programma (il più delle volte è C: \\ Programmi \\ 1cv8 \\ 8.3.XX.YYY \\ bin \\) e trova il file chdbfl.exe:

Una volta aperto, fai clic sui puntini di sospensione a destra angolo superiore e trova il file di database danneggiato. In base al metodo sopra, possiamo dire che questo è lo stesso file di database che non hai eliminato durante lo svuotamento della cache.

Successivamente, seleziona la casella Correggi errori rilevati e fai clic su Esegui. Attendi la fine del controllo e prova ad avviare il database. L'errore rimane? Prova il seguente metodo.

Collaudo e fissaggio della base tramite il Configuratore

Il modo successivo per risolvere gli errori di formato del flusso in 1C è provare e correggere il database, disponibile dal Configuratore.

Avviare 1C: Enterprise tramite la modalità Configuratore:

Nel configuratore aperto, selezionare Amministrazione - Test e riparazione:

Nella finestra che si apre, impostare le impostazioni come nell'immagine sottostante e fare clic su Esegui.

Attendi la fine di tutte le procedure. Chiudi il Configuratore e prova ad entrare nel database. L'errore rimane? Prova il seguente metodo.

Scaricamento e caricamento del database tramite dt

Questo metodo può aiutare a eliminare tali errori che non vengono eliminati dai paragrafi 3 e 4 di questo articolo. Entra nella base tramite la modalità Configuratore, come nel metodo sopra. Seleziona Amministrazione - Carica infobase:

Nella finestra che si apre, seleziona la posizione di scarico. Può essere qualsiasi cosa, l'importante è ricordare questo posto.

Dopo aver fatto clic su Salva, attendi fino al completamento del caricamento. Esci dalla modalità Configuratore. Aprire nuovamente 1C: Enterprise e selezionare Aggiungi - Crea una nuova infobase - Crea una infobase senza configurazione - Avanti - Fine.

Aprire il database creato tramite il Configuratore e fare clic su Amministrazione - Carica infobase. Nella finestra che si apre, specifica il file di caricamento che hai appena generato. Attendi il termine del download, chiudi il Configuratore e prova ad accedere al nuovo database scaricato. L'errore rimane? Prova il seguente metodo.

Metodi avanzati per risolvere errori di formato dati 1C

Una considerazione dettagliata dei metodi avanzati per risolvere gli errori di formato dei dati in 1C va oltre lo scopo di questo articolo, poiché per utilizzarli, è necessario avere una certa conoscenza nel campo della gestione di un computer, quindi le istruzioni e le note su ciascuno di essi sarebbero piuttosto voluminose.

Ci limiteremo a elencarli:
1. Scaricamento e caricamento dei dati tra un database non funzionante e uno vuoto utilizzando l'elaborazione "Scaricamento e caricamento dei dati XML".
2. Devono essere messe in ordine versioni differenti dell'1C utilizzato, che lavorano nello stesso database attraverso la rete (per maggiori dettagli, vedere).
3. Disabilitare IPv6 tramite il registro di Windows.
4. Reinstallazione o aggiornamento di 1C: Enterprise.
5. Trasferimento del database su un altro computer e tentativo di eseguirlo da lì.
6. Disabilitare o rimuovere firewall e / o antivirus.
7. Verifica del formato del flusso utilizzando l'utility Tool_1CD
8. Aggiorna la configurazione con il file .cf.

Problema "Errore di formato del flusso in 1C 8.3" non risolto? Ottieni una consulenza gratuita dai nostri esperti per risolvere questo problema!

Ci sono situazioni in cui, lavorando con 1C 8.3 o 8.2, viene visualizzato l'errore "Errore DBMS: errore interno del componente dbeng8". Naturalmente, la sua descrizione non è così istruttiva come vorremmo che fosse.

In questo caso, molto probabilmente, la struttura della memoria interna delle tabelle nel database della soluzione applicata che stai utilizzando è rotta. Non disperare, l'errore viene trattato e, se usi tutti i nostri consigli, molto probabilmente sarai in grado di risolverlo.

Si prega di notare che prima di procedere con i metodi descritti di seguito, necessariamente ... Non creare problemi inutili per te stesso.

In casi come questo, come per la riparazione di qualsiasi cosa, è sempre meglio iniziare dal semplice al complesso. Pertanto, il primo passo è installare l'ultima versione della piattaforma 1C. Se lo stai già utilizzando, o per qualche motivo non vuoi aggiornarlo, puoi semplicemente sostituire la libreria "dbeng8.dll" prendendola dalla directory con un'altra programma installato, sia sul tuo PC che sull'altro.

Nel nostro caso, si trova nella directory "D: \\ Programmi (x86) \\ 1cv8 \\ 8.3.9.2170 \\ bin", poiché la piattaforma stessa è installata lì.

Test e fissaggio in 1C

Spesso, il metodo con l'aggiornamento della piattaforma non sempre aiuta, poiché l'errore risiede nel database stesso. In questo caso, con una probabilità molto alta, ti aiuterà.

Tramite il configuratore

Il problema viene risolto in questo modo dal configuratore. Vai al menu "Amministrazione" e seleziona "Prova e correggi ...".

Nella forma apparsa preset rimuovere i flag dalle voci "Reindicizzazione tabelle infobase" e "Ricalcolo dei totali". Questi componenti aggiuntivi non avranno un ruolo nella correzione del nostro errore, ma aumenteranno solo il tempo di elaborazione.

Dopo aver fatto clic sul pulsante "Esegui", il programma avvierà il processo di test e correzione dell'infobase, che può richiedere molto tempo. Al termine, ti verrà presentato un rapporto completo.

Utilità "chdbfl.exe"

Questa utilità è analogo a test e patch ed è inteso per infobase di file. Non è necessario cercare in Internet dove scaricarlo. Questa utility è inclusa nella fornitura della piattaforma 1C stessa e si trova nella stessa cartella della libreria a cui fa riferimento l'errore che stiamo correggendo.

Inoltre, devi scoprire dove si trova l'infobase in cui hai ricevuto l'errore. Selezionalo nell'elenco delle infobase e nella parte inferiore della finestra, questa informazione sarà a tua disposizione.

Ora apriamo il file stesso e nel campo “Nome file database” selezioniamo il file “1Cv8.1CD” dalla directory di cui abbiamo appena scoperto l'indirizzo.

Dobbiamo non solo eseguire la diagnostica, ma anche ripristinare la base di informazioni per funzionare. A tal proposito, in questa situazione, è necessario impostare il flag sulla voce "Correggi errori rilevati".

Questi e alcuni altri metodi sono discussi anche in questo video:

I contabili spesso hanno a che fare con il messaggio "Errore durante il caricamento dei metadati 1C", che causa un allarme attivo, perché la maggior parte dei contabili inesperti semplicemente non sa come capire come correggere un tale errore, come far funzionare di nuovo il programma senza problemi.

L'essenza dell'errore è l'assenza del file necessario nel database.

Prima di tutto, dovrebbe essere chiaro che il messaggio "Errore durante il caricamento dei metadati in 1C 7.7" si verifica quando il software non è in grado di rilevare direttamente il file di metadati stesso nell'infobase all'avvio.

Questo problema può verificarsi anche quando questo file è stato danneggiato accidentalmente. A proposito, quei contabili che ignorano le regole per il corretto spegnimento di un PC spesso devono fare i conti con tali danni. Naturalmente, a volte i fattori esterni provocano questo quando l'alimentazione viene improvvisamente interrotta.

Soprattutto un arresto errato provoca un tale errore se i database si trovano su un supporto rimovibile. Ovviamente, se questo supporto rimovibile si guasta, non sarà possibile utilizzare i metadati registrati su di esso. Non si dovrebbe escludere la possibilità che il problema sia sorto a causa della penetrazione di un software antivirus sul PC.

Come correggere l'errore

Se diventi un testimone del messaggio "Errore durante il caricamento dei metadati in 1C su Windows 7", metti da parte il panico, concentrati e inizia a capire come risolvere il problema. Credimi, se segui i consigli, questo problema non ti sembrerà così spaventoso e incredibilmente difficile.

Ovviamente, devi capire che non solo i danni, ma diversi contemporaneamente possono portare a un errore dei metadati in 1C 7.7. Solo per il fatto che il programma carica inizialmente il file md, rilevandone il danneggiamento, lo segnala con il messaggio "1C metadata error". Semplicemente non puoi scoprire immediatamente il resto dei malfunzionamenti dei componenti di base, poiché il programma semplicemente non ti avvisa.

Sfortunatamente, potresti persino provocare un problema così terribile per te con le tue stesse mani. Ciò accade spesso quando si desidera riscrivere un file MD utilizzando una copia. Questo è un errore catastrofico per il programma, quindi non sorprende affatto che cominci a "vendicarsi" dei contabili per il suo trattamento inetto. Per riscrivere le informazioni, è inaccettabile farne una copia.

Algoritmo di azioni

Per non danneggiare ulteriormente il programma, è importante seguire rigorosamente le raccomandazioni degli utenti esperti. Se viene trovata una infobase già danneggiata, non affrettarti a intraprendere alcuna azione finché non ne fai una copia settore per settore.

Se segui questi consigli, il database può essere facilmente ripristinato in seguito. Sfortunatamente, coloro che ignorano questi suggerimenti potrebbero non essere in grado di risolvere il problema tecnico del sistema. Quindi, se 1C Enterprise ha un errore durante il caricamento dei metadati, prima di tutto controlla se il programma stesso vede il percorso all'infobase.

Se vede, non affrettarti a procedere con i passaggi successivi, controlla la correttezza del percorso specificato. A volte in caso di errore di sistema, il percorso diventa errato, ovviamente, utilizzare base di informazioni il programma non può, per questo motivo non verrà caricato correttamente. Sfortunatamente, se il percorso è corretto, il problema è ancora più serio, ma può anche essere affrontato.

Iniziamo a cercare le cause del problema se il software vede questo file, ma non riesce a leggerlo. Ti invitiamo ad aprire windows Explorere quindi provare a creare una copia esatta del file di configurazione posizionandolo su uno spazio su disco diverso.

Se, anche con tali azioni, viene visualizzato un messaggio di errore che indica che il file non può essere letto, allora c'è un'alta probabilità che il tuo disco, su cui è salvato il database, sia semplicemente danneggiato. A volte ciò accade quando la protezione è installata su un disco rimovibile che limita i diritti di lettura.

Sfortunatamente, molto spesso i contabili si trovano di fronte al fatto che il file può essere letto, ma risulta essere danneggiato a causa di attacco di virus, arresto errato e altre cose. Quindi, prima di procedere con ulteriori passaggi, è molto importante fare un backup, che si posiziona su uno spazio su disco diverso.

Va bene se i contabili creano periodicamente una copia di backup, quindi è sufficiente decomprimere questa copia e sostituire il file danneggiato con questa copia. Se semplicemente non esiste un tale archivio di "salvataggio", utilizzare l'aiuto "amichevole" dell'utilità GComp. Questa utility aiuta a decomprimere il file di configurazione, quindi a comprimerlo altrettanto correttamente, ripristinando il programma per funzionare.

Si consiglia inoltre di visualizzare il nome del file utilizzando un qualsiasi editor HEX. Se scopri che non ha nulla a che fare con il composto, significa che qualcuno lo ha mangiato con un enorme appetito. Nella maggior parte dei casi, dopo l'intervento di un virus, non è più possibile eseguire operazioni con tale file.

Se il tuo programma ha una configurazione standard, cerca la stessa su Internet, dopo aver completato una ricerca con successo, sostituiscila. Ovviamente, se il file conteneva estremamente informazioni importanti, è meglio affidare tutte queste manipolazioni a professionisti, che nella maggior parte dei casi potranno restituire ciò che hai perso.

È importante capire che quando si decide di ripristinare i metadati in modo indipendente, il rischio di errori irreversibili è molto più alto rispetto al caso di un errore di sistema. Per questo motivo, adotta un approccio responsabile alla risoluzione di questo problema, segui scrupolosamente tutte le istruzioni per ottenere soddisfazione da un risultato eccellente.

All'inizio di un contratto legale, specialmente nel campo IT, di solito c'è una sezione chiamata Termini. Spiega cosa significa o include questa o quella parola IT.

Ma a parte parole molto complesse come un server o un sito, anche quelle normali, parole ben note ai programmatori possono significare qualcosa di completamente diverso. Ad esempio errori. In un senso umano comune, questa parola significa azione sbagliata. Qualcosa di cui il suo autore potrebbe persino vergognarsi.

Nel senso del programmatore, la parola errore ha probabilmente due qualifiche.

Cosa significa il termine "errore" nella programmazione e in 1C

Un errore è un comportamento del programma diverso da quello previsto. Ogni computer è un insieme unico di programmi e hardware, diverso da un altro computer.

La standardizzazione sia dell'hardware che dei programmi ci consente di presumere che i programmi funzioneranno allo stesso modo su tutti i computer, tuttavia, in effetti, possono sempre esserci determinate circostanze in cui l'autore del programma sarà sorpreso del perché il programma ora funziona esattamente come fa e non altrimenti.

È anche possibile includere qui quelle situazioni in cui il programma fa qualcosa di sbagliato, perché il programmatore ha dimenticato qualcosa o non ci ha pensato.

Un errore è un messaggio speciale del programma sulle circostanze, quando il programma non può fare come avrebbe dovuto. Può sembrare che sia la stessa cosa, ma non lo è.

Ad esempio, un programmatore pensava che prima l'utente avrebbe aperto un file e poi il programma avrebbe fatto questo e quello. Tuttavia, quando il programma è stato copiato per l'utente sul computer e l'utente si è dimenticato di aprire il file. Oppure ho provato ad aprirlo, ma il file si è rivelato errato o il disco rigido era "rotto".
E il programma dice all'utente: Ehi, ecco un errore! Non posso fare quello che devo.

Gli errori 1C hanno diversi livelli: in primo luogo, possono appartenere i messaggi di errore 1C, che segnala l'impossibilità di eseguire qualsiasi azione che ha dovuto eseguire a causa delle circostanze.

Il secondo livello sono gli errori 1C in un programma 1C. Sì, la piattaforma esegue un programma scritto con successo da un programmatore 1C, ma il programma potrebbe essere scritto in modo errato o anche non può essere eseguito in determinate circostanze (su questo computer, con tali azioni di un utente specifico, ecc.).

Il terzo livello è rappresentato dagli errori 1C nei dati. I dati nel database sono interconnessi tra loro. Tuttavia, possono verificarsi situazioni in cui i dati sono "danneggiati". Ad esempio, uno dei moduli non ha una convalida sufficiente per consentire a un utente particolarmente creativo di inserire qualcosa in modo errato. Inoltre, il programma potrebbe funzionare in modo errato, perché l'algoritmo non presumeva che qualcuno l'avrebbe inserito.

Messaggio di errore 1C

1C segnala un errore di esecuzione del programma nella lingua 1C utilizzando una finestra standard con il testo dell'errore 1C e i pulsanti OK e Altro.

E il segreto qui è che questa finestra mostra solo un breve messaggio di errore 1C, che spesso non dice nulla al programmatore.

Per vedere quello completo, è necessario fare clic sul pulsante Dettagli. Anche la riga del programma in cui si è verificato l'errore 1C verrà visualizzata lì. Puoi anche andare direttamente al configuratore a questa riga.

Ma gli utenti non lo sanno .. E inviano sempre uno screenshot di quella prima finestra. Se inviano 🙂

Lanciare un'eccezione

Quindi, consideriamo un errore 1C nella programmazione come un modo / opportunità per un programma di informare l'utente che non può fare qualcosa.

Esempio. Devi aprire il file. Ma all'apertura, sono possibili errori 1C, ad esempio l'utente non ha accesso per leggere il file. Possiamo scrivere così:


Se File \u003d False Allora
Report ("Impossibile aprire il file");
Altrimenti
// il programma va avanti, fai qualcosa con il file
Finisci se;

In questo esempio, abbiamo considerato che il file non può essere aperto utilizzando la costruzione "If".

però questo esempio ci sono evidenti svantaggi:

  • Possono esserci molte di queste opzioni (il file non si aprirà, il file non verrà letto fino alla fine, l'utente è ubriaco, l'elettricità è spenta ..)
  • Potrebbero esserci opzioni non contabilizzate a cui il programmatore non ha pensato.

Pertanto, nella programmazione, è consuetudine utilizzare una tecnica chiamata "lancia un'eccezione", ovvero consentire che si verifichi un errore 1C.

Il programma finge che il file si aprirà comunque. Nessun "If" è scritto. Se qualcosa va storto, il programma stesso segnalerà un errore 1C - la sua esecuzione verrà interrotta.

1C stesso non apre il file: chiama il comando API di Windows... Anche Windows è scritto utilizzando questa tecnica. Quindi, puoi immaginare una catena di esecuzioni di interrupt a partire da Windows:

  • Lingua 1C - comando per aprire il file
  • Piattaforma 1C - comando per aprire il file
  • API di Windows: comando per aprire il file
  • Programma assembler - comando per aprire il file
  • Ops! Il file non si apre!
  • Programma di assemblaggio interrotto!
  • Funzione API di Windows interrotta!
  • Esecuzione del programma della piattaforma 1C interrotta!
  • Il programma 1C è stato interrotto!
  • L'utente vede il messaggio.

Domanda: chi visualizza quindi il messaggio di errore 1C? Da dove viene?

Catturare e gestire un'eccezione

Questo ci porta al trucco successivo: catturare le eccezioni lanciate durante l'esecuzione di questa catena.

Le eccezioni fluiscono dal livello di esecuzione più basso lungo la catena. Se l'ultimo livello non ha gestito l'eccezione, lo farà il livello precedente.

Esempio. Gestiamo l'eccezione nel linguaggio 1C:
Tentativo
File \u003d OpenFile (FileName);
String \u003d File.Read ();
Un'eccezione
Report ("Impossibile aprire il file: non esiste o non dispone dei diritti di accesso");
Fine dei tentativi;

In questo esempio, abbiamo gestito noi stessi l'eccezione (cioè un'eccezione o un errore 1C). Pertanto, siamo noi che informiamo l'utente dell '"errore" che si è verificato - l'impossibilità di aprire il file.

Quando lo facciamo da soli, potremmo non dire nulla all'utente, ma semplicemente scegliere una versione diversa dell'esecuzione del programma.

È facile vedere che questo metodo può essere utilizzato, anche nel caso in cui in una certa parte del codice potrebbe verificarsi "qualche" errore 1C. Lo "catturiamo" ed elaboriamo o informiamo l'utente al riguardo.

Cosa succederà se non intercetti e gestisci l'errore 1C al nostro livello "massimo"? Quindi il livello successivo di seguito lo segnalerà: la piattaforma 1C. Come lo fa, abbiamo appena parlato e guardato nello screenshot.

Cosa succede se la piattaforma non funziona? Esatto: di solito funziona a un livello inferiore: Windows. In questo caso, il programma 1C andrà in "crash" e Windows segnalerà che il programma ha eseguito un'operazione illegale e verrà chiuso.

Cosa succede se Windows non lo gestisce? Probabilmente hai visto questo: il computer si bloccherà o si riavvierà.

Intercettazione e transazioni annidate

Quali messaggi pensi che l'utente vedrà durante l'esecuzione di questo esempio?

Tentativo
Tentativo
f \u003d 1/0;
Un'eccezione
Report ("Errore specifico");
Fine dei tentativi;
Un'eccezione
Report ("Errore generale");
Fine dei tentativi;

Destra! Il gestore interno si attiverà e segnalerà un "Errore specifico", ma quello esterno non funzionerà.

Tuttavia, dal punto di vista del programma, qui si è verificato un errore 1C, sebbene sia stato risolto. Da qualche parte nel mio cervello, la piattaforma ha ricordato: c'era un errore 1C.

Questo è importante per l'esecuzione delle transazioni. Una transazione è una serie di azioni sui dati in un database che dovrebbero essere eseguite solo insieme. A quanto pare, gli errori 1C possono essere la causa del loro fallimento insieme. Pertanto, esiste il seguente meccanismo:

StartTransaction ();
// ha creato il riferimento 1, ma in realtà non ha scritto nel database
Ref1.Write ();
// ha creato il riferimento 2, ma in realtà non ha scritto nel database
Ref2.Write ();
CommitTransaction ();
// questo comando ha scritto tutto ciò che è stato fatto a partire da "StartTransaction" nel database

La funzione CommitTransaction () può essere eseguita solo se non si sono verificati errori 1C dopo la chiamata StartTransaction ().

Se, durante la scrittura di un codice di questo tipo, si capisce che questa riga di codice potrebbe contenere un errore 1C, è possibile impostarla in modo che venga elaborata utilizzando Tentativo / Eccezione. Tuttavia, in questo caso, la piattaforma terrà comunque conto del fatto che si è verificato un errore 1C e non eseguirà il commit della transazione e non scriverà i dati nel database.

Errori 1C non intenzionali

Quindi, nel programma 1C, il programmatore può commettere un errore 1C. In questo caso, la piattaforma 1C lo segnalerà.

Nel caso in cui non sia possibile capire perché e quando si verifica un errore 1C di questo tipo, è possibile utilizzare Tentativo / eccezione per gestire l'errore 1C.

Anche Try / Elimina può essere utilizzato quando si desidera creare una sezione del programma senza errori garantita. Puoi essere sicuro che anche se si verifica un errore 1C, lo prendi e lo risolvi in \u200b\u200bun modo speciale.

Errori intenzionali 1C

Puoi fingere nel testo del programma che il file si aprirà sempre e il numero sarà sempre diviso. Ma usa Attempt / Exclude come un modo per passare il programma a una correzione diversa nel caso in cui ciò accada. Oppure informa l'utente dell'errore 1C.

Proprio chiamata di errore 1C

È possibile creare in modo indipendente funzioni che, se non possono essere eseguite, possono segnalarlo generando un'eccezione.

Puoi farlo in questo modo:

Funzione DoWhat (parametro)
If Parameter \u003d Undefined Then
CallException "Errore nella funzione DoSomething. Il parametro non è specificato ";
Finisci se;
EndFunction

Cosa serve? Nel caso in cui crei una funzione che utilizzerai in molti posti, e forse altri la useranno, questo è un bel modo per uccidere diversi piccioni con una fava:

  • Risolvi l'errore 1C
  • Segnala un errore 1C a un livello superiore (al programma che ha chiamato questa funzione)
  • Segnala non solo l'errore 1C, ma anche testo / dettagli
  • È garantito l'interruzione dell'esecuzione non solo della funzione, ma anche di tutti i livelli, se il programmatore che li ha scritti non pensava che un tale errore 1C potrebbe non averlo elaborato.

Modi più corretti per segnalare l'errore 1C

Di solito quando è necessario comunicare qualcosa all'utente, vengono utilizzati.

Tuttavia, in configurazioni tipiche, come Contabilità, Gestione commerciale, SCP - esiste una funzione speciale:
General Purpose.InformObject ("Text");

I suoi vantaggi:

  • La forma del messaggio dipende dal client in esecuzione
  • Scrive le informazioni nel registro
  • In alcune configurazioni, viene implementata una forma più bella di messaggio di errore 1C.

Analisi degli errori

Quando la piattaforma 1C è in esecuzione, il registro di registrazione funziona Oltre alle azioni dell'utente, salva anche le informazioni sugli errori 1C che si sono verificati durante il funzionamento della piattaforma 1C.

Nel configuratore selezionare la voce di menu Amministrazione / Registro.

Fare clic sul pulsante Filtro (come nell'immagine). Impostare la selezione degli eventi solo per errori 1C.

Il registro visualizzerà un elenco di errori che si sono verificati. Fare clic su una riga per visualizzare un messaggio specifico in modo più dettagliato.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam