Contacte

Cele mai frecvente erori 1C și metode de corectare a acestora. Cele mai comune erori 1C și metode de corectare a acestora Erori în programul 1C 8

Toată lumea știe că orice software poate da diverse erori din când în când sau, pur și simplu, nu funcționează corect. Se numesc astfel de defecțiuni care duc la întreruperea funcționării corespunzătoare a sistemului greșeli. Programul 1c este un produs software (software), prin urmare, în acest program pot apărea și diverse erori care duc la funcționarea incorectă a sistemului. poate fi foarte divers, iar dacă nu aveți o serie de cunoștințe speciale în domeniul programării și specificul mecanismelor interne ale 1C, atunci nu veți putea înțelege și diagnostica corect eroarea, cu atât mai puțin să o corectați. Oricare dintre programatorii noștri 1c este întotdeauna gata să vă ajute în rezolvarea oricăror probleme legate de 1s erori!

Ce cauzează erori în baza de date 1C?

Acum să vorbim puțin despre de ce se pot întâmpla diverse lucruri. erori în baza de date 1s atunci când lucrați cu programul. De fapt, pot exista o mulțime de motive și toate pot avea motive complet diferite. Și totuși, vom încerca să înțelegem în termeni generali motivul apariției diverselor erori în 1s.

Tipuri de erori în baza de date 1C

Erori în 1s Pot exista o mare varietate și se pot întâmpla din mai multe motive. În acest articol nu vom lua în considerare toate erorile 1c posibile; vom încerca să evidențiem așa-numitele „tipuri” principale de erori întâlnite. În mod convențional, le numim „tipuri”, deoarece conținutul erorii pe care ți-o arată programul este întotdeauna diferit, dar esența este adesea aceeași. Deci, să le evidențiem pe cele mai comune erori în baza de date 1s:

  1. Eroare de format de flux
  2. Câmpul obiect nu a fost găsit
  3. Metoda obiectului nu a fost găsită
  4. Memorie insuficienta
  5. Erori legate de tabelele SQL (relevante pentru serverele 1C care rulează pe baze de date relaționale, cum ar fi MySQL)
  6. Eroare de acces 1s

Eroare de format de flux în 1s

Eroare de format de flux 1s

Câmpul obiect nu a fost găsit

Câmpul obiect nu a fost găsit

Indicele este în afara limitelor matricei

Eroare 1c

Eroare de format de flux în 1s

Această eroare apare foarte des atunci când o secvență de comenzi este citită eronat din bytecode într-un flux, motiv pentru care este numită Eroare de format de flux 1s. Orice tranzacție va fi anulată dacă această eroare apare ca urmare a executării acesteia. Astfel de erori necesită corectare imediată, deoarece pot dăuna funcționării sistemului 1C Enterprise. Aceste erori pot fi corectate numai de programatori calificați 1c.

Câmpul obiect nu a fost găsit

Dacă sistemul 1c vă dă un mesaj de eroare cu textul „ Câmpul obiect nu a fost găsit„, aceasta înseamnă că eroarea apare într-o situație în care programul încearcă să acceseze un atribut (câmp) al unui obiect care pur și simplu nu există. Această eroare are natura unei „erori de rulare” dacă apare în 1C Enterprise. Erori de acest fel pot fi, de asemenea, doar programatori corectați.

Indicele este în afara limitelor matricei

O matrice în programare este o anumită zonă de memorie în care sunt stocate multe obiecte de același tip (în 1c astfel de tipuri pot fi, de exemplu, DirectoryLink, DocumentObject etc., precum și orice tipuri primitive precum număr, șir, boolean). , etc.). Eroare 1c asociat cu trecerea dincolo de limitele unei matrice are loc tocmai atunci când un program accesează limitele memoriei care este alocată matricei. În consecință, programul în acest caz generează o eroare și anunță utilizatorul (programatorul) că are loc un acces în afara matricei, iar aceasta, la rândul său, este o eroare software.

Metoda obiectului nu a fost găsită

O eroare similară apare atunci când sistemul încearcă să acceseze o metodă (funcție) a unui obiect a cărui descriere nu există în cod. Erorile de acest tip pot fi corectate de programatori.

Nu este suficientă memorie în 1 secunde

Această eroare apare dacă sistemul rămâne fără toată memoria RAM alocată pentru nevoile de execuție a programelor în sistemul de operare, motiv pentru care programul generează eroarea " Nu este suficientă memorie în 1 secunde„. Poate să apară în timpul diferitelor evenimente precum actualizarea unei configurații, procesarea unui fișier mare, la generarea unui raport, la încărcarea unei baze de date mari etc. Utilizatorul poate încerca să repare singur o astfel de eroare.

