Objekto metodas ataskaitai generuoti nerastas.

Visi žino, kad bet kuri programinė įranga kartkartėmis gali sukelti įvairių trikdžių arba, paprasčiau tariant, netinkamai veikti. Tokie gedimai, dėl kurių sutrinka tinkamas sistemos veikimas, vadinami klaidų. 1c programa yra programinės įrangos produktas (programinė įranga), todėl šioje programoje taip pat gali atsirasti įvairių klaidų, dėl kurių sistema gali veikti netinkamai. gali būti labai įvairus, ir jei jūs neturite daug specialių žinių programavimo srityje ir vidinių 1C mechanizmų specifikos, tada negalėsite teisingai suprasti ir diagnozuoti klaidos, o tuo labiau jos ištaisyti. Bet kuris mūsų 1c programuotojas visada pasiruošęs padėti išspręsti bet kokias su tuo susijusias problemas 1s klaidos!

Kas sukelia klaidas 1C duomenų bazėje?

Dabar pakalbėkime šiek tiek apie tai, kodėl gali nutikti įvairių dalykų. klaidų 1s duomenų bazėje dirbant su programa. Tiesą sakant, priežasčių gali būti daug ir visos jos gali turėti visiškai skirtingas priežastis. Ir vis dėlto pabandysime bendrais bruožais suprasti įvairių atsiradimo priežastį klaidos per 1s.

Klaidų tipai 1C duomenų bazėje

Klaidos per 1s Gali būti labai įvairių ir jie gali atsitikti dėl įvairių priežasčių. Šiame straipsnyje mes nenagrinėsime visų galimų 1c klaidų, pabandysime pabrėžti vadinamuosius pagrindinius pasitaikančių klaidų „tipus“. Paprastai juos vadiname „tipais“, nes programos rodomos klaidos turinys paprastai visada skiriasi, tačiau esmė dažnai yra ta pati. Taigi išskirkime dažniausiai pasitaikančius klaidų 1s duomenų bazėje:

  1. Srauto formato klaida
  2. Objekto laukas nerastas
  3. Objekto metodas nerastas
  4. Truksta atminties
  5. Klaidos, susijusios su SQL lentelėmis (susijusios su 1C serveriais, kurie veikia reliacinėse duomenų bazėse, pvz., MySQL)
  6. Prieigos klaida 1s

Srauto formato klaida per 1 sek

1 s srauto formato klaida

Objekto laukas nerastas

Objekto laukas nerastas

Indeksas yra už masyvo ribų

1c klaida

Srauto formato klaida per 1 sek

Ši klaida labai dažnai pasitaiko, kai komandų seka per klaidą nuskaitoma iš srauto baito kodo, todėl ji vadinama 1 s srauto formato klaida. Bet kuri operacija bus nutraukta, jei ši klaida įvyks dėl jos vykdymo. Tokias klaidas reikia nedelsiant ištaisyti, nes jos gali pakenkti „1C Enterprise“ sistemos veikimui. Šias klaidas gali ištaisyti tik kvalifikuoti 1C programuotojai.

Objekto laukas nerastas

Jei 1c sistema pateikia klaidos pranešimą su tekstu " Objekto laukas nerastas", tai reiškia, kad klaida įvyksta situacijoje, kai programa bando pasiekti objekto atributą (lauką), kurio tiesiog nėra. Ši klaida yra "vykdymo laiko klaida", jei ji įvyksta 1C įmonėje. Klaidos tokio tipo taip pat gali būti pataisyti tik programuotojai.

Indeksas yra už masyvo ribų

Masyvas programuojant yra tam tikra atminties sritis, kurioje saugoma daug to paties tipo objektų (1c tokie tipai gali būti, pavyzdžiui, DirectoryLink, DocumentObject ir kt., taip pat bet kokie primityvūs tipai, tokie kaip skaičius, eilutė, Būlio reikšmė ir tt). 1c klaida susijęs su masyvo ribų peržengimu, įvyksta būtent tada, kai programa pasiekia masyvei skirtos atminties ribas. Atitinkamai, programa tokiu atveju generuoja klaidą ir praneša vartotojui (programuotojui), kad įvyksta prieiga už masyvo ribų, o tai savo ruožtu yra programinės įrangos klaida.

Objekto metodas nerastas

