Kapcsolatok

A leggyakoribb 1C hibák és javítási módszerek. A leggyakoribb 1C hibák és kijavításuk módszerei Az 1C 8 program hibái

Mindenki tudja, hogy bármely szoftver időről időre különféle hibákat okozhat, vagy egyszerűen fogalmazva nem működik megfelelően. Az ilyen hibákat, amelyek a rendszer megfelelő működésének megzavarásához vezetnek, nevezzük hibákat. Az 1c program egy szoftvertermék (szoftver), ezért ebben a programban különféle hibák is előfordulhatnak, amelyek a rendszer hibás működéséhez vezetnek. nagyon változatos lehet, és ha nem rendelkezik számos speciális tudással a programozás és az 1C belső mechanizmusainak sajátosságai terén, akkor nem fogja tudni helyesen megérteni és diagnosztizálni a hibát, még kevésbé kijavítani. Bármelyik 1c programozónk mindig készen áll a segítségére lenni a kapcsolódó problémák megoldásában 1s hibák!

Mi okoz hibákat az 1C adatbázisban?

Most beszéljünk egy kicsit arról, hogy miért történhetnek különféle dolgok. hibák az 1s adatbázisban amikor a programmal dolgozik. Valójában nagyon sok oka lehet, és mindegyiknek teljesen más okai lehetnek. És mégis, megpróbáljuk általánosságban megérteni a különféle jelenségek megjelenésének okát hibák 1s alatt.

Hibatípusok az 1C adatbázisban

Hibák 1s alatt Nagyon sokféle lehet, és sokféle ok miatt történhetnek. Ebben a cikkben nem vesszük figyelembe az összes lehetséges 1c hibát, megpróbáljuk kiemelni az úgynevezett fő hibákat. Ezeket hagyományosan „típusoknak” nevezzük, mivel a program által megjelenített hiba tartalma általában mindig más, de a lényeg gyakran ugyanaz. Tehát kiemeljük a leggyakoribbakat hibák az 1s adatbázisban:

  1. Adatfolyam formátum hiba
  2. Az objektummező nem található
  3. Az objektum metódusa nem található
  4. Nincs elég memória
  5. SQL-táblákkal kapcsolatos hibák (relációs adatbázisokon, például MySQL-en futó 1C-szerverekre vonatkoznak)
  6. Hozzáférési hiba 1s

Adatfolyam-formátum hiba 1 másodpercen belül

1s adatfolyam-formátum hiba

Az objektummező nem található

Az objektummező nem található

Az index kívül esik a tömb határain

1c hiba

Adatfolyam-formátum hiba 1 másodpercen belül

Ez a hiba nagyon gyakran akkor fordul elő, ha egy parancssorozatot tévesen olvasnak ki egy adatfolyam bájtkódjából, ezért az ún. 1s adatfolyam-formátum hiba. Bármely tranzakció megszakad, ha ez a hiba a végrehajtás eredményeként jelentkezik. Az ilyen hibák azonnali javítást igényelnek, mivel károsíthatják az 1C Enterprise rendszer működését. Ezeket a hibákat csak képzett 1C programozók javíthatják ki.

Az objektummező nem található

Ha az 1c rendszer hibaüzenetet ad a következő szöveggel: Az objektummező nem található", ez azt jelenti, hogy a hiba olyan helyzetben jelentkezik, amikor a program megpróbál hozzáférni egy olyan objektum attribútumához (mezőjéhez), amely egyszerűen nem létezik. Ez a hiba "futásidejű hiba" jellegű, ha az 1C Enterprise-ban fordul elő. Hibák az ilyen típusú is csak javítható programozók.

Az index kívül esik a tömb határain

A programozásban a tömb egy bizonyos memóriaterület, amelyben sok azonos típusú objektum van tárolva (az 1c-ben ilyen típusok lehetnek például DirectoryLink, DocumentObject stb., valamint bármilyen primitív típus, mint például szám, karakterlánc, logikai érték stb.). 1c hiba A tömb határain túllépéssel kapcsolatos művelet pontosan akkor fordul elő, amikor egy program hozzáfér a tömb számára lefoglalt memória határaihoz. Ennek megfelelően a program ebben az esetben hibát generál, és értesíti a felhasználót (programozót), hogy a tömbön kívüli hozzáférés történik, ez pedig szoftverhiba.

Az objektum metódusa nem található

Hasonló hiba lép fel, amikor a rendszer megpróbál hozzáférni egy olyan objektum metódusához (függvényéhez), amelynek leírása nem létezik a kódban. Az ilyen típusú hibákat a programozók kijavíthatják.

Nincs elég memória 1 másodperc alatt

Ez a hiba akkor fordul elő, ha a rendszerből elfogy az operációs rendszerben a programok végrehajtásához lefoglalt összes RAM, ezért a program a hibát generálja " Nincs elég memória 1 másodperc alatt Különféle események során fordulhat elő, például konfiguráció frissítése, nagy fájl feldolgozása, jelentés generálása, nagy adatbázis betöltése stb. során. A felhasználó megpróbálhatja saját maga kijavítani ezt a hibát.

