När man skriver program finns det ofta ett behov av att utföra någon åtgärd när programmet startar eller slutar. I det här fallet är allt enkelt med "vanliga" program. Det är nödvändigt att hantera lämpliga händelser eller placera den nödvändiga koden innan huvudfönstret laddas eller konsolens "gränssnitt" visas.

Men vad ska man göra i fallet med 1C? Om 1C Enterprise har liknande funktionalitet?

I 1C är det möjligt att exekvera kod vid start och stopp av en applikation. Det implementeras i form av speciella händelser, vars bearbetning är tillgänglig i den hanterade applikationsmodulen.

  • Innan du startar systemet
    1C Enterprise startar, men det fungerande konfigurationsfönstret har ännu inte dykt upp på skärmen;
  • När du startar systemet
    Applikationen körs redan;
  • Innan du stänger av systemet
    Händelsen inträffar innan applikationsavstängningsprocessen börjar. Fönster som fungerar fortfarande visas på skärmen;
  • Vid systemavstängning
    Arbetsfönstret har redan stängts och de sista stegen utförs innan arbetet är helt slutfört.

Om du är i konfiguratorläge klickar du högerklicka musen på konfigurationsroten och välj "Öppna hanterad applikationsmodul" i menyn som öppnas, ett standardfönster för redigering av kod öppnas som innehåller koden för ovan nämnda modul.

För att hantera de nödvändiga händelserna i en hanterad applikationsmodul måste du beskriva lämpliga procedurer, som visas i exemplet nedan:

1C (kod)

Procedur innan systemarbetet startar (fel) // Gör något Slut på proceduren Procedur När systemarbetet startar () // Gör något Slut på proceduren Procedur innan systemarbetet slutar (misslyckande) // Gör något Slut på proceduren Procedur när systemarbetet slutar () // Gör något Slut på proceduren

Var uppmärksam!

Namnen på procedurerna måste strikt överensstämma med namnen på de händelser som de behandlar.

Proceduren BeforeSystemShutdown tar en enda parameter – "Failure" (booleskt, standardvärdet är "false"). Det här alternativet anger om konfigurationsavstängningen ska avbrytas. Det vill säga, om vissa kontroller utförs innan avstängning och resultaten inte är tillfredsställande, kan du avbryta avstängningen helt enkelt genom att ställa in felparametern till sant.

Parametern "Feil" i proceduren Innan systemet startar har ett liknande syfte. Om den är inställd på sant kommer programmet helt enkelt inte att starta.

På så sätt kan du inte bara prestera nödvändiga åtgärder, men hanterar också själva start- och avstängningsprocessen.

Restriktioner

  • All kod som placeras i den hanterade applikationsmodulen körs endast på klientsidan. Därför, om det är nödvändigt att kontakta servern vid bearbetning av ovanstående händelser, bör du för dessa ändamål skapa en separat gemensam modul och ställa in dess inställningar för att fungera på serversidan och tillgänglighet för att anropa servern på klientsidan (som är, i egenskaperna, ställ in "Server" och "Serveranrop").
  • Det rekommenderas inte heller att utföra besvärliga operationer när du startar och stoppar en applikation. Och poängen här är inte bara ökningen av händelsebearbetningstid på grund av stora datavolymer eller komplexitet hos algoritmer. Den hanterade applikationsmodulen kompileras när programmet körs. Därför, ju mer den är laddad med funktionalitet, desto längre tid tar applikationen att starta.
    Det är bättre att utföra sådana operationer på begäran under arbetet eller i rutinuppgifter.

Ett av de mest obehagliga felen som uppstår när man arbetar med 1C 8.3 eller 8.2 är "Stream format error". Det kan finnas många anledningar till dess utseende och de är inte alltid lätta att fastställa. Samtidigt är felmeddelandefönstret långt ifrån standarden för informationsinnehåll.

Först och främst, försök att tänka på vad som kunde ha lett till detta problem.

Vanligaste orsakerna

Den vanligaste orsaken till ett strömformatfel är felaktig bearbetning av cachen av 1C 8-programmet. Kom ihåg, var det några strömavbrott innan detta inträffade eller konfigurationen uppdaterades? Avbröts användarens session korrekt? Ofta i det här fallet kommer strömformatsfelet inte att uppstå på alla datorer. Det är bättre att förhindra problem än att åtgärda dem senare, så det rekommenderas att använda avbrottsfri strömförsörjning på datorer.

Felet kan uppstå på alla datorer, men bara när man läser data, till exempel: när man genererar en viss rapport, när man laddar en databas, när man startar konfiguratorn. I det här fallet är det mest troligt att dessa data har skadats och programmet kan inte behandla den "trasiga" informationen.