Posibilă remediere pentru eroarea 1c „Memorie insuficientă”

Eroarea constă în alocarea limitată a memoriei de adrese de către sistemul de operare pentru software (software).
Limitele implicite ale memoriei adresei sunt:

  • pentru un sistem pe 32 de biți – 2 GB
  • pentru 64 de biți – 4 GB

Pentru a crește dimensiunea memoriei adresei, trebuie să faceți următoarele:

  1. Lansați linia de comandă: „Start – Run” - tastați CMD și apăsați Enter
  2. Acum, în linia de comandă, introduceți textul fără ghilimele „bcdedit /set increaseuserva 3072″, unde 3072 este dimensiunea memoriei de adrese dorite
  3. Reporniți sistemul de operare (calculatorul)
  4. Încercați să efectuați acea acțiune în 1C care nu a funcționat înainte și a dus la o eroare.
  5. Dacă totul a funcționat și operația nu se repetă atât de des, se recomandă să readuceți dimensiunea memoriei adresei la valoarea implicită folosind comanda „bcdedit /deletevalue increaseuserva”

Erori legate de tabelele SQL

Erorile de acest fel apar de obicei pe partea serverului, atunci când sistemul accesează tabelul și nu poate citi datele. Această eroare poate apărea din cauza configurării incorecte a serverului, precum și din cauza deteriorării tabelelor SQL. În situații deosebit de dificile, este posibil să nu fie nici măcar posibilă restaurarea bazei de date și atunci doar o copie arhivată a bazei de date vă poate salva. Vă recomandăm insistent să faceți copii de rezervă în timp util ale bazei de date.

Eroare de acces în 1s

Această eroare apare atunci când un utilizator încearcă să efectueze o acțiune care este interzisă de drepturi de acces (roluri). Acesta este motivul pentru care sistemul emite o eroare de acces de 1s. Rolurile sunt configurate în configurator de către programator.

Nu s-a putut remedia eroarea în 1s?

Dacă nu ați reușit să remediați vreo eroare în 1C, nu disperați, ridicați telefonul și sună-ne! Specialiștii noștri sunt întotdeauna gata să vă ajute să rezolvați orice probleme legate de 1C, inclusiv erorile care apar în timpul funcționării sistemului.

Acest articol va explica cauzele, tipurile și soluțiile.
„Erori de format de flux” 1C.

Toți cei care lucrează cu 1C:Enterprise în orice configurație au văzut cel puțin o dată o fereastră cu eroarea „Eroare format stream”.

Această fereastră este inclusă în TOP 3 cele mai frecvente erori 1C:Enterprise. Este neplăcut pentru că nu este informativ. Nu este clar: unde și care este eroarea? Reacția naturală ar fi să faceți clic pe butonul „Reporniți”, dar cu o probabilitate mare se poate argumenta că repornirea problemei nu va rezolva problema, iar utilizatorul va vedea din nou această fereastră.

Acest articol va explica cauzele, tipurile și metodele de eliminare a „Eroare de format de flux” 1C.

De ce scrie 1C 8 „Erori de format de flux”?

Programul 1C:Enterprise este creat în așa fel încât în ​​timpul activității sale se străduiește constant să optimizeze viteza operațiunilor. În acest scop, pe computerul utilizatorului este creată o „cache”, care stochează informații frecvent utilizate, de exemplu: locația și forma ferestrelor, datele de serviciu pentru utilizator, setările de selecție, fonturile etc. Memorarea în cache vă permite să reduceți numărul de apeluri către server și, prin urmare, să creșteți viteza 1C:Enterprise.

Dar ce se întâmplă dacă fișierul „cache” este scris cu o eroare/erori, ca urmare a unei încheieri incorecte a unei sesiuni de lucru, a unei supratensiuni sau a unei defecțiuni de rețea (pentru versiunea client-server a 1C)? Data viitoare când încercați să accesați „cache-ul”, 1C nu va putea citi fișierul și va apărea fereastra „Stream Format Error”. „Cache spart” este cea mai frecventă cauză a acestei erori.

În plus față de un cache scris incorect, documentele (sau directoarele sau orice alt obiect) pot fi, de asemenea, scrise incorect în baza de date de informații, iar acest lucru poate provoca, de asemenea, să apară eroarea discutată în acest articol.

Tipuri de erori de format de flux