Panaši klaida atsiranda, kai sistema bando pasiekti objekto metodą (funkciją), kurio aprašymas kode neegzistuoja. Tokio tipo klaidas gali ištaisyti programuotojai.

Nepakanka atminties per 1 sek

Ši klaida atsiranda, jei sistemoje baigiasi visa RAM, skirta operacinės sistemos programų vykdymui, todėl programa generuoja klaidą " Nepakanka atminties per 1 sek". Tai gali atsirasti įvairių įvykių metu, pavyzdžiui, atnaujinant konfigūraciją, apdorojant didelį failą, generuojant ataskaitą, įkeliant didelę duomenų bazę ir pan. Vartotojas gali pabandyti ištaisyti tokią klaidą pats.

Galimas 1c klaidos „Nepakanka atminties“ pataisymas

Klaida slypi operacinės sistemos ribotame adresų atminties paskirstyme programinei įrangai (programinei įrangai).
Numatytosios adresų atminties ribos yra šios:

  • 32 bitų sistemai – 2GB
  • 64 bitams – 4 GB

Norėdami padidinti adreso atminties dydį, turite atlikti šiuos veiksmus:

  1. Paleiskite komandų eilutę: „Pradėti – paleisti“ - įveskite CMD ir paspauskite enter
  2. Dabar komandinėje eilutėje įveskite tekstą be kabučių „bcdedit /set growthuserva 3072“, kur 3072 yra norimos adreso atminties dydis
  3. Iš naujo paleiskite operacinę sistemą (kompiuterį)
  4. Pabandykite atlikti tą veiksmą 1C, kuris anksčiau neveikė ir sukėlė klaidą.
  5. Jei viskas pavyko ir operacija kartojama ne taip dažnai, rekomenduojama adreso atminties dydį grąžinti į numatytąją reikšmę naudojant komandą „bcdedit /deletevalue growthuserva“.

Klaidos, susijusios su SQL lentelėmis

Tokio pobūdžio klaidos dažniausiai atsiranda serverio pusėje, kai sistema pasiekia lentelę ir negali nuskaityti duomenų. Ši klaida gali atsirasti dėl neteisingos serverio konfigūracijos, taip pat dėl ​​SQL lentelių pažeidimo. Esant ypač sudėtingoms situacijoms, gali net nepavykti atkurti duomenų bazės, o tada jus gali išgelbėti tik archyvuota duomenų bazės kopija. Primygtinai rekomenduojame laiku pasidaryti atsargines duomenų bazės kopijas.

Prieigos klaida per 1 sek

Ši klaida atsiranda, kai vartotojas bando atlikti veiksmą, kurį draudžia prieigos teisės (vaidmenys). Štai kodėl sistema pateikia 1 s prieigos klaidą. Vaidmenis konfigūravimo priemonėje sukonfigūruoja programuotojas.

Nepavyko ištaisyti klaidos per 1 s?

Jei nepavyko ištaisyti jokios 1C klaidos, nenusiminkite, paimkite ragelį ir paskambinkite mums! Mūsų specialistai visada pasiruošę padėti išspręsti bet kokias su 1C susijusias problemas, įskaitant klaidas, kylančias veikiant sistemai.

Jūs (arba vartotojas) dirbate 1C. Staiga – klaida. Ką daryti?

Žinoma, teisingiausia yra išanalizuoti, kas yra 1C klaida, jos priežastis, praleisti valandą ar dvi, kad išsiaiškintumėte, kas yra kas.

Ką daryti, jei tai neįmanoma? Nėra laiko, nėra noro, nepakanka žinių. Štai keletas labai žalingų patarimų, kaip greitai ištaisyti 1C klaidas.

Klaidos pranešimas 1C

Įprastas 1C klaidos pranešimo tipas yra langas su 1C klaidos tekstu ir mygtukais Gerai ir Daugiau.

Čia rodomas 1C klaidos tekstas yra vartotojo pranešimas; jis dažnai nieko nereiškia programuotojui, nes rodoma 1C klaida gali būti kai kurių neteisingų veiksmų rezultatas.

Norėdami ištaisyti 1C klaidas, šiame lange turite spustelėti Daugiau, kad pamatytumėte programuotojo 1C klaidos pranešimą. Jame teigiama:

  • , kuriame įvyko 1C klaida
  • Šio modulio, kuriame įvyko 1C klaida, funkcija
  • Šio modulio, kuriame įvyko 1C klaida, eilutės numeris.