Lehetséges javítás az 1c „Nincs elég memória” hibára

A hiba abban rejlik, hogy az operációs rendszer korlátozott címmemóriát foglal le a szoftver (szoftver) számára.
Az alapértelmezett címmemória korlátok a következők:

  • 32 bites rendszerhez – 2 GB
  • 64 bithez – 4 GB

A címmemória méretének növeléséhez a következőket kell tennie:

  1. Indítsa el a parancssort: "Start - Run" - írja be a CMD-t, és nyomja meg az enter billentyűt
  2. Most írja be a parancssorba idézőjelek nélkül a „bcdedit /set growthuserva 3072” szöveget, ahol 3072 a kívánt címmemória mérete
  3. Indítsa újra az operációs rendszert (számítógépet)
  4. Próbálja meg végrehajtani azt a műveletet az 1C-ben, amely korábban nem működött, és hibához vezetett.
  5. Ha minden sikerült, és a művelet nem ismétlődik meg olyan gyakran, akkor ajánlott a címmemória méretét visszaállítani az alapértelmezett értékre a „bcdedit /deletevalue growthuserva” paranccsal.

SQL táblákkal kapcsolatos hibák

Az ilyen jellegű hibák általában a szerver oldalon fordulnak elő, amikor a rendszer hozzáfér a táblához, és nem tudja olvasni az adatokat. Ez a hiba a kiszolgáló helytelen konfigurációja, valamint az SQL-táblák károsodása miatt fordulhat elő. Különösen nehéz helyzetekben előfordulhat, hogy az adatbázis visszaállítása sem lehetséges, és akkor csak az adatbázis archivált másolata mentheti meg. Erősen javasoljuk, hogy időben készítsen biztonsági másolatot az adatbázisról.

Hozzáférési hiba 1 mp alatt

Ez a hiba akkor fordul elő, amikor a felhasználó olyan műveletet próbál végrehajtani, amelyet a hozzáférési jogok (szerepek) tiltanak. Ez az oka annak, hogy a rendszer 1s hozzáférési hibát ad ki. A szerepeket a programozó konfigurálja a konfigurátorban.

Nem sikerült kijavítani a hibát az 1c-ben?

Ha nem sikerült kijavítania az 1C hibát, ne essen kétségbe, vegye fel a telefont és hívjon minket! Szakembereink mindig készek segíteni az 1C-vel kapcsolatos problémák megoldásában, beleértve a rendszer működése során felmerülő hibákat is.

Ez a cikk elmagyarázza az okokat, típusokat és megoldásokat.
„Streamformátum hibák” 1C.

Mindenki, aki bármilyen konfigurációban dolgozik az 1C:Enterprise programmal, legalább egyszer látott egy ablakot a „Stream format error” hibával.

Ez az ablak szerepel a TOP 3 leggyakoribb 1C:Enterprise hibák között. Kellemetlen, mert nem informatív. Nem világos: hol és mi a hiba? A természetes reakció az „Újraindítás” gomb megnyomása lenne, de nagy valószínűséggel vitatható, hogy a probléma újraindítása nem oldja meg a problémát, és a felhasználó újra ezt az ablakot fogja látni.

Ez a cikk elmagyarázza a „Stream Format Error” 1C kiküszöbölésének okait, típusait és módszereit.

Miért írja ki az 1C 8 „Stream format errors”?

Az 1C:Enterprise program úgy készül, hogy munkája során folyamatosan törekszik a műveletek sebességének optimalizálására. Ebből a célból a felhasználó számítógépén egy „gyorsítótár” jön létre, amely a gyakran használt információkat tárolja, például: az ablakok elhelyezkedése és alakja, felhasználói szolgáltatás adatai, kiválasztási beállítások, betűtípusok stb. A gyorsítótárazás lehetővé teszi a szerver felé irányuló hívások számának csökkentését, és ezáltal az 1C:Enterprise sebességének növelését.

De mi történik, ha a „gyorsítótár” fájl hibával vagy hibával íródik, egy munkamenet helytelen leállítása, vagy túlfeszültség vagy hálózati hiba következtében (az 1C kliens-szerver verziója esetén)? Amikor legközelebb megpróbál hozzáférni a „gyorsítótárhoz”, az 1C nem tudja olvasni a fájlt, és megjelenik a „Stream Format Error” ablak. A „sérült gyorsítótár” a hiba leggyakoribb oka.

A hibásan megírt gyorsítótár mellett a dokumentumok (vagy könyvtárak vagy bármely más objektum) is hibásan kerülhetnek az információs bázisba, és ez is okozhatja a cikkben tárgyalt hibát.

Az adatfolyamformátum-hibák típusai