În mod convențional, eroarea de format de flux 1C poate fi împărțită în 2 tipuri:

  • Primul tip este o eroare care apare la pornirea 1C. Este rezultatul unei încetări incorecte a unei sesiuni de lucru sau al unei pene de curent; sau apare după . În acest caz, eroarea trebuie căutată în cache.
  • Al doilea tip este o eroare care apare în timpul lucrului cu 1C, de exemplu, la deschiderea unui director, la postarea unui document, la generarea unui raport sau la actualizare. În acest caz, trebuie să căutați eroarea în baza de date de informații.

În funcție de tipul de eroare, puteți alege cea mai potrivită opțiune pentru eliminarea acesteia. Dar puteți folosi toate metodele pe rând până când una dintre ele funcționează. Metodele nu vă vor afecta baza de date 1C 8. Cu toate acestea, dacă vă comportați ca un adevărat profesionist, ar trebui mai întâi să faceți o copie de rezervă și abia apoi să vă ocupați de „Eroarea de format al fluxului”.

Cum se rezolvă „Eroarea de format Stream”?

Să luăm în considerare soluțiile de TOP:

1. Goliți memoria cache 1C

Această metodă a fost discutată în detaliu în articolul nostru „”. Să ne amintim pe scurt. Pentru a șterge manual fișierele cache, trebuie să găsiți folderele în care este stocat memoria cache. Pentru sistemele de operare Win7 și versiuni ulterioare, fișierele temporare sunt stocate la C:\Utilizatori\Nume utilizator\AppData\Roaming\1CȘi C:\Utilizatori\Nume utilizator\AppData\Local\1Cîn foldere care încep cu „1cv8”. În Windows XP, în folderul utilizatorului la Setări locale\Date aplicații\1C\. Dacă folderul AppData nu este vizibil, configurați vizibilitatea folderelor ascunse. Figura de mai jos arată cum arată fișierele cache - foldere cu nume lungi și neclare (în cazul nostru există un singur fișier). Pentru a șterge memoria cache, trebuie să ștergeți aceste foldere.

Important! Puteți șterge foldere numai când procesele de lucru cu 1C:Enterprise sunt finalizate.

2. Începeți să testați și să reparați 1C

În modul configurator, trebuie să faceți clic pe elementul de meniu „Administrare” și apoi pe „Testare și corectare”.

Primele două puncte „reindexarea tabelelor bazei de informații” și „verificarea integrității logice a bazei de informații” ar trebui verificate. Faceți clic pe butonul „Run”. Sistemul însuși va verifica baza de date, va găsi erori, le va corecta și vă va oferi un raport cu privire la munca efectuată. Dacă este necesar, verificați și al treilea element „verificarea integrității referențiale a bazei de informații”.

3. Rulați „chdbfl.exe”

Dacă nu este posibil să intrați în configurator, atunci rulați programul „chdbfl.exe”, care se află: „C:\Program Files (x86)\1cv8\8.3……\bin”. Selectați fișierul Bază de date, bifați caseta de selectare „Corectați erorile detectate” și faceți clic pe butonul „Run”. Atunci sistemul va face totul pentru tine. Sistemul însuși va verifica baza de date, va găsi erori și le va corecta. În timp ce programul „chdbfl.exe” rulează, nu ar trebui să existe sesiuni active cu 1C.

4. Încărcați și încărcați baza de informații în .dt

În modul configurator, selectați elementul de meniu „Administrare” și faceți clic pe „Descărcați baza de informații”. După aceea, selectați locația în care doriți să salvați fișierul bazei de date (.dt), dați un nume fișierului și faceți clic pe „Salvare”.

După aceasta, creați o nouă bază de date goală pe computer (sau server). Accesați noul configurator de baze de date, faceți clic pe „Administrare”, apoi „Încărcați baza de informații”. Selectați fișierul pregătit anterior și faceți clic pe „Deschidere”.


5. Încărcați și încărcați date XML.

Această metodă poate duce la pierderea datelor, așa că se recomandă să fie folosită numai de utilizatori experimentați. Metoda este similară cu cea anterioară și constă în faptul că mai întâi se descarcă baza de date (numai că nu în .dt, ca în metoda anterioară, ci într-un format special .XML). Apoi baza de date este încărcată înapoi. Acest lucru se face folosind procesarea încorporată „Încărcarea și încărcarea datelor XML”.


6.Actualizare 1C

Cauza erorii în cauză poate fi prezența sesiunilor de utilizator active care rulează în diferite versiuni. De exemplu, în baza de date există o sesiune de utilizator activă cu platforma 1C 8.3.5...., iar alta încearcă să se conecteze, cu versiunea 8.3.4.... Dacă pe computer sunt instalate mai multe versiuni, asigurați-vă că versiunea „corectă” de care aveți nevoie este selectată în fereastra de editare a bazei de informații.