Taip pat galite spustelėti mygtuką Configurator, tada bus atidarytas konfigūratorius, šis modulis, ši funkcija šioje eilutėje, po kurios galėsite ištaisyti 1C klaidą.

Klaidų supratimo gudrybės

Kaip ką tik sakiau, 1C klaidos tekstas labai dažnai yra anksčiau atliktų neteisingų veiksmų pasekmė.

Pavyzdžiui, labai dažnas 1C klaidos tekstas yra toks:

Vertė nėra objekto tipo reikšmė (WhatName)

Ką tai reikštų???

O tai reiškia:

  • Yra kintamasis
  • Programa daro prielaidą, kad kintamojo reikšmė yra katalogas, dokumentas ar kažkas panašaus - paprastai jis turi išsamią informaciją (laukus)
  • Programa bando pasiekti šio objekto lauką
  • Tačiau 1C klaida yra ta, kad dėl kokių nors priežasčių ankstesnėse programos eilutėse šis kintamasis gavo reikšmę, neturinčią jokios informacijos (laukų), pavyzdžiui, reikšmę „Neapibrėžta“.

Dažnesnių 1C klaidų taisymas

Žinoma, negalime atsižvelgti į visas klaidas, kurios šiuo metu gali būti 1C.
Pabandykime trumpai išvardyti dažnai pasitaikančias 1C klaidas, taip pat žalingus patarimus, kaip greitai ištaisyti 1C klaidas.

  • Jei kintamasis yra Būlio tipo (tai yra, jis priima reikšmes True ir False), tada jį galima pasiekti taip:

    Jei VariableName Tada

    Šis raštas panašus:
    Jei VariableName = True Tada

    Tačiau jei dėl kokių nors priežasčių šis kintamasis įgauna ne Būlio reikšmę, pirmoji parinktis duos 1C klaidą, o antroji - ne.

  • „Funkcijos pavadinimas XXX nerastas“

    Kai kurie moduliai vykdomi serveryje. Be to, kai kurios to paties modulio funkcijos gali būti vykdomos serveryje arba kliente.

    Tokiu atveju gali atsirasti 1C klaida, kai serveryje veikianti funkcija iškviečia funkciją, kuri veikia kliente. Tokiu atveju bus tokia 1C klaida.

    Jei įmanoma, tokią funkciją būtina perkelti į serverį.

  • „Kintamasis pavadinimu XXX nerastas“

    Panašus į ankstesnę 1C klaidą. Jei programoje yra iškvietimas į funkciją, esančią bendrame modulyje, tai atrodo taip:
    ModulioPavadinimas.FunkcijosPavadinimas();

    Jei modulio ypatybėse nustatyta, kad jis vykdomas kliente, o mes pasiekiame iš tų programos eilučių, kurios vykdomos serveryje, tada bus 1C klaida.
    „Kintamasis nerastas – modulio pavadinimas“

    Panašiai reikia įjungti šio modulio vykdymą serveryje.

  • „Nuosavybė XXX objekte neaptikta“

    Žodis „Nuosavybė“ reiškia šio objekto (atributo) lauką. Būtina:
    o Nustatykite, koks tai objektas
    o Jei tai žinynas, dokumentas, reikia pažiūrėti, ar turtas tikrai taip vadinamas
    o Jei yra arba – pažiūrėkite į formą su tokiu pavadinimu.

  • „Xxxx metodas objekte neaptiktas“

    Žodis „metodas“ reiškia funkciją / procedūrą šio objekto modulyje.

    Būtina:
    o Nustatykite, koks tai objektas
    o Raskite jo modulį (objekto modulį, jei tai yra 1C objektas, formos modulį, jei tai yra forma)
    o Patikrinkite, ar nėra funkcijos tuo pačiu pavadinimu.

  • „1C klaida vykdant užklausą“

    Tai reiškia, kad užklausos tekste yra 1C klaida. Paprastai užklausos tekstas programoje nustatomas anksčiau (tai yra didesnis), nei jis vykdomas. Šiame modulyje ieškokite užklausos teksto (žiūrėdami akis aukščiau arba ieškodami žodžio „SELECT“).

    Pabandykite išanalizuoti užklausos tekstą arba dešiniuoju pelės klavišu spustelėdami užklausos tekstą ir pabandykite atidaryti užklausos kūrėją, kad gautumėte užuominą.

  • „1C išdėstymo klaida“ – vykdant ataskaitą

    Ši 1C klaida reiškia 1C klaidą užklausos tekste arba 1C klaidą ACS nustatymuose (dažnai grupėse, pasirinktuose laukuose, sąlyginiame formatavime).

    Pabandykite pradėti nuo nustatymų, juos labai supaprastindami. Patikrinkite, ar pasirinktuose laukuose ir sąlyginiame formatavime sąraše nėra laukelių, pažymėtų kryželiu.

    Jei tai nepadeda, pabandykite eiti į užklausos turinį ir naudoti užklausos kūrimo priemonę, kad gautumėte užuominą.