Hagyományosan az 1C adatfolyam formátumhibája 2 típusra osztható:

  • Az első típus az 1C indításakor fellépő hiba. Ez egy munkamenet helytelen megszakítása vagy áramszünet eredménye; vagy után jelenik meg. Ebben az esetben a hibát a gyorsítótárban kell keresni.
  • A második típus egy olyan hiba, amely az 1C-vel való munka során fordul elő, például egy könyvtár megnyitásakor vagy egy dokumentum feladásakor, vagy jelentés generálásakor vagy frissítéskor. Ebben az esetben az információs adatbázisban kell keresni a hibát.

A hiba típusától függően kiválaszthatja a legmegfelelőbb megoldást annak kiküszöbölésére. De használhatja az összes módszert egymás után, amíg az egyik nem működik. A módszerek nem károsítják az 1C 8 adatbázist. Ha azonban igazi profiként viselkedik, először készítsen biztonsági másolatot, és csak azután kezelje a „Stream Format Error”-t.

Hogyan lehet megoldani a „Stream formázási hibát”?

Nézzük a TOP megoldásokat:

1. Törölje az 1C gyorsítótárat

Ezt a módszert részletesen tárgyaltuk a „” cikkünkben. Emlékezzünk vissza röviden. A gyorsítótár fájlok kézi törléséhez meg kell találnia azokat a mappákat, amelyekben a gyorsítótár található. A Win7 és újabb operációs rendszerek esetében az ideiglenes fájlok a következő helyen tárolódnak C:\Felhasználók\Felhasználónév\AppData\Roaming\1CÉs C:\Felhasználók\Felhasználónév\AppData\Local\1C"1cv8" kezdetű mappákban. Windows XP rendszerben a felhasználó mappájában a Helyi beállítások\Alkalmazásadatok\1C\ mappában. Ha az AppData mappa nem látható, állítsa be a rejtett mappák láthatóságát. Az alábbi ábra azt mutatja, hogyan néznek ki a gyorsítótár-fájlok – hosszú, nem egyértelmű nevű mappák (esetünkben csak egy fájl van). A gyorsítótár törléséhez törölnie kell ezeket a mappákat.

Fontos! A mappákat csak akkor törölheti, ha az 1C:Enterprise szolgáltatással végzett munka befejeződött.

2. Kezdje el az 1C tesztelését és rögzítését

Konfigurátor módban az „Adminisztráció” menüpontra, majd a „Tesztelés és javítás” menüpontra kell kattintani.

Az első két pontot „Információsbázis táblák újraindexelése” és „Az infobázis logikai integritásának ellenőrzése” kell ellenőrizni. Kattintson a „Futtatás” gombra. A rendszer maga ellenőrzi az adatbázist, megtalálja a hibákat, kijavítja azokat, és jelentést készít az elvégzett munkáról. Ha szükséges, ellenőrizze a harmadik „információs bázis hivatkozási integritásának ellenőrzése” pontot is.

3. Futtassa a „chdbfl.exe” fájlt

Ha nem lehetséges belépni a konfigurátorba, futtassa a „chdbfl.exe” programot, amely a következő helyen található: „C:\Program Files (x86)\1cv8\8.3……\bin”. Jelölje ki az adatbázisfájlt, jelölje be a „Javítsa ki az észlelt hibákat” jelölőnégyzetet, és kattintson a „Futtatás” gombra. Akkor a rendszer mindent megtesz helyetted. A rendszer maga ellenőrzi az adatbázist, megtalálja a hibákat és kijavítja azokat. Amíg a „chdbfl.exe” program fut, az 1C-vel nem lehet aktív munkamenet.

4. Töltse fel és töltse be az információs bázist a .dt fájlba

Konfigurátor módban válassza az „Adminisztráció” menüpontot, majd kattintson az „Információsbázis letöltése” gombra. Ezután válassza ki azt a helyet, ahová menteni szeretné az adatbázisfájlt (.dt), adjon nevet a fájlnak, majd kattintson a „Mentés” gombra.

Ezt követően hozzon létre egy új üres adatbázist a számítógépén (vagy a kiszolgálón). Nyissa meg az új adatbázis-konfigurátort, kattintson az „Adminisztráció”, majd az „Információsbázis letöltése” elemre. Válassza ki az előzőleg elkészített fájlt, és kattintson a „Megnyitás” gombra.


5. XML adatok feltöltése és betöltése.

Ez a módszer adatvesztést okozhat, ezért csak tapasztalt felhasználóknak ajánlott használni. A módszer hasonló az előzőhöz, és abból áll, hogy először az adatbázist ki kell tölteni (csak nem .dt-be, mint az előző módszernél, hanem egy speciális .XML formátumba). Ezután az adatbázis újra betöltődik. Ez a beépített „XML adatok feltöltése és betöltése” feldolgozás segítségével történik.


6. Frissítés 1C

A szóban forgó hiba oka különböző verziókban futó aktív felhasználói munkamenetek jelenléte lehet. Például az adatbázisban van egy aktív felhasználói munkamenet az 1C platform 8.3.5.... verziójával, és egy másik próbál csatlakozni, a 8.3.4 verziójú.... Ha több verzió van telepítve a számítógépére, győződjön meg arról, hogy az információsbázis szerkesztőablakban a kívánt „helyes” verzió van kiválasztva.