7. Alte metode.

În 99% din cazuri, metodele de mai sus de a trata „Eroarea de format de flux” își vor face treaba eficient, iar eroarea va „dispărea”. În restul de 1%, va trebui să utilizați diagnostice mai complexe, uneori dincolo de domeniul de aplicare al 1C, de exemplu: curățați fișierele temporare ale computerului, și nu doar memoria cache 1C; verificați hard disk-ul pentru sectoare defecte folosind utilitarul „chkdsk.exe”; verifica-ti computerul cu antivirus. Puteți chiar să încercați să rulați baza de date 1C pe un alt computer și astfel să localizați problema, asigurându-vă că eroarea se află în baza de date de informații, și nu în hardware sau Sistemul de operare.

Acest articol a fost creat pentru a-i ajuta pe cei care au întâlnit eroarea 1C „Eroare de format de flux”; motivele apariției acesteia, tipurile sale condiționate și metodele de eliminare au fost discutate și explicate aici. Eroarea pare înfricoșătoare și de neînțeles din cauza incertitudinii sale, dar, după cum vedem, toată lumea poate elimina această eroare.

La începutul unui contract juridic, în special în domeniul IT, există de obicei o secțiune numită Termeni. Acesta explică ce înseamnă sau include acest sau acel cuvânt IT.

Dar, pe lângă cuvintele cu adevărat complexe precum server sau site-ul web, cuvintele obișnuite și binecunoscute pentru programatori pot însemna și ceva complet diferit. De exemplu erori. Într-un sens universal, acest cuvânt înseamnă acțiune greșită. Ceva pentru care autorul său poate chiar să-i fie rușine.

În sensul de programare, cuvântul eroare are probabil două definiții.

Ce înseamnă termenul „eroare” în programare și în 1C

O eroare este un program care se comportă diferit de cel prevăzut. Fiecare computer este un set unic de programe și hardware, diferit de alt computer.

Standardizarea atât a hardware-ului, cât și a programelor ne permite să presupunem că programele vor funcționa la fel pe fiecare computer, dar, de fapt, anumite circumstanțe pot apărea întotdeauna când autorul programului va fi surprins de ce programul procedează exact așa și nu altfel.

Aceasta poate include probabil și acele situații în care programul face ceva greșit, deoarece programatorul a uitat de ceva sau nu s-a gândit la asta.

O eroare este un mesaj special de la un program despre circumstanțele curente când programul nu poate face ceea ce trebuia să facă. Poate părea că este același lucru, dar nu este.

De exemplu, programatorul a intenționat ca mai întâi utilizatorul să deschidă fișierul, iar apoi programul să facă așa ceva. Cu toate acestea, când programul a fost copiat pe computerul utilizatorului și acesta a uitat să deschidă fișierul. Sau am încercat să-l deschid, dar fișierul s-a dovedit a fi incorect sau hard disk-ul a fost stricat.
Și programul îi spune utilizatorului: Hei, există o eroare! Nu pot face ce ar trebui.

Erorile 1C au mai multe niveluri - în primul rând, pot aparține mesajele de eroare 1C, care raportează imposibilitatea de a efectua unele acțiuni pe care ar fi trebuit să le efectueze din cauza circumstanțelor actuale.

Al doilea nivel este erorile 1C într-un program în limbajul 1C. Da, platforma execută cu succes un program scris de un programator 1C, dar programul poate fi scris incorect sau, de asemenea, nu poate fi executat în circumstanțele actuale (pe acest computer, cu astfel de acțiuni ale unui anumit utilizator etc.).

Al treilea nivel este erorile 1C în date. Datele din baza de date sunt interconectate între ele. Cu toate acestea, pot exista situații în care datele sunt corupte. De exemplu, unul dintre formulare nu are suficiente verificări pentru a împiedica un utilizator deosebit de creativ să introducă ceva incorect. În plus, programul poate funcționa incorect, deoarece algoritmul nu se aștepta ca cineva să introducă acest lucru.

Mesaj de eroare 1C

1C raportează o eroare la executarea unui program în limbajul 1C utilizând o fereastră standard cu textul erorii 1C și butoanele OK și Mai multe.

Mai mult, secretul aici este că această fereastră afișează doar un scurt mesaj de eroare 1C, care adesea nu spune nimic programatorului.

Pentru a vedea detaliile complete, faceți clic pe butonul Detalii. Chiar și linia de program în care a apărut eroarea 1C va fi afișată acolo. De asemenea, puteți merge direct la această linie în configurator.

Dar utilizatorii nu știu despre asta... Și trimit întotdeauna o captură de ecran a primei ferestre. Daca il trimit :)