Hur man åtgärdar streamformatfel

  1. Först och främst, prova det. Om programmet fungerar bra på en dator, men ett streamformatfel visas på en annan, är den här metoden troligen rätt för dig.
  2. Om det inte hjälpte att rensa cachen, försök öppna infobasen i konfiguratorläge och kör .
  3. Om du inte kunde gå in i konfiguratorn, men databasen är filbaserad, använd ChDBFl.exe. Detta verktygär analogt med att testa och korrigera fel i konfiguratorn, men enklare.
  4. Se till att alla nuvarande användare av denna infobas använder samma version av plattformen. Om versionerna skiljer sig, installera sedan de senaste för alla.
  5. Om 1C startas i "Enterprise"-läge, ladda sedan upp all data med universell uppladdning/nedladdning till en ny databas.
  6. Inaktivera och vid behov ta bort alla brandväggar och antivirus.
  7. Om denna klientinfobas är en server, kontrollera då om det finns tillräckligt med diskutrymme på servern i mappen för att lagra temporär data.
  8. Avinstallera 1C-plattformen (via kontrollpanelen) och installera den igen.
  9. Om infobasen öppnas i konfiguratorn, försök att ladda upp den till en *.dt-fil och ladda den i en tom.
  10. Använd en HEX-redigerare och ersätt innehållet i en ren databas med innehållet i den där felet uppstod.

Om alla dessa metoder inte hjälper dig, vilket är osannolikt, kan bara en tamburin eller en kvalificerad specialist hjälpa.

Det kan finnas många orsaker till sådana fel. Det första som är vettigt att göra om sådana fel uppstår är att fastställa källan till problemet.

    Förtydliga omständigheterna och tidpunkten för felet: ett fel som inte kan återskapas kan helt enkelt vara en olycka eller ett fel.

    Kontrollera programmets funktion från en annan dator och från en annan konto användare.

    Kontrollera plattforms- och konfigurationsversioner: matchar den aktuella versionen den senaste officiella?

I framtiden, om du inte kan hantera felet på egen hand, måste du förklara arten av dess förekomst för en specialist, dessa frågor kommer att uppstå i alla fall.

Det finns ett antal fel som uppstår vid användning av olicensierad programvara(både "1 °C"-produkter och till exempel operativsystemet Windows). Ett typiskt exempel i fallet med en "trasig" 1C-plattform: en patch som bryter en specifik version av plattformen slutar fungera efter installationen ny version plattform, kommer inloggning i databasen i det här fallet att resultera i meddelandet "Ingen gratis licens hittades."

Viktig! Glöm inte att göra säkerhetskopia dina databaser innan du ändrar något i konfigurationen. Om databasen inte kan öppnas med konfiguratorn, bör du kopiera mappen med databasen med operativsystemet och sedan utföra alla operationer med denna kopia.

Konfigurationsversioner måste vara aktuella (detta är särskilt viktigt vid konfigurationer på grundval av vilka reglerad rapportering skapas). Uppgradera till nuvarande version kommer att vara det första steget för alla utvecklingsspecialister utan undantag, om du kontaktar dem. Efter att ha kontrollerat relevansen av konfigurationsversioner bör du kontrollera relevansen av plattformsversionen (här bör du ta hänsyn till 1C-rekommendationerna: inte alla konfigurationsversioner motsvarar plattformsreleaser).

Fel Korrigeringsmetoder

Databasen öppnas inte

    Plattformsuppdatering.

    Rensa temporära (kontant)filer: ta bort databasen från listan och anslut den igen.

    Logga in på databasen med ett annat konto.

Ingenting fungerar utan uppenbar anledning

    Plattformsuppdatering.

    Sök efter orsaken till felet i loggen.

Dumpa databas vid start

    Inaktiverar hårdvaruacceleration för grafikkortet använder Windows, omstart av systemet.

Databasen öppnas i konfiguratorn, men inte i användarläge

    Plattformsuppdatering.

    Rensa temporära (kontant-) filer.

    Logga in på databasen från ett annat konto (och/eller från ett administratörskonto).

    Logga in i databasen från en annan dator (för att eliminera ett allmänt fel på den nuvarande).

    Testa databasens fysiska integritet med hjälp av verktyget "chdbfl" (mapp C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe) eller, i fallet med en SQL-databas, testning med SQL verktyg.

    Testa och fixa informationssäkerhet med hjälp av konfiguratorn.

Programmet öppnar konfiguratorkoden utan förvarning

    Plattformsuppdatering.

    Rensa temporära (kontant-) filer.

    Kontrollerar koden i felsökaren.

