Când scrieți programe, este adesea nevoie să efectuați o anumită acțiune când programul începe sau se termină. În acest caz, totul este simplu cu programe „obișnuite”. Este necesar să gestionați evenimentele corespunzătoare sau să plasați codul necesar înainte de a încărca fereastra principală sau de a afișa „interfața” consolei.

Dar ce să faci în cazul 1C? Dacă 1C Enterprise are o funcționalitate similară?

În 1C este posibil să se execute cod la pornirea și oprirea unei aplicații. Este implementat sub formă de evenimente speciale, a căror prelucrare este disponibilă în modulul de aplicație gestionată.

  • Înainte de a porni sistemul
    1C Enterprise pornește, dar fereastra de configurare de lucru nu a apărut încă pe ecran;
  • La pornirea sistemului
    Aplicația rulează deja;
  • Înainte de a închide sistemul
    Evenimentul are loc înainte de începerea procesului de închidere a aplicației. Fereastra de lucruîncă afișat pe ecran;
  • La oprirea sistemului
    Fereastra de lucru s-a închis deja și pașii finali sunt în curs înainte ca lucrările să fie complet finalizate.

Dacă în modul configurator dați clic clic dreapta mouse-ul pe rădăcina de configurare și selectați „Open managed application module” în meniul care se deschide, se va deschide o fereastră standard pentru editarea codului, care conține codul modulului menționat mai sus.

Pentru a gestiona evenimentele necesare într-un modul de aplicație gestionat, trebuie să descrieți procedurile adecvate, așa cum se arată în exemplul de mai jos:

1C (Cod)

Procedură înainte de începerea lucrului la sistem (Eșec) // Faceți ceva Sfârșitul procedurii Procedură Când începe lucrul în sistem () // Faceți ceva Sfârșitul procedurii Procedura înainte ca lucrul la sistem să se încheie (Eșec) // Faceți ceva Sfârșitul procedurii Procedură Când se termină activitatea sistemului () // Faceți ceva Sfârșitul procedurii

Fiţi atenți!

Numele procedurilor trebuie să corespundă strict cu numele evenimentelor pe care le procesează.

Procedura BeforeSystemShutdown ia un singur parametru – „Eșec” (boolean, valoarea implicită este „false”). Această opțiune specifică dacă se anulează oprirea configurației. Adică, dacă unele verificări sunt efectuate înainte de oprire și rezultatele nu sunt satisfăcătoare, puteți anula oprirea pur și simplu setând parametrul Eșec la adevărat.

Parametrul „Eșec” din procedura Înainte de pornirea sistemului are un scop similar. Dacă este setată la adevărat, aplicația pur și simplu nu va porni.

În acest fel nu poți doar să performați acțiunile necesare, dar și gestionați procesul de pornire și oprire în sine.

Restricții

  • Tot codul plasat în modulul aplicației gestionate rulează numai pe partea clientului. Prin urmare, dacă atunci când procesați evenimentele de mai sus este necesar să contactați serverul, atunci în aceste scopuri ar trebui să creați un modul comun separat și să setați în setările acestuia să funcționeze pe partea serverului și disponibilitatea pentru apelarea serverului pe partea client (adică este, în proprietăți, setați „Server” și „Apel server”).
  • De asemenea, nu este recomandat să efectuați operații greoaie la pornirea și oprirea unei aplicații. Iar ideea aici nu este doar creșterea timpului de procesare a evenimentelor din cauza volumelor mari de date sau complexității algoritmilor. Modulul aplicației gestionate este compilat atunci când programul rulează. Prin urmare, cu cât este încărcată mai mult cu funcționalități, cu atât va dura mai mult timp pentru a lansa aplicația.
    Este mai bine să efectuați astfel de operațiuni la cerere în timpul muncii sau în sarcinile de rutină.

Una dintre cele mai neplăcute erori întâlnite atunci când lucrați cu 1C 8.3 sau 8.2 este „Eroarea formatului fluxului”. Pot exista multe motive pentru apariția lui și nu sunt întotdeauna ușor de stabilit. În același timp, fereastra de notificare a erorilor este departe de a fi standardul conținutului de informații.

În primul rând, încercați să vă gândiți ce ar fi putut duce la această problemă.

Cele mai frecvente motive