7. Egyéb módszerek.

Az esetek 99%-ában a fenti „Stream Format Error” kezelési módszerek hatékonyan elvégzik a dolgukat, és a hiba „elmúlik”. A fennmaradó 1% -ban összetettebb diagnosztikát kell használnia, néha az 1C hatókörén kívül, például: tisztítsa meg a számítógép ideiglenes fájljait, és ne csak az 1C gyorsítótárat; ellenőrizze a merevlemezen a hibás szektorokat a „chkdsk.exe” segédprogrammal; ellenőrizze a számítógépét víruskeresővel. Megpróbálhatja akár egy másik számítógépen is futtatni az 1C adatbázist, és így lokalizálni a problémát, ügyelve arra, hogy a hiba az információs adatbázisban rejlik, és ne a hardverben vagy az operációs rendszerben.

Ez a cikk azért jött létre, hogy segítsen azoknak, akik találkoztak az „Stream format error” 1C hibával, ennek okait, feltételes típusait és megszüntetésének módjait itt tárgyaltuk és ismertettük. A hiba a bizonytalansága miatt ijesztőnek és érthetetlennek tűnik, de mint látjuk, ezt a hibát mindenki ki tudja küszöbölni.

A jogi szerződés elején, különösen az informatikai területen, általában van egy Feltételek című rész. Megmagyarázza, hogy ez vagy az IT szó mit jelent vagy tartalmaz.

De az olyan igazán összetett szavakon kívül, mint a szerver vagy a weboldal, a programozók számára közönséges, jól ismert szavak egészen mást is jelenthetnek. Például hibákat. Univerzális értelemben ez a szó helytelen cselekvést jelent. Valami, amiért a szerzője akár szégyellheti magát.

Programozási értelemben a hiba szónak valószínűleg két definíciója van.

Mit jelent a „hiba” kifejezés a programozásban és az 1C-ben?

A hiba olyan program, amely a tervezetttől eltérően viselkedik. Minden számítógép egyedi programok és hardverkészlet, amely különbözik egy másik számítógéptől.

Mind a hardver, mind a programok szabványosítása lehetővé teszi, hogy feltételezzük, hogy a programok minden számítógépen ugyanúgy működnek, de valójában mindig adódhatnak bizonyos körülmények, amikor a program szerzője meglepődik, hogy a program miért pont így működik, és nem másként.

Ez valószínűleg magában foglalhatja azokat a helyzeteket is, amikor a program valamit rosszul csinál, mert a programozó elfelejtett valamit, vagy nem gondolt rá.

A hiba egy program speciális üzenete az aktuális körülményekről, amikor a program nem tudja megtenni azt, amit kellett volna. Úgy tűnhet, hogy ez ugyanaz, de nem az.

Például a programozó célja volt, hogy először a felhasználó nyissa meg a fájlt, majd a program ezt-azt csinálja. Amikor azonban a programot a felhasználó számítógépére másolták, és a felhasználó elfelejtette megnyitni a fájlt. Vagy megpróbáltam megnyitni, de a fájl hibásnak bizonyult, vagy elromlott a merevlemez.
A program pedig azt mondja a felhasználónak: Hé, hiba történt! Nem tudom megtenni, amit kellene.

Az 1C hibáknak több szintje van - először is, az 1C hibaüzenetek tartozhatnak, amelyek bizonyos műveletek végrehajtásának lehetetlenségét jelzik, amelyeket a jelenlegi körülmények miatt kellett volna.

A második szint az 1C nyelvű programban előforduló 1C hibák. Igen, a platform sikeresen végrehajt egy 1C programozó által írt programot, de előfordulhat, hogy a program hibásan van megírva, vagy a jelenlegi körülmények között (ezen a számítógépen, egy adott felhasználó ilyen műveleteivel stb.) sem hajtható végre.

A harmadik szint az 1C hibák az adatokban. Az adatbázisban lévő adatok egymással össze vannak kötve. Előfordulhatnak azonban olyan helyzetek, amikor az adatok megsérülnek. Például az egyik űrlapon nincs elegendő ellenőrzés ahhoz, hogy egy különösen kreatív felhasználó ne írjon be valamit hibásan. Továbbá előfordulhat, hogy a program hibásan működik, mert az algoritmus nem számított arra, hogy valaki ezt beírja.

1C hibaüzenet

Az 1C hibát jelez egy program 1C nyelven történő végrehajtása során, egy szabványos ablak használatával, az 1C hiba szövegével, valamint az OK és a További gombokkal.

Sőt, itt az a titok, hogy ez az ablak csak egy rövid 1C hibaüzenetet jelenít meg, ami gyakran nem mond semmit a programozónak.

A részletek megtekintéséhez kattintson a Részletek gombra. Még az a programsor is megjelenik, amelyben az 1C hiba történt. A konfigurátorban közvetlenül is elérheti ezt a sort.