Som regel uppstår denna situation på grund av fel i den modifierade koden, oftast när det gäller icke-standardiserade konfigurationer.

Programmet fungerar olika för olika användare

    Plattformsuppdatering.

    Rensa temporära (kontant-) filer.

    Konfigurera grupprättigheter.

    Konfigurera användarrättigheter.

Formulärblock visas felaktigt

    Plattformsuppdatering.

    Rensa temporära (kontant-) filer.

    Logga in på databasen från ett annat konto (och/eller från ett administratörskonto).

    Logga in i databasen från en annan dator (för att eliminera ett allmänt fel på den nuvarande).

Programmet fungerar inte på vissa datorer i ett fungerande nätverk, men fungerar på andra

    Kontrollera nätverksrättigheter av denna dator(med Windows-verktyg).

    Plattformsuppdatering. I synnerhet bör du kontrollera efterlevnaden av konfigurationsversioner och plattformar inom nätverket.

    Rensa temporära (kontant-) filer.

    Logga in på databasen från ett annat konto (och/eller från ett administratörskonto).

Inte tillräckligt med minne

    Plattformsuppdatering.

    Rensa temporära (kontant-) filer.

    Logga in på databasen från ett annat konto (och/eller från ett administratörskonto).

    Logga in i databasen från en annan dator (för att eliminera ett allmänt fel på den nuvarande).

    Optimering av problematiska frågor.

    Utbyggnad av hårdvaruminne.

    Ökar storleken på växlingsfilen.

    Hantera tilldelat minne via kommandoraden Windows. Rad: "bcdedit /set increaseuserva 3072", där 3072 är storleken på det önskade adressminnet.

DBMS-fel, internt dbeng8-komponentfel

    Uppdatering av plattformen på alla datorer i nätverket.

    Testa databasens fysiska integritet med hjälp av verktyget "chdbfl"yu.

Detta fel är typiskt för nätverk utan en 1C-server och är associerat med skillnader i koden för olika versioner av plattformen på olika åtkomstpunkter.

Den här artikeln kommer att förklara orsakerna, typerna och lösningarna.
"Strömformatfel" 1C.

Alla som arbetar med 1C:Enterprise i valfri konfiguration har åtminstone en gång sett ett fönster med felet "Stream format error".

Detta fönster ingår i de TOP 3 vanligaste 1C:Enterprise-felen. Det är obehagligt eftersom det inte är informativt. Det är inte klart: var och vad är felet? Den naturliga reaktionen skulle vara att klicka på knappen "Starta om", men med stor sannolikhet kan det hävdas att omstart av problemet inte kommer att lösa problemet, och användaren kommer att se det här fönstret igen.

Den här artikeln kommer att förklara orsakerna, typerna och metoderna för att eliminera "Stream Format Error" 1C.

Varför skriver 1C 8 "Stream format errors"?

1C:Enterprise-programmet är skapat på ett sådant sätt att det under sitt arbete ständigt strävar efter att optimera drifthastigheten. För detta ändamål skapas en "cache" på användarens dator, som lagrar ofta använd information, till exempel: plats och form på fönster, användartjänstdata, urvalsinställningar, typsnitt, etc. Cachning gör att du kan minska antalet samtal till servern och därigenom öka hastigheten på 1C:Enterprise.

Men vad händer om "cache"-filen skrivs med ett fel/fel, som ett resultat av en felaktig avslutning av en arbetssession, eller ett strömavbrott eller ett nätverksfel (för klient-serverversionen av 1C)? Nästa gång du försöker komma åt "cachen" kommer 1C inte att kunna läsa filen och fönstret "Stream Format Error" visas. "Broken cache" är den vanligaste orsaken till detta fel.

Förutom en felaktigt skriven cache, kan dokument (eller kataloger eller något annat objekt) också vara felaktigt skrivna till informationsdatabasen, och detta kan också orsaka felet som diskuteras i den här artikeln.

Typer av strömformatfel

Konventionellt kan 1C-strömformatfelet delas in i två typer:

  • Den första typen är ett fel som uppstår vid start av 1C. Det är resultatet av en felaktig avslutning av ett arbetspass eller ett strömavbrott; eller visas efter . I det här fallet måste felet letas efter i cachen.
  • Den andra typen är ett fel som uppstår när man arbetar med 1C, till exempel när man öppnar en katalog, eller när man lägger upp ett dokument, eller när man genererar en rapport, eller när man uppdaterar. I det här fallet måste felet letas in informationsbas.