Cea mai frecventă cauză a unei erori de formatare a fluxului este procesarea incorectă a memoriei cache de către programul 1C 8. Amintiți-vă, au existat întreruperi de curent înainte de a avea loc sau actualizarea configurației? Sesiunea utilizatorului a fost încheiată corect? Adesea, în acest caz, eroarea de format de flux nu va apărea pe toate computerele. Este mai bine să preveniți problemele decât să le remediați mai târziu, așa că este recomandat să folosiți surse de alimentare neîntreruptibile pe computere.

Eroarea poate apărea pe toate computerele, dar numai la citirea oricăror date, de exemplu: la generarea unui anumit raport, la încărcarea unei baze de date, la pornirea configuratorului. În acest caz, este cel mai probabil ca aceste date să fi fost deteriorate și programul să nu poată procesa informațiile „spărțite”.

Cum să remediați eroarea de format de flux

  1. În primul rând, încearcă. Dacă programul funcționează bine pe un computer, dar pe altul apare o eroare de format de flux, atunci cel mai probabil această metodă este potrivită pentru tine.
  2. Dacă ștergerea memoriei cache nu a ajutat, încercați să deschideți baza de informații în modul configurator și rulați .
  3. Dacă nu ați putut accesa configuratorul, dar baza de date este bazată pe fișiere, utilizați ChDBFl.exe. Acest utilitar este analog cu testarea și corectarea erorilor din configurator, dar mai simplu.
  4. Asigurați-vă că toți utilizatorii actuali ai acestei baze de informații folosesc aceeași versiune a platformei. Dacă versiunile diferă, atunci instalați cele mai recente pentru toată lumea.
  5. Dacă 1C este lansat în modul „Enterprise”, atunci încărcați toate datele utilizând încărcarea/descărcarea universală într-o nouă bază de date.
  6. Dezactivați și, dacă este necesar, eliminați toate firewall-urile și antivirusurile.
  7. Dacă această bază de informații client este una de server, atunci verificați dacă există suficient spațiu pe disc pe server în folder pentru stocarea datelor temporare.
  8. Dezinstalați platforma 1C (prin panoul de control) și instalați-o din nou.
  9. Dacă baza de informații se deschide în configurator, încercați să o încărcați într-un fișier *.dt și să o încărcați într-unul gol.
  10. Utilizați un editor HEX, înlocuind conținutul unei baze de date curate cu conținutul celei în care a apărut eroarea.

Dacă toate aceste metode nu vă ajută, ceea ce este puțin probabil, atunci doar o tamburină sau un specialist calificat vă poate ajuta.

Pot exista multe motive pentru astfel de erori. Primul lucru care are sens de făcut dacă apar astfel de erori este să determinați sursa problemei.

    Clarificați circumstanțele și momentul erorii: o defecțiune care nu poate fi reprodusă poate fi pur și simplu un accident sau o eroare.

    Verificați funcționarea programului de pe alt computer și de pe altul cont utilizator.

    Verificați versiunile de platformă și de configurare: versiunea actuală se potrivește cu cea mai recentă versiune oficială?

În viitor, dacă nu puteți face față singuri erorii, va trebui să explicați în consecință natura apariției acesteia unui specialist, aceste întrebări vor apărea în orice caz.

Există o serie de erori care apar atunci când utilizați fără licență software(atât produsele „1 °C”, cât și, de exemplu, sistemul de operare Windows). Un exemplu tipic în cazul unei platforme 1C „rupte”: un patch care sparge o anumită versiune a platformei nu mai funcționează după instalare noua versiune platformă, conectarea la baza de date în acest caz va avea ca rezultat mesajul „Nu s-a găsit licență gratuită”.

Important! Nu uita să faci copie de rezervă bazele de date înainte de a schimba ceva în configurație. Dacă baza de date nu poate fi deschisă folosind configuratorul, ar trebui să copiați folderul cu baza de date folosind sistemul de operare și apoi să efectuați toate operațiunile cu această copie.

Versiunile de configurare trebuie să fie actuale (acest lucru este deosebit de important în cazul configurațiilor pe baza cărora se creează raportarea reglementată). Upgrade la versiunea curentă va fi primul pas al tuturor specialiștilor în dezvoltare fără excepție, dacă îi veți contacta. După verificarea relevanței versiunilor de configurare, ar trebui să verificați relevanța versiunii platformei (aici ar trebui să țineți cont de recomandările 1C: nu toate versiunile de configurare corespund versiunilor platformei).