De a felhasználók nem tudnak erről... És mindig küldenek egy képernyőképet az első ablakról. Ha elküldik :)

Kivételt dobni

Tehát az 1C programozási hibát úgy tekintjük, mint módot/lehetőséget arra, hogy egy program tájékoztassa a felhasználót arról, hogy nem tud valamit megtenni.

Példa. Meg kell nyitnia a fájlt. De megnyitáskor 1C hibák lehetségesek - például a felhasználónak nincs hozzáférése a fájl olvasásához. Írhatunk így:


Ha File = False Akkor
Report("Nem sikerült megnyitni a fájlt");
Másképp
//a program továbbmegy, csinálunk valamit a fájllal
endIf;

Ebben a példában figyelembe vettük, hogy a fájl nem nyitható meg az „If” konstrukcióval.

Ennek a példának azonban nyilvánvaló hátrányai vannak:

  • Sok ilyen lehetőség lehet (nem nyílik meg a fájl, nem olvassa be a fájlt a végéig, a felhasználó részeg, le van kapcsolva az áram..)
  • Lehetnek olyan fel nem számolt lehetőségek, amelyekre a programozó nem gondolt.

Ezért a programozás során szokásos a „kivétel dobása” nevű technikát használni - vagyis lehetővé tenni az 1C hiba előfordulását.

A program úgy tesz, mintha a fájl mégis megnyílik. Nincs ráírva, hogy „ha”. Ha valami elromlik, a program valóban 1C hibát jelez - a végrehajtása megszakad.

Az 1C maga nem nyitja meg a fájlt - meghívja a Windows API parancsot. A Windows is ezzel a technikával íródott. Így elképzelhető egy végrehajtási megszakítási lánc a Windows rendszerrel kezdődően:

  • 1C nyelv - parancs a fájl megnyitásához
  • 1C platform - parancs egy fájl megnyitásához
  • Windows API - fájl megnyitása parancs
  • Összeszerelő program - parancs egy fájl megnyitásához
  • Hoppá! A fájl nem nyílik meg!
  • Az assembler program megszakadt!
  • A Windows API funkció megszakadt!
  • Az 1C platform program végrehajtása megszakadt!
  • Az 1C nyelvű program megszakadt!
  • A felhasználó látja az üzenetet.

Kérdés: ki jeleníti meg az 1C hibaüzenetet? Honnan származik?

A kivételek elfogása és kezelése

Ezzel el is érkeztünk a következő trükkhöz: a lánc végrehajtása során keletkező kivételek elkapásához.

A kivételek a végrehajtás alsó szintjétől felfelé haladnak a láncban. Ha az utolsó szint nem kezelte a kivételt, akkor az előző szint kezeli.

Példa. Kezeljük a kivételt 1C nyelven:
Kísérlet
Fájl = OpenFile(Fájlnév);
String = File.Read();
Kivétel
Report("A fájl nem nyitható meg: nem létezik vagy nincs hozzáférési joga");
EndAttempt;

Ebben a példában mi magunk dolgoztuk fel a kivételt (azaz egy kivételes helyzetet vagy egy 1C hibát). Így mi vagyunk azok, akik értesítjük a felhasználót egy „hibáról” - a fájl megnyitásának képtelenségéről.

Ha ezt mi magunk tesszük, akkor lehet, hogy nem mondunk semmit a felhasználónak, hanem egyszerűen egy másik opciót követünk a program végrehajtásához.

Könnyen belátható, hogy ez a módszer olyan esetekben is használható, amikor a kód egy részében „valami” 1C hiba léphet fel. „Elkapjuk” és feldolgozzuk, vagy jelentjük a felhasználónak.

Mi történik, ha nem fogjuk el és nem dolgozzuk fel az 1C hibát a „legfelső” szinten? Majd a következő szint az alábbi jelentést fogja tenni – az 1C platform. Éppen arról beszélgettünk, hogyan csinálja ezt, és megnéztük a képernyőképet.

Mi történik, ha a platform nem kezeli ezt? Így van – ez általában alacsonyabb szinten működik – Windows. Ebben az esetben az 1C program „összeomlik”, és a Windows jelenti, hogy a program érvénytelen műveletet hajtott végre, és bezárul.

Mi történik, ha a Windows nem kezeli ezt? Valószínűleg már látta – a számítógép lefagy vagy újraindul.

Beágyazott lehallgatás és tranzakciók

Mit gondol, milyen üzeneteket fog látni a felhasználó a példa futtatásakor?

Kísérlet
Kísérlet
f = 1/0;
Kivétel
Report("Konkrét hiba");
EndAttempt;
Kivétel
Report("Általános hiba");
EndAttempt;

Jobb! A belső kezelő tüzel, és „Speciális hibát” jelent, de a külső nem fog működni.

Viszont a program szempontjából itt 1C hiba lépett fel, bár ki lett dolgozva. Valahol az agyában a platformnak eszébe jutott, hogy 1C hiba történt.