Beroende på typen av fel kan du välja det lämpligaste alternativet för att eliminera det. Men du kan använda alla metoderna i tur och ordning tills en av dem fungerar. Metoderna kommer inte att skada din 1C 8-databas Men om du agerar som en riktig proffs bör du först göra en säkerhetskopia och först sedan ta itu med "Stream Format Error".

Hur löser jag "Stream format error"?

Låt oss överväga de bästa lösningarna:

1. Rensa 1C-cache

Denna metod diskuterades i detalj i vår artikel "". Låt oss kort påminna om. För att radera cachefiler manuellt måste du hitta de mappar där cachen är lagrad. För operativsystem Win7 och högre temporära filer lagras på C:\Users\Användarnamn\AppData\Roaming\1C Och C:\Users\Användarnamn\AppData\Local\1C i mappar som börjar med "1cv8". I Windows XP, i användarens mapp vid Lokala inställningar\Application Data\1C\. Om mappen AppData inte är synlig, justera synligheten dolda mappar. Bilden nedan visar hur cachefiler ser ut - mappar med långa, oklara namn (i vårt fall finns det bara en fil). För att rensa cacheminnet måste du ta bort dessa mappar.

Viktig! Du kan bara ta bort mappar när processerna för att arbeta med 1C:Enterprise är klara.

2. Börja testa och fixa 1C

I konfiguratorläget måste du klicka på menyalternativet "Administration" och sedan på "Testning och korrigering".

De två första punkterna "omindexering av infobastabeller" och "kontroll av den logiska integriteten för infobasen" bör kontrolleras. Klicka på knappen "Kör". Systemet kommer själv att kontrollera databasen, hitta fel, rätta till dem och ge dig en rapport om utfört arbete. Om det behövs, kontrollera även den tredje punkten "kontrollera informationsbasens referensintegritet".

3. Kör "chdbfl.exe"

Om det inte är möjligt att komma in i konfiguratorn, kör sedan programmet "chdbfl.exe", som finns: “C:\Program Files (x86)\1cv8\8.3……\bin”. Välj databasfilen, markera kryssrutan "Korrigera upptäckta fel" och klicka på knappen "Kör". Då kommer systemet att göra allt åt dig. Systemet självt kommer att kontrollera databasen, hitta fel och rätta till dem. Medan programmet "chdbfl.exe" körs bör det inte finnas några aktiva sessioner med 1C.

4. Ladda upp och ladda informationsbasen i .dt

I konfiguratorläge, välj menyalternativet "Administration" och klicka på "Ladda ner infobas". Efter det, välj platsen där du vill spara databasfilen (.dt), ge filen ett namn och klicka på "Spara".

Efter detta skapar du en ny tom databas på din dator (eller på servern). Gå till konfiguratorn ny bas, klicka på "Administration" och sedan på "Ladda ner infobas". Välj den tidigare förberedda filen och klicka på "Öppna".


5. Ladda upp och ladda XML-data.

Den här metoden kan leda till dataförlust, så den rekommenderas att endast användas av erfarna användare. Metoden liknar den föregående och består i att databasen först laddas ur (endast inte till .dt, som i den föregående metoden, utan till ett speciellt .XML-format). Sedan laddas databasen tillbaka. Detta görs med hjälp av den inbyggda bearbetningen "Ladda upp och ladda XML-data".


6.Uppdatera 1C

Orsaken till felet i fråga kan vara närvaron av aktiva användarsessioner som arbetar i olika versioner. Till exempel, i databasen finns en aktiv användarsession med 1C-plattformen 8.3.5...., och en annan försöker ansluta, med version 8.3.4.... Om flera versioner är installerade på din dator, se till att "rätt" version du behöver är vald i infobasens redigeringsfönster.


7. Andra metoder.

I 99% av fallen kommer ovanstående metoder för att hantera "Stream Format Error" effektivt att göra sitt jobb och felet kommer att "försvinna". I de återstående 1% kommer du att behöva använda mer komplex diagnostik, ibland utanför 1C, till exempel: rensa datorns temporära filer, och inte bara 1C-cachen; kontrollera hårddiskdåliga sektorer med hjälp av verktyget "chkdsk.exe"; kontrollera din dator med antivirus. Du kan till och med försöka köra 1C-databasen på en annan dator och på så sätt lokalisera problemet, se till att felet ligger i informationsdatabasen och inte i hårdvaran eller operativsystemet.

Den här artikeln skapades för att hjälpa dem som stötte på 1C-felet "Stream format error" orsakerna till dess förekomst, dess villkorliga typer och metoder för eliminering diskuterades och förklarades här. Felet ser skrämmande och obegripligt ut på grund av dess osäkerhet, men som vi ser kan det elimineras detta fel alla kan göra det.