Aruncând o excepție

Deci, considerăm o eroare 1C în programare ca o modalitate/oportunitate pentru un program de a informa utilizatorul că nu poate face ceva.

Exemplu. Trebuie să deschideți fișierul. Dar la deschidere, erorile 1C sunt posibile - de exemplu, utilizatorul nu are acces pentru a citi fișierul. Putem scrie astfel:


If File = False Atunci
Raport ("Eșuat la deschiderea fișierului");
In caz contrar
//programul merge mai departe, facem ceva cu fișierul
endIf;

În acest exemplu, am luat în considerare faptul că fișierul nu poate fi deschis folosind constructul „Dacă”.

Cu toate acestea, acest exemplu are dezavantaje evidente:

  • Pot exista multe astfel de opțiuni (fișierul nu se va deschide, fișierul nu va fi citit până la sfârșit, utilizatorul este beat, electricitatea este oprită..)
  • Pot exista opțiuni nesocotite la care programatorul nu s-a gândit.

Prin urmare, în programare este obișnuit să se folosească o tehnică numită „aruncă o excepție” - adică permite să apară o eroare 1C.

Programul pretinde că fișierul se va deschide oricum. Nu este scris „Dacă”. Dacă ceva nu merge bine, programul va raporta de fapt o eroare 1C - execuția sa va fi întreruptă.

1C în sine nu deschide fișierul - apelează comanda Windows API. Windows este, de asemenea, scris folosind această tehnică. Așa că vă puteți imagina un lanț de întreruperi de execuție începând cu Windows:

  • Limba 1C - comandă pentru deschiderea unui fișier
  • Platforma 1C - comandă pentru deschiderea unui fișier
  • Windows API - comanda deschideți fișierul
  • Program de asamblare - comandă pentru deschiderea unui fișier
  • Hopa! Fișierul nu se deschide!
  • Programul de asamblare a fost întrerupt!
  • Funcția API Windows este defectă!
  • Execuția programului platformei 1C întreruptă!
  • Programul în limbajul 1C a fost întrerupt!
  • Utilizatorul vede mesajul.

Întrebare: cine afișează apoi mesajul de eroare 1C? De unde vine?

Prinderea și gestionarea excepțiilor

Acest lucru ne duce la următorul truc: prinderea excepțiilor generate în timpul execuției acestui lanț.

Excepțiile trec de la nivelul inferior de execuție în sus în lanț. Dacă ultimul nivel nu a gestionat excepția, atunci nivelul anterior o va face.

Exemplu. Să gestionăm excepția în limbajul 1C:
Atentat, încercare
Fișier = OpenFile(FileName);
String = File.Read();
Excepție
Raport ("Fișierul nu a putut fi deschis: nu există sau nu are drepturi de acces");
EndTempt;

În acest exemplu, noi înșine am procesat excepția (adică, o situație excepțională sau o eroare 1C). Astfel, noi suntem cei care informăm utilizatorul despre o „eroare” care a apărut – incapacitatea de a deschide fișierul.

Când facem acest lucru singuri, este posibil să nu spunem utilizatorului nimic, ci pur și simplu să urmăm o altă opțiune pentru executarea programului.

Este ușor de observat că această metodă poate fi folosită și în cazurile în care pot apărea „unele” erori 1C într-o parte a codului. Îl „prindem” și îl procesăm sau îl raportăm utilizatorului.

Ce se va întâmpla dacă nu interceptăm și procesăm eroarea 1C la nivelul nostru „superior”? Apoi următorul nivel de mai jos îl va raporta - platforma 1C. Tocmai am vorbit despre cum face asta și ne-am uitat la captura de ecran.

Ce se întâmplă dacă platforma nu se ocupă de asta? Așa este - acest lucru va funcționa de obicei la un nivel inferior - Windows. În acest caz, programul 1C se va „crasa”, iar Windows va raporta că programul a efectuat o operație nevalidă și va fi închis.

Ce se întâmplă dacă Windows nu se ocupă de asta? Probabil l-ați văzut - computerul se va îngheța sau se va reporni.

Interceptări și tranzacții imbricate

Ce mesaje credeți că va vedea utilizatorul când rulează acest exemplu?

Atentat, încercare
Atentat, încercare
f = 1/0;
Excepție
Raport ("Eroare specifică");
EndTempt;
Excepție
Raport ("Eroare generală");
EndTempt;

Dreapta! Managerul intern va declanșa și va raporta „Eroare specifică”, dar cel extern nu va funcționa.