Ez hatással van a tranzakciók befejezésére. A tranzakció egy adatbázisban lévő adatokon végzett több művelet, amelyeket csak együtt kell végrehajtani. Amint tudjuk, az 1C hibák okai lehetnek annak, hogy nem tudják együtt teljesíteni. Ezért a következő mechanizmus létezik:

StartTransaction();
//létrehozta az 1-es könyvtárat, de valójában nem került be az adatbázisba
Ref1.Write();
//létrehozta a 2-es könyvtárat, de valójában az nem volt beírva az adatbázisba
Ref2.Write();
CommitTransaction();
//ez a parancs mindent beírt az adatbázisba, ami a „Tranzakció indítása”-tól kezdve történt

A CommitTransaction() függvény csak akkor hajtható végre, ha a StartTransaction() hívás óta nem történt 1C hiba.

Ha egy ilyen kód írásakor megérti, hogy ez a kódsor 1C hibát tartalmazhat, beállíthatja a feldolgozást a Kísérlet/Kivétel segítségével. Ebben az esetben azonban a platform továbbra is figyelembe veszi, hogy 1C hiba történt, és nem rögzíti a tranzakciót, és nem ír adatokat az adatbázisba.

Nem szándékos 1C hibák

Tehát az 1C programban a programozó 1C hibát követhet el. Ebben az esetben az 1C platform jelenteni fogja.

Abban az esetben, ha nem tudja megérteni, miért és mikor fordul elő ilyen 1C hiba, használhatja a Kísérlet/Kivétel funkciót az 1C hiba kezelésére.

A Try/Exception is használható abban az esetben, ha egy garantáltan hibamentes részt szeretne létrehozni a programból. Biztos lehet benne, hogy még ha 1C hiba történik is, azt elkapja és különleges módon kezeli.

Szándékos hibák 1C

A program szövegében úgy teheti, mintha a fájl mindig megnyílik, és a szám mindig fel lesz osztva. De használja a Kísérlet/Kivétel lehetőséget, hogy a programot másik javítási lehetőségre váltsa, ha ez megtörténne. Vagy egyszerűen tájékoztassa a felhasználót az 1C hibáról.

Saját 1C hibahívás

Ön is létrehozhat függvényeket, amelyek, ha nem hajthatók végre, kivételt dobva jelenthetik ezt.

Ezt így teheti meg:

DoSomething függvény (paraméter)
Ha Paraméter = Undefined Akkor
Raise Exception "Hiba történt a DoSomething funkcióban. Paraméter nincs megadva";
endIf;
EndFunction

Mire jó ez? Abban az esetben, ha olyan funkciót hoz létre, amelyet sok helyen használni fognak, és talán mások is használni fogják, ez egy jó módja annak, hogy több legyet egy csapásra megöljön:

  • Határozza meg az 1C hibát
  • Jelentsen egy 1C hibát magasabb szintre (a függvényt meghívó programnak)
  • Ne csak az 1C hibát jelentse, hanem a szöveget/részleteket is
  • Garantáltan nem csak a saját funkciójának, hanem minden szintnek a végrehajtását is megszakítja, ha az azokat író programozó nem gondolta volna, hogy ilyen 1C hiba létezhet, és nem kezelte.

Helyesebb módszerek az 1C hibák bejelentésére

Általában, ha valamit közölni kell a felhasználóval, .

A szabványos konfigurációkban azonban, mint például a számvitel, a kereskedelemmenedzsment, az SCP, van egy speciális funkció:
General Purpose.ReportError("Szöveg");

Előnyei:

  • Az üzenet formája a futó klienstől függ
  • Rögzíti az információkat a naplóba
  • Egyes konfigurációkban az 1C hibaüzenet szebb formáját valósították meg.

Hibaelemzés

Amikor az 1C platform fut, a regisztrációs napló működik. A felhasználói műveletek mellett információkat tárol az 1C platform működése során fellépő 1C hibákról is.

A konfigurátorban válassza az Adminisztráció/Napló menüpontot.

Kattintson a Kiválasztás gombra (mint a képen). Csak az 1C hibákhoz állítsa be az események kiválasztását.

A napló megjeleníti a felmerült hibák listáját. Kattintson egy sorra egy adott üzenet részletesebb megtekintéséhez.

Az adatfolyam formátum hibájának leírása az 1C 8.3-ban

Az 1C adatfolyamformátum-hibája leggyakrabban az összes felhasználó között fordul elő. És általában ilyen esetekben nehéz megmagyarázni a megjelenését - úgy tűnik, hogy 1C-ben dolgoztak, minden a szokásos. Az 1C ismételt elindításakor ezt az üzenetet kapjuk:

A Stream Format Error gombok egyike sem teszi lehetővé az adatbázis elindítását és a munka folytatását. Pontosan azért, mert ez a hiba a legnépszerűbb és leggyakrabban előforduló, először elmagyarázzuk ennek okait, és csak ezután térünk át a megoldási módszerek átgondolására.