Klaida atnaujinant apskaitą (Processing.UpdatingInformationBase.ObjectModule(1777)): Objekto metodas nerastas (UpdateDetails) Documents.HelpOnPNDFLVTaxAuthorityS2015.UpdateDetails();

Klaidos aprašymas:
Duomenų bazės atnaujinimas atnaujinus konfigūraciją iš 2.0.65.47 į 2.0.66.6 laidą baigiasi klaida (Processing.UpdatingInformationBase.ObjectModule(1777)): Objekto metodas nerastas (UpdateDetails) Documents.HelpOnPNDFLTilspda11DehorityUSSpdaxAutta5. 1C platforma: Enterprise 8.3.19.1818, duomenų bazės failo versija

Rasti sprendimai:

Atsižvelgiant į tai, kad atnaujindami 1C: Apskaita 2.0 duomenų bazės konfigūraciją kūrėjai pasiliko teisę atnaujinti nuo 2.0.65.47 versijos iki 2.0.66.6 neįdiegę tarpinių leidimų, visiškai natūralu, kad ši galimybė nebuvo praleista. Tačiau tai nepasisekė, nes... įvyko aukščiau nurodyta klaida.

Jei prieš pradėdami naujinimą padarėte duomenų bazės archyvinę kopiją, jums nereikės išspręsti problemos naudojant konfigūratorių. Jei įvyksta ši klaida, geriausias pasirinkimas yra atkurti duomenų bazės kopiją. Atnaujinkite dar kartą, kad išleistumėte 2.0.65.47. BŪTINAI paleiskite 1C 8 vartotojo režimu (klaviatūros klavišas "F7" arba meniu "Konfigūracija" - "Atnaujinti duomenų bazės konfigūraciją F7"), kad užbaigtumėte naujinimą į dabartinį leidimą.

Tada atnaujiname 1C: Accounting 8 konfigūraciją, kad išleistume 2.0.66.2. Vėlgi, BŪTINAI paleiskite 1C 8 vartotojo režimu, kad užbaigtumėte atnaujinimą į dabartinį leidimą.

Jei archyvinė kopija nepadaroma

Jei archyvinė kopija nebuvo padaryta. Tada belieka išsaugoti duomenų bazės konfigūraciją į failą, meniu „Konfigūracija“ - „Išsaugoti konfigūraciją“.

Sutinkame su įspėjimu ir nustatome palaikymo nustatymus, kaip nurodyta:

Spustelėkite „Gerai“. Laukiame, kol platforma atliks reikiamus veiksmus. Toliau einame į „Informacijos bazės atnaujinimo“ apdorojimą, apdorojimo modulyje einame į 1777 eilutę (skambinant į langą „Eiti į eilutės numerį“ klavišų kombinacija „Ctrl + G“) ir komentuojame eilutę. simboliai „//“ prieš eilutę:

Per meniu „Konfigūracija“ - „Atnaujinti duomenų bazės konfigūraciją F7“), kad išsaugotumėte pakeitimus. Norėdami atnaujinti duomenų bazę, paleidžiame duomenų bazę 1C: Enterprise režimu. Po to turite grąžinti konfigūraciją, kad gautumėte pagalbą. Įkeliame anksčiau išsaugotą konfigūracijos failą per meniu "Konfigūracija" - "Įkelti konfigūraciją iš failo"

Mes tęsiame atnaujinimą kaip įprasta.

© www.. Visos teisės saugomos. Šio puslapio tekstus ir vaizdus naudoti be raštiško savininko leidimo draudžiama. Naudodami medžiagą iš šio puslapio, turite pateikti nuorodą į šį puslapį.