Totuși, din punctul de vedere al programului, aici a apărut o eroare 1C, deși a fost rezolvată. Undeva în creierul său, platforma și-a amintit că a existat o eroare 1C.

Acest lucru are implicații pentru finalizarea tranzacțiilor. O tranzacție reprezintă mai multe acțiuni asupra datelor dintr-o bază de date care trebuie efectuate numai împreună. După cum înțelegem, erorile 1C pot fi motivul eșecului lor de a le completa împreună. Prin urmare, există următorul mecanism:

StartTransaction();
//a creat directorul 1, dar de fapt nu a fost scris în baza de date
Ref1.Scrie();
//a creat directorul 2, dar de fapt nu a fost scris în baza de date
Ref2.Write();
CommitTransaction();
//Această comandă a scris în baza de date tot ce a fost făcut începând cu „Start Tranzacție”

Funcția CommitTransaction() poate fi executată numai dacă nu au apărut erori 1C de la apelul StartTransaction().

Dacă, atunci când scrieți un astfel de cod, înțelegeți că această linie de cod poate conține o eroare 1C, puteți seta procesarea acestuia folosind Attempt/Exception. Cu toate acestea, în acest caz, platforma va ține cont în continuare de faptul că a apărut o eroare 1C și nu va înregistra tranzacția și nici nu va scrie date în baza de date.

Erori 1C neintenționate

Deci, în programul 1C, programatorul poate face o greșeală 1C. În acest caz, platforma 1C îl va raporta.

În cazul în care nu puteți înțelege de ce și când apare o astfel de eroare 1C, puteți utiliza Tentativa/Excepție pentru a gestiona eroarea 1C.

De asemenea, Try/Exception poate fi folosit în cazul în care doriți să creați o secțiune a programului garantată fără erori. Poți fi sigur că, chiar dacă apare o eroare 1C, o vei prinde și o vei gestiona într-un mod special.

Erori intenționate 1C

Puteți pretinde în textul programului că fișierul se va deschide întotdeauna și numărul va fi întotdeauna împărțit. Dar utilizați încercarea/excepția ca o modalitate de a comuta programul la o altă opțiune de remediere în cazul în care se întâmplă acest lucru. Sau pur și simplu informați utilizatorul despre eroarea 1C.

Apel de eroare propriu 1C

Puteți crea singur funcții care, dacă nu pot fi executate, pot raporta acest lucru prin aruncarea unei excepții.

O poți face astfel:

Funcția DoSomething (Parametru)
Dacă Parametru = Nedefinit Atunci
Ridicați excepția „A apărut o eroare în funcția DoSomething. Parametru nespecificat”;
endIf;
EndFunction

Pentru ce e asta? În cazul în care creați o funcție care va fi folosită în multe locuri și poate o vor folosi și alții, aceasta este o modalitate frumoasă de a ucide mai multe păsări dintr-o singură piatră:

  • Rezolvați eroarea 1C
  • Raportați o eroare 1C la un nivel superior (la programul care a numit această funcție)
  • Raportați nu numai eroarea 1C, ci și textul/detaliile
  • Este garantată întreruperea execuției nu numai a propriei funcții, ci și a tuturor nivelurilor, dacă programatorul care le-a scris nu a crezut că ar putea exista o astfel de eroare 1C și nu a gestionat-o.

Modalități mai corecte de a raporta erorile 1C

De obicei, atunci când trebuie să comunicați ceva utilizatorului, .

Cu toate acestea, în configurațiile standard, cum ar fi Contabilitatea, Managementul comerțului, SCP, există o funcție specială:
Scop general.ReportError("Text");

Avantajele sale:

  • Forma mesajului depinde de clientul care rulează
  • Înregistrează informații în jurnalul de bord
  • În unele configurații, a fost implementată o formă mai frumoasă de mesaj de eroare 1C.

Analiza erorilor

Când platforma 1C rulează, jurnalul de înregistrare funcționează. Pe lângă acțiunile utilizatorului, acesta stochează și informații despre erorile 1C care au apărut în timpul funcționării platformei 1C.

În configurator, selectați elementul de meniu Administrare/Jurnal.

Faceți clic pe butonul Selectați (ca în imagine). Setați selecția evenimentelor numai pentru erori 1C.

Jurnalul va afișa o listă de erori care au apărut. Faceți clic pe o linie pentru a vizualiza un anumit mesaj mai detaliat.

Descrierea erorii de format de flux în 1C 8.3

Eroarea de format de flux în 1C apare cel mai adesea în rândul tuturor utilizatorilor. Și, de obicei, în astfel de cazuri este dificil de explicat aspectul său - se pare că au lucrat în 1C, totul este ca de obicei. Lansând din nou 1C, primim următorul mesaj:

Niciunul dintre butoanele Stream Format Error nu vă permite să lansați baza de date și să continuați să lucrați. Tocmai pentru că această eroare este cea mai populară și frecventă, vom explica mai întâi cauzele ei și abia apoi trecem la luarea în considerare a metodelor de rezolvare a acesteia.

Motive pentru eroarea formatului de flux în 1C 8.3

Eroarea formatului de flux în 1C este legată de citirea cache-ului bazei de date la accesarea acesteia. Un cache, în termeni simpli, este informații auxiliare (setări, favorite, comenzi frecvente etc.) 1C, stocate în fișiere separate de baza de date. În timpul funcționării, 1C accesează în mod regulat memoria cache. Dacă apare o situație când acest acces a fost întrerupt (în timpul unei întreruperi de curent, probleme de rețea, oprire de urgență a 1C), memoria cache poate fi scrisă cu erori. În acest caz, la pornirea ulterioară, citirea memoriei cache va duce la aceeași eroare - o eroare de format de flux în 1C.

Modalități de a rezolva erorile de format de flux în 1C 8.3

Înainte de a începe să rezolvați problema folosind oricare dintre metode, asigurați-vă că ați făcut o copie de rezervă a bazei de date! Acest lucru vă va ajuta să reveniți la rezultatul inițial în cazurile în care încercarea de a rezolva o problemă eșuează.

Pentru a crea rapid o copie de rezervă, deschideți folderul cu baza de date (după cum s-a făcut în metoda nr. 1) și copiați conținutul acestuia în orice altă locație. Efectuați lucrări de corectare a erorilor numai cu o copie de rezervă!
1.
2.
3.
4.
5.
6.

Ștergerea cache-ului bazei de date 1C

Cea mai simplă și utilă metodă este să ștergeți memoria cache a bazei de date 1C. Pentru a face acest lucru, lansați 1C: Enterprise și aflați calea în care este stocată baza de date:

Să deschidem acest folder în Explorer și să ștergem toate fișierele, cu excepția fișierului bazei de date, așa cum se arată în figura de mai jos. Rețineți că numărul de fișiere poate diferi; toate acestea trebuie șterse, cu excepția unuia - 1Сv8 (baza de date cu informații despre fișiere).

Stergerea memoriei cache 1C

Următoarea metodă este să ștergeți memoria cache 1C: Enterprise. Pentru a face acest lucru, trebuie să deschideți folderele în care sunt stocate. Pe Windows 7 și versiuni ulterioare există două dintre ele:

C:\Utilizatori\Nume utilizator\AppData\Roaming\1C

C:\Utilizatori\Nume utilizator\AppData\Local\1C

Ar trebui să ștergeți folderul 1cv8 din ambele:

După ce ștergeți memoria cache, încercați să vă conectați din nou la baza de date. Mai exista eroarea? Încercați următoarea metodă.

Corectarea bazei de date folosind utilitarul chdbfl.exe

Este posibil ca eroarea de format al fluxului să fie legată de erori din baza de date în sine. Pentru a face acest lucru, merită să îl verificați folosind programul special chdbfl.exe, care vine la pachet cu 1C: Enterprise. Pentru a face acest lucru, accesați folderul cu programul (cel mai adesea acesta este C:\Program Files\1cv8\8.3.XX.YYY\bin\) și găsiți fișierul chdbfl.exe:

După ce îl deschideți, faceți clic pe punctele de suspensie din colțul din dreapta sus și găsiți fișierul baza de date rupt. Pe baza metodei de mai sus, putem spune că acesta este același fișier de bază de date pe care nu l-ați șters când ștergeți memoria cache.

După aceea, bifați caseta de selectare Remediați erorile detectate și faceți clic pe Executare. Așteptați până când verificarea este finalizată și încercați să porniți baza de date. Mai exista eroarea? Încercați următoarea metodă.

Testarea și repararea bazei de date cu ajutorul configuratorului

Următoarea modalitate de a rezolva o eroare de format de flux în 1C este să testați și să remediați baza de date, disponibilă din Configurator.

Lansați 1C: Enterprise prin modul Configurator:

În configuratorul care se deschide, selectați Administrare – Testare și corecție:

În fereastra care se deschide, setați setările ca în figura de mai jos și faceți clic pe Run.

Așteptați până când toate procedurile sunt finalizate. Închideți configuratorul și încercați să vă conectați la baza de date. Mai exista eroarea? Încercați următoarea metodă.

Încărcarea și încărcarea bazei de date prin dt