Az adatfolyam formátumhibájának okai az 1C 8.3-ban

Az 1C adatfolyam-formátum hibája az adatbázis-gyorsítótár beolvasásával kapcsolatos, amikor hozzáfér. A gyorsítótár leegyszerűsítve egy segédinformáció (beállítások, kedvencek, gyakori parancsok stb.) 1C, az adatbázistól elkülönített fájlokban tárolva. Működés közben az 1C rendszeresen hozzáfér a gyorsítótárhoz. Ha olyan helyzet áll elő, amikor ez a hozzáférés megszakadt (áramkimaradás, hálózati problémák, az 1C vészleállítása során), előfordulhat, hogy a gyorsítótár hibásan íródik. Ebben az esetben a későbbi indításkor a gyorsítótár olvasása ugyanahhoz a hibához vezet - adatfolyam-formátum hibához az 1C-ben.

Az adatfolyamformátum-hibák megoldásának módjai az 1C 8.3-ban

Mielőtt elkezdené a probléma megoldását bármelyik módszerrel, mindenképpen készítsen biztonsági másolatot az adatbázisáról! Ez segít visszatérni az eredeti eredményhez olyan esetekben, amikor a probléma megoldására tett kísérlet sikertelen.

Ha gyorsan szeretne biztonsági másolatot készíteni, nyissa meg az adatbázist tartalmazó mappát (az 1. módszer szerint), és másolja át a tartalmát egy másik helyre. Hibajavítási munkákat csak biztonsági másolattal végezzen!
1.
2.
3.
4.
5.
6.

Az 1C adatbázis gyorsítótárának törlése

A legtöbb esetben a legegyszerűbb és leghasznosabb módszer az 1C adatbázis gyorsítótárának törlése. Ehhez indítsa el az 1C: Enterprise alkalmazást, és keresse meg az adatbázis tárolási útvonalát:

Nyissuk meg ezt a mappát az Intézőben, és töröljük az összes fájlt, kivéve az adatbázisfájlt, ahogy az alábbi ábrán látható. Vegye figyelembe, hogy a fájlok száma eltérő lehet, mindegyiket törölni kell, kivéve egyet - 1Сv8 (fájlinformációs adatbázis).

1C gyorsítótár törlése

A következő módszer az 1C: Enterprise gyorsítótár törlése. Ehhez meg kell nyitnia azokat a mappákat, amelyekben tárolják őket. A Windows 7 és újabb rendszereken ezek közül kettő van:

C:\Felhasználók\Felhasználónév\AppData\Roaming\1C

C:\Felhasználók\Felhasználónév\AppData\Local\1C

Mindkettőből törölnie kell az 1cv8 mappát:

A gyorsítótár törlése után próbáljon meg újra bejelentkezni az adatbázisba. A hiba továbbra is fennáll? Próbálja ki a következő módszert.

Az adatbázis javítása a chdbfl.exe segédprogrammal

Lehetséges, hogy az adatfolyamformátum hibája magában az adatbázisban lévő hibához kapcsolódik. Ehhez érdemes a chdbfl.exe speciális programmal ellenőrizni, amely az 1C: Enterprise csomagban található. Ehhez lépjen a programot tartalmazó mappába (leggyakrabban ez a C:\Program Files\1cv8\8.3.XX.YYY\bin\), és keresse meg a chdbfl.exe fájlt:

Miután megnyitotta, kattintson a jobb felső sarokban lévő ellipszisre, és keresse meg a törött adatbázisfájlt. A fenti módszer alapján azt mondhatjuk, hogy ez ugyanaz az adatbázisfájl, amelyet nem törölt a gyorsítótár törlésekor.

Ezután jelölje be az észlelt hibák javítása jelölőnégyzetet, és kattintson a Futtatás gombra. Várja meg, amíg az ellenőrzés befejeződik, és próbálja meg elindítani az adatbázist. A hiba továbbra is fennáll? Próbálja ki a következő módszert.

Az adatbázis tesztelése és javítása a Configurator segítségével

Az 1C adatfolyamformátum-hibájának megoldásának következő módja az adatbázis tesztelése és javítása, amely elérhető a konfigurátorból.

Indítsa el az 1C: Enterprise alkalmazást a konfigurátor módban:

A megnyíló konfigurátorban válassza az Adminisztráció – Tesztelés és javítás menüpontot:

A megnyíló ablakban állítsa be az alábbi ábrán látható beállításokat, majd kattintson a Futtatás gombra.

Várja meg, amíg az összes eljárás befejeződik. Zárja be a Konfigurátort, és próbáljon meg bejelentkezni az adatbázisba. A hiba továbbra is fennáll? Próbálja ki a következő módszert.

Az adatbázis fel- és betöltése dt-n keresztül