Eroare Metode de corectare

Baza de date nu se deschide

    Actualizare platformă.

    Ștergerea fișierelor temporare (cash): eliminați baza de date din listă și conectați-o din nou.

    Conectați-vă la baza de date folosind un alt cont.

Nimic nu funcționează fără un motiv aparent

    Actualizare platformă.

    Căutați cauza defecțiunii în jurnal.

Descarcă baza de date la pornire

    Dezactivează accelerarea hardware a plăcii video folosind Windows, repornirea sistemului.

Baza de date se deschide în configurator, dar nu în modul utilizator

    Actualizare platformă.

    Ștergerea fișierelor temporare (cash).

    Conectați-vă la baza de date dintr-un alt cont (și/sau dintr-un cont de administrator).

    Conectarea la baza de date de pe alt computer (pentru a elimina o defecțiune generală a celui actual).

    Testarea integrității fizice a bazei de date folosind utilitarul „chdbfl” (dosarul C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe) sau, în cazul unei baze de date SQL, testarea utilizând SQL unelte.

    Testarea și remedierea securității informațiilor folosind configuratorul.

Programul deschide codul configuratorului fără avertisment

    Actualizare platformă.

    Ștergerea fișierelor temporare (cash).

    Verificarea codului în depanator.

De regulă, această situație apare din cauza erorilor din codul modificat, cel mai adesea în cazul configurațiilor nestandard.

Programul funcționează diferit pentru diferiți utilizatori

    Actualizare platformă.

    Ștergerea fișierelor temporare (cash).

    Configurarea drepturilor de grup.

    Configurarea drepturilor de utilizator.

Blocurile de formulare se afișează incorect

    Actualizare platformă.

    Ștergerea fișierelor temporare (cash).

    Conectați-vă la baza de date dintr-un alt cont (și/sau dintr-un cont de administrator).

    Conectarea la baza de date de pe alt computer (pentru a elimina o defecțiune generală a celui actual).

Programul nu funcționează pe unele computere dintr-o rețea funcțională, dar funcționează pe altele

    Verificarea drepturilor de rețea a acestui calculator(folosind instrumente Windows).

    Actualizare platformă. În special, ar trebui să verificați conformitatea versiunilor de configurare și a platformelor din rețea.

    Ștergerea fișierelor temporare (cash).

    Conectați-vă la baza de date dintr-un alt cont (și/sau dintr-un cont de administrator).

Nu este suficientă memorie

    Actualizare platformă.

    Ștergerea fișierelor temporare (cash).

    Conectați-vă la baza de date dintr-un alt cont (și/sau dintr-un cont de administrator).

    Conectarea la baza de date de pe alt computer (pentru a elimina o defecțiune generală a celui actual).

    Optimizarea interogărilor problematice.

    Extindere memorie hardware.

    Creșterea dimensiunii fișierului de paginare.

    Gestionarea memoriei alocate prin linie de comandă Windows. Linia: „bcdedit /set increaseuserva 3072”, unde 3072 este dimensiunea memoriei de adrese dorite.

Eroare DBMS, eroare internă a componentei dbeng8

    Actualizarea platformei pe toate computerele din rețea.

    Testarea integrității fizice a bazei de date folosind utilitarul „chdbfl”yu.

Această eroare este tipică pentru rețelele fără un server 1C și este asociată cu diferențe în codul diferitelor versiuni ale platformei pe diferite puncte de acces.

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, eroarea trebuie căutată în baza de informatii.

Î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 să faceți mai întâi o copie de rezervă și abia apoi să vă ocupați de „Eroarea de format de flux”.

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 sisteme de operare Fișierele temporare Win7 și superioare 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, ajustați vizibilitatea foldere 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ă remediaț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 pe server). Accesați configuratorul noua baza, faceți clic pe „Administrare”, apoi pe „Descă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 lucrează versiuni diferite. 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 hard disk pe sectoare proaste 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” au fost discutate și explicate aici motivele apariției acesteia, tipurile condiționale și metodele de eliminare. Eroarea pare înfricoșătoare și de neînțeles din cauza incertitudinii sale, dar, după cum vedem, poate fi eliminată această eroare toată lumea o poate face.