Această metodă poate ajuta la eliminarea erorilor care nu sunt eliminate de paragrafele 3 și 4 din acest articol. Conectați-vă la baza de date prin modul Configurator, ca în metoda de mai sus. Selectați Administrare – Încărcați baza de informații:

În fereastra care se deschide, selectați locația de descărcare. Poate fi orice, principalul lucru este să vă amintiți acest loc.

Făcând clic pe Salvare, așteptați finalizarea încărcării. Ieșiți din modul Configurator. Deschideți din nou 1C: Enterprise și selectați Adăugare – Creați o nouă bază de informații – Creați o bază de informații fără configurare – Următorul – Terminați.

Deschideți baza de date creată prin Configurator și faceți clic pe Administrare – Încărcați baza de informații. În fereastra care se deschide, indicați fișierul de încărcare pe care tocmai l-ați creat. Așteptați ca descărcarea să se termine, închideți configuratorul și încercați să vă conectați la noua bază de date descărcată. Mai exista eroarea? Încercați următoarea metodă.

Modalități avansate de a rezolva erorile de format de date 1C

O discuție detaliată a metodelor avansate de rezolvare a erorilor de format de date în 1C depășește sfera acestui articol, deoarece pentru a le utiliza trebuie să aveți anumite cunoștințe în domeniul manipulării unui computer, astfel încât instrucțiunile și notele pentru fiecare dintre ele ar fi destul de voluminos.

Ne vom limita la a le enumera:
1. Încărcarea și încărcarea datelor între o bază de date nefuncțională și cea goală folosind procesarea „Încărcarea și încărcarea datelor XML”.
2. Trebuie puse în ordine diferite versiuni de 1C utilizate, care funcționează în aceeași bază de date prin intermediul rețelei (pentru mai multe detalii, vezi).
3. Dezactivarea protocolului IPv6 prin intermediul registrului Windows.
4. Reinstalarea sau actualizarea 1C: Enterprise.
5. Transferați baza de date pe alt computer și încercați să o rulați acolo.
6. Dezactivarea sau eliminarea firewall-urilor și/sau antivirusurilor.
7. Verificarea formatului fluxului folosind utilitarul Tool_1CD
8. Actualizați configurația folosind fișierul .cf.

Problema „Eroare format stream în 1C 8.3” nu este rezolvată? Obțineți o consultație gratuită de la specialiștii noștri pentru a rezolva această problemă!

O astfel de problemă precum eroarea de format Stream apare destul de des în 1C 8.3. Să vedem cum să remediați această eroare.

Ce este o eroare de format de flux în 1s 8.3?

Acest lucru se întâmplă în următoarele situații:

  1. O eroare de format de flux la lansarea 1C Enterprise 8.2 sau a configuratorului este de obicei asociată cu probleme de cache. De obicei, este cauzată de neînchiderea corectă a sistemului din cauza, de exemplu, unei pene de curent. Prin urmare, se recomandă cu tărie să instalați surse de alimentare neîntreruptibilă pentru a nu pierde informații importante. Adesea, eroarea apare la pornirea bazei de date după actualizarea configurației.
  2. A doua situație este atunci când se generează un raport, de exemplu, deschiderea unui raport, postarea unui document, deschiderea unui document etc. Adesea acest lucru se datorează tocmai conținutului informațiilor din baza de date. Cauza acestei erori este cel mai adesea prezența informațiilor „defectate” în sistem.

Obțineți 267 de lecții video pe 1C gratuit:

Corecţie

  1. De regulă, pentru a rezolva această problemă, este suficient să curățați fișierele temporare de pe sistem. .
  2. Dacă nu vă ajută, dar puteți intra în configurator, rulați .
  3. Dacă nu aveți acces la configurator și baza de date este testată, utilizați-o, care se află în folderul programului.
  4. Dacă metodele de mai sus nu ajută, dar pornește modul 1C Enterprise, încărcați datele într-o nouă bază de date folosind procesarea „ „. Cu toate acestea, acest lucru poate duce la pierderea datelor.
  5. Actualizați. Un alt motiv poate fi prezența sesiunilor de utilizator active cu diferite versiuni ale părții client a platformei 1C. Adică, de exemplu, un utilizator cu platforma 1C 8.3.5.1517 lucrează în baza de date, iar altul încearcă să se conecteze, cu versiunea 8.3.5.1444.

Dacă acest lucru nu ajută, există modalități mai sofisticate de a rezolva această problemă. De exemplu, folosind un editor HEX. Dacă aveți nevoie de ajutor calificat de la programatorii 1C, contactați-ne! Detalii pe pagina



Ți-a plăcut articolul? Împărtășește-l