Ez a módszer segíthet kiküszöbölni azokat a hibákat, amelyeket a jelen cikk 3. és 4. bekezdése nem küszöböl ki. Jelentkezzen be az adatbázisba a Konfigurátor módban, a fenti módszer szerint. Válassza az Adminisztráció – Infobázis feltöltése lehetőséget:

A megnyíló ablakban válassza ki a kirakodási helyet. Bármi lehet, a legfontosabb, hogy emlékezzen erre a helyre.

Kattintson a Mentés gombra, és várja meg, amíg a feltöltés befejeződik. Lépjen ki a Konfigurátor módból. Nyissa meg újra az 1C: Enterprise alkalmazást, és válassza a Hozzáadás – Új információs bázis létrehozása – Információsbázis létrehozása konfiguráció nélkül – Következő – Befejezés lehetőséget.

Nyissa meg a létrehozott adatbázist a konfigurátoron keresztül, és kattintson az Adminisztráció – Információsbázis betöltése elemre. A megnyíló ablakban jelölje meg az imént létrehozott feltöltési fájlt. Várja meg, amíg a letöltés befejeződik, zárja be a Konfigurátort, és próbáljon meg bejelentkezni az új letöltött adatbázisba. A hiba továbbra is fennáll? Próbálja ki a következő módszert.

Speciális módszerek az 1C adatformátum hibáinak megoldására

Az 1C adatformátum-hibáinak megoldására szolgáló fejlett módszerek részletes tárgyalása túlmutat e cikk keretein, mivel használatukhoz bizonyos ismeretekkel kell rendelkeznie a számítógép kezelésének területén, így mindegyikre vonatkozó utasítások és megjegyzések elég terjedelmes.

Ezek felsorolására szorítkozunk:
1. Adatok fel- és betöltése nem működő és üres adatbázis között az „XML adatok feltöltése és betöltése” feldolgozás segítségével.
2. Az 1C különböző verzióit, amelyek ugyanabban az adatbázisban működnek a hálózaton keresztül (további részletekért lásd), rendbe kell tenni.
3. Az IPv6 protokoll letiltása a Windows rendszerleíró adatbázisán keresztül.
4. Az 1C: Enterprise újratelepítése vagy frissítése.
5. Vigye át az adatbázist egy másik számítógépre, és próbálja meg ott futtatni.
6. Tűzfalak és/vagy víruskeresők letiltása vagy eltávolítása.
7. Az adatfolyam formátumának ellenőrzése a Tool_1CD segédprogrammal
8. Frissítse a konfigurációt a .cf fájl segítségével.

Nem oldódott meg a „Streamformátum hiba az 1C 8.3-ban” probléma? Kérjen ingyenes konzultációt szakembereinktől a probléma megoldásához!

Az 1C 8.3-ban gyakran előfordul egy ilyen probléma, mint például a Stream format error. Nézzük meg, hogyan lehet ezt a hibát kijavítani.

Mit jelent az adatfolyam-formátum hiba az 1s 8.3-ban?

Ez a következő helyzetekben fordul elő:

  1. Az 1C Enterprise 8.2 vagy a konfigurátor indításakor jelentkező adatfolyamformátum-hiba általában gyorsítótár-problémákkal jár. Általában az okozza, hogy a rendszer nem áll le megfelelően például áramszünet miatt. Ezért erősen ajánlott szünetmentes tápegységeket telepíteni, hogy ne vesszenek el fontos információk. A hiba gyakran az adatbázis elindításakor jelenik meg a konfiguráció frissítése után.
  2. A második helyzet jelentéskészítéskor, például jelentés megnyitásakor, dokumentum feladásakor, dokumentum megnyitásakor stb. Ez gyakran pontosan az adatbázisban lévő információtartalomnak köszönhető. Ennek a hibának az oka leggyakrabban a rendszeren belüli „megszakadt” információk jelenléte.

Szerezzen 267 videóleckét 1C-n ingyen:

Javítás

  1. A probléma megoldásához általában elegendő az ideiglenes fájlok megtisztítása a rendszeren. .
  2. Ha nem segít, de be tud lépni a konfigurátorba, futtassa a .
  3. Ha nincs hozzáférése a konfigurátorhoz, és az adatbázis teszt, használja azt, amely a program mappájában található.
  4. Ha a fenti módszerek nem segítenek, de az 1C Enterprise mód elindul, töltse fel az adatokat egy új adatbázisba a „ ” feldolgozás segítségével. Ez azonban adatvesztést eredményezhet.
  5. Frissítés. Egy másik ok lehet az aktív felhasználói munkamenetek jelenléte az 1C platform kliens részének különböző verzióival. Vagyis például egy 8.3.5.1517 1C platformmal rendelkező felhasználó dolgozik az adatbázisban, és egy másik próbál csatlakozni, a 8.3.5.1444 verziójú.

Ha ez nem segít, vannak kifinomultabb módszerek a probléma megoldására. Például egy HEX szerkesztő használatával. Ha szakképzett segítségre van szüksége az 1C programozóktól, forduljon hozzánk! Részletek az oldalon



Tetszett a cikk? Oszd meg