Objektmetoden ble ikke funnet, tilleggsverdi. Indeksen er utenfor arrayens grenser

Du (eller brukeren) jobber i 1C. Plutselig - en feil. Hva å gjøre?

Selvfølgelig er det mest korrekte å analysere hva 1C-feilen er, dens årsaker, bruke en time eller to på å finne ut hva som er hva.

Hva skal jeg gjøre hvis dette ikke er mulig? Ingen tid, ingen lyst, ikke nok kunnskap. Her er noen svært skadelige tips for raskt å korrigere feil i 1C.

Feilmelding 1C

Den typiske typen 1C-feilmelding er et vindu med teksten til 1C-feilen og OK- og Mer-knappene.

Teksten til 1C-feilen som vises her er en brukermelding; den betyr ofte ikke noe for programmereren, siden den viste 1C-feilen kan være et resultat av feil handlinger.

For å rette 1C-feil, må du klikke på Mer i dette vinduet for å se programmererens 1C-feilmelding. Det sier:

  • , der det oppstod en 1C-feil
  • Funksjonen til denne modulen der 1C-feilen oppsto
  • Linjenummeret til denne modulen der 1C-feilen oppsto.

Du kan også klikke på Konfigurator-knappen, og da åpnes konfiguratoren, denne modulen, denne funksjonen på denne linjen, hvoretter du kan rette 1C-feilen.

Triks for å forstå feil

Som nettopp sagt er teksten til en 1C-feil veldig ofte en konsekvens av tidligere utførte feilhandlinger.

For eksempel, en veldig vanlig 1C-feiltekst lyder:

Verdien er ikke en objekttypeverdi (WhatName)

Hva vil dette bety???

Og dette betyr følgende:

  • Det er en variabel
  • Programmet antar at verdien av variabelen er en katalog eller et dokument eller noe annet lignende - generelt har den detaljer (felt)
  • Programmet prøver å få tilgang til et felt av dette objektet
  • Imidlertid er 1C-feilen at denne variabelen av en eller annen grunn i de forrige linjene i programmet mottok en verdi som ikke har noen detaljer (felt), for eksempel verdien "Udefinert".

Retting av 1C-feil som er mer vanlige

Vi kan selvfølgelig ikke vurdere alle feilene som kan eksistere i 1C akkurat nå.
La oss prøve å kort liste opp 1C-feil som oppstår ofte, samt skadelige tips for raskt å korrigere 1C-feil.

  • Hvis variabelen er av typen Boolean (det vil si at den godtar verdiene True og False), kan den nås slik:

    Hvis VariableName Then

    Denne skriften er lik:
    Hvis VariableName = True Da

    Men hvis denne variabelen av en eller annen grunn får en ikke-boolsk verdi, vil det første alternativet gi en 1C-feil, men det andre vil ikke.

  • "Funksjonsnavn XXX ikke funnet"

    Noen moduler kjøres på serveren. Dessuten kan noen funksjoner i samme modul utføres på serveren eller på klienten.

    I dette tilfellet kan det oppstå en 1C-feil om at en funksjon som kjører på serveren kaller en funksjon som kjører på klienten. I dette tilfellet vil det være en slik 1C-feil.

    Det er nødvendig å flytte en slik funksjon til serveren, hvis mulig.

  • "Variabel kalt XXX ikke funnet"

    Ligner på forrige 1C-feil. Hvis programmet inneholder et kall til en funksjon som er plassert i en felles modul, ser det slik ut:
    Modulnavn.Funksjonsnavn();

    Hvis det er satt i egenskapene til modulen at den kjøres på klienten, og vi får tilgang fra de linjene i programmet som kjøres på serveren, vil det være en 1C feil
    "Variabel ikke funnet - Modulnavn"

    Det er nødvendig å aktivere kjøringen av denne modulen på serveren på samme måte.

  • "Egenskap XXX ble ikke oppdaget på objektet"

    Ordet "Eiendom" betyr feltet til dette objektet (attributtet). Nødvendig:
    o Bestem hva slags objekt det er
    o Hvis dette er en oppslagsbok, et dokument, må du se om eiendommen virkelig heter det
    o Hvis det er eller – se på detaljene i skjemaet med det navnet.

  • "Metode Xxxx ble ikke oppdaget på objektet"

    Ordet "metode" refererer til en funksjon/prosedyre i en modul av dette objektet.

    Nødvendig:
    o Bestem hva slags objekt det er
    o Finn dens modul (objektmodul hvis det er et 1C-objekt, skjemamodul hvis det er et skjema)
    o Sjekk om det finnes en funksjon med samme navn.

  • "Feil 1C ved utføring av en forespørsel"

    Dette betyr at det er en 1C-feil i forespørselsteksten. Forespørselsteksten bestemmes vanligvis i programmet tidligere (det vil si høyere) enn den blir utført. Se etter søketeksten i denne modulen (med øynene over eller ved å søke etter ordet "SELECT").

    Prøv å analysere forespørselsteksten eller ved å høyreklikke på forespørselsteksten og prøv å åpne forespørselsdesigneren for å få et hint.

  • "1C layout error" - når du kjører en rapport

    Denne 1C-feilen betyr enten en 1C-feil i forespørselsteksten eller en 1C-feil i ACS-innstillinger (ofte i grupperinger, i utvalgte felt, i betinget formatering).

    Prøv å begynne med innstillingene, og forenkle dem betraktelig. Sjekk at det i de valgte feltene og betinget formatering ikke er felt markert med kryss i listen.

    Hvis det ikke hjelper, kan du prøve å gå til forespørselsteksten og bruke forespørselsbyggeren for å få et hint.

Feil ved oppdatering av regnskap (Processing.UpdatingInformationBase.ObjectModule(1777)): Objektmetode ikke funnet (UpdateDetails) Documents.HelpOnPNDFLTaxAuthorityS2015.UpdateDetails();

Feilbeskrivelse:
Oppdatering av databasen etter oppdatering av konfigurasjonen fra utgave 2.0.65.47 til utgave 2.0.66.6 ender med en feil (Processing.UpdatingInformationBase.ObjectModule(1777)): Objektmetode ikke funnet (UpdateDetails) Documents.HelpOnPNDFLTaxAuthorityS2015.UpdateDetails; Plattform 1C: Enterprise 8.3.19.1818, filversjon av databasen

Fant løsninger:

Med tanke på det faktum at ved oppdatering av konfigurasjonen av 1C: Accounting 2.0-databasen, forbeholdt utviklerne seg retten til å oppdatere fra utgave 2.0.65.47 til 2.0.66.6 uten å installere mellomutgivelser, er det ganske naturlig at denne muligheten ikke ble savnet. Men dette var ikke vellykket, fordi... feilen ovenfor oppsto.

Hvis du har laget en arkivkopi av databasen før du startet oppdateringen, vil dette spare deg fra å måtte løse problemet ved hjelp av konfiguratoren. Hvis denne feilen oppstår, er det beste alternativet å gjenopprette en kopi av databasen. Oppdater igjen til utgivelse 2.0.65.47. PASS PÅ å kjøre 1C 8 i brukermodus ("F7"-tasten på tastaturet eller i "Konfigurasjon"-menyen - "Oppdater databasekonfigurasjon F7") for å fullføre oppdateringen til gjeldende utgivelse.

Deretter oppdaterer vi 1C: Accounting 8-konfigurasjonen til utgivelse 2.0.66.2. Igjen, SØRG for å kjøre 1C 8 i brukermodus for å fullføre oppdateringen til gjeldende utgivelse.

Dersom det ikke lages en arkivkopi

Hvis det ikke ble laget en arkivkopi. Da gjenstår det bare å lagre databasekonfigurasjonen til en fil, meny "Konfigurasjon" - "Lagre konfigurasjon".

Vi godtar advarselen og setter støtteinnstillingene som angitt:

Klikk "OK". Vi venter på at plattformen skal utføre de nødvendige handlingene. Deretter går vi til "Information Base Update"-behandlingen, i behandlingsmodulen går vi til linje 1777 (ved å ringe vinduet "Gå til linjenummer" med tastekombinasjonen "Ctrl + G") og kommentere linjen, og plasserer tegnene "//" foran linjen:

Gjennom menyen "Konfigurasjon" - "Oppdater databasekonfigurasjon F7") for å lagre endringene. Vi starter databasen i 1C: Enterprise-modus for å oppdatere databasen. Etter dette må du returnere konfigurasjonen for støtte. Vi laster den tidligere lagrede konfigurasjonsfilen gjennom menyen "Konfigurasjon" - "Last inn konfigurasjon fra fil"

Vi fortsetter å oppdatere som vanlig.

© www.. Alle rettigheter forbeholdt. Bruk av tekster og bilder fra denne siden uten skriftlig tillatelse fra eieren er forbudt. Når du bruker materiale fra denne siden, må du oppgi en lenke til denne siden.

Alle vet at enhver programvare kan gi forskjellige feil fra tid til annen, eller rett og slett ikke fungere ordentlig. Slike feil som fører til forstyrrelse av systemets funksjon kalles feil. 1c-programmet er et programvareprodukt (programvare), derfor kan det i dette programmet også oppstå ulike feil som fører til feil drift av systemet. kan være veldig mangfoldig, og hvis du ikke har en rekke spesialkunnskaper innen programmering og spesifikasjonene til de interne mekanismene til 1C, vil du ikke være i stand til å forstå og diagnostisere feilen riktig, langt mindre korrigere den. Enhver av våre 1s programmerer alltid klar til å hjelpe deg med å løse eventuelle problemer knyttet til 1s feil!

Hva forårsaker feil i 1C-databasen?

La oss nå snakke litt om hvorfor ulike ting kan skje. feil i 1s database når du arbeider med programmet. Faktisk kan det være mange årsaker, og de kan alle ha helt forskjellige grunner. Og likevel vil vi prøve å forstå i generelle termer årsaken til fremveksten av ulike feil i 1s.

Typer feil i 1C-databasen

Feil i 1s Det kan være en stor variasjon, og de kan skje av en rekke årsaker. I denne artikkelen vil vi ikke vurdere alle mulige 1c-feil; vi vil prøve å fremheve de såkalte hovedtypene av feil som oppstår. Vi kaller dem vanligvis "typer" siden innholdet i feilen som programmet viser deg vanligvis alltid er annerledes, men essensen er ofte den samme. Så la oss fremheve de vanligste feil i 1s database:

  1. Strømformatfeil
  2. Objektfeltet ble ikke funnet
  3. Objektmetoden ble ikke funnet
  4. Ikke nok minne
  5. Feil relatert til SQL-tabeller (relevant for 1C-servere som kjører på relasjonsdatabaser, for eksempel MySQL)
  6. Tilgangsfeil 1s

Strømformatfeil om 1 sekunder

1s strømformatfeil

Objektfeltet ble ikke funnet

Objektfeltet ble ikke funnet

Indeksen er utenfor arrayens grenser

Feil 1c

Strømformatfeil om 1 sekunder

Denne feilen oppstår veldig ofte når en sekvens av kommandoer feilaktig leses fra bytekode i en strøm, og det er derfor den kalles 1s strømformatfeil. Enhver transaksjon vil bli avbrutt hvis denne feilen oppstår som et resultat av dens utførelse. Slike feil krever umiddelbar retting da de kan skade driften av 1C Enterprise-systemet. Disse feilene kan bare rettes av kvalifiserte 1C-programmerere.

Objektfeltet ble ikke funnet

Hvis 1c-systemet gir deg en feilmelding med teksten " Objektfeltet ble ikke funnet", betyr dette at feilen oppstår i en situasjon når programmet prøver å få tilgang til et attributt (felt) til et objekt som rett og slett ikke eksisterer. Denne feilen har karakteren av en "runtime error" hvis den oppstår i 1C Enterprise. Feil av denne typen kan også bare korrigeres programmerere.

Indeksen er utenfor arrayens grenser

En matrise i programmering er et bestemt minneområde der mange objekter av samme type er lagret (i 1c kan slike typer for eksempel være DirectoryLink, DocumentObject, etc., samt alle primitive typer som tall, streng, boolsk , etc.). Feil 1c assosiert med å gå utover grensene til en matrise oppstår nettopp når et program får tilgang til grensene til minnet som er allokert for matrisen. Følgelig genererer programmet i dette tilfellet en feil og varsler brukeren (programmereren) om at det skjer en tilgang utenfor arrayet, og dette er igjen en programvarefeil.

Objektmetoden ble ikke funnet

En lignende feil oppstår når systemet prøver å få tilgang til en metode (funksjon) til et objekt hvis beskrivelse ikke finnes i koden. Feil av denne typen kan rettes av programmerere.

Ikke nok minne på 1s

Denne feilen oppstår hvis systemet går tom for all RAM som er tildelt for behovene til å kjøre programmer i operativsystemet, og det er grunnen til at programmet genererer feilen " Ikke nok minne på 1s". Det kan oppstå under ulike hendelser som oppdatering av en konfigurasjon, behandling av en stor fil, ved generering av en rapport, lasting av en stor database osv. Brukeren kan prøve å fikse en slik feil selv.

Mulig løsning for 1c-feil "Ikke nok minne"

Feilen ligger i den begrensede tildelingen av adresseminne av operativsystemet for programvare (programvare).
Standardgrensene for adresseminne er:

  • for et 32-bitssystem – 2 GB
  • for 64 bit – 4 GB

For å øke størrelsen på adresseminnet må du gjøre følgende:

  1. Start kommandolinjen: "Start - Kjør" - skriv CMD og trykk enter
  2. Skriv inn teksten uten anførselstegn på kommandolinjen "bcdedit /set increaseuserva 3072", der 3072 er størrelsen på ønsket adresseminne
  3. Start operativsystemet på nytt (datamaskin)
  4. Prøv å utføre den handlingen i 1C som ikke fungerte før og førte til en feil.
  5. Hvis alt ordnet seg og operasjonen ikke gjentas så ofte, anbefales det å returnere adresseminnestørrelsen til standardverdien ved å bruke kommandoen "bcdedit /deletevalue increaseuserva"

Feil relatert til SQL-tabeller

Feil av denne typen oppstår vanligvis på serversiden når systemet får tilgang til tabellen og ikke kan lese dataene. Denne feilen kan oppstå på grunn av feil serverkonfigurasjon, så vel som på grunn av skade på SQL-tabeller. I spesielt vanskelige situasjoner er det kanskje ikke engang mulig å gjenopprette databasen, og da kan bare en arkivert kopi av databasen redde deg. Vi anbefaler på det sterkeste å lage rettidige sikkerhetskopier av databasen.

Tilgangsfeil på 1s

Denne feilen oppstår når en bruker prøver å utføre en handling som er forbudt av tilgangsrettigheter (roller). Dette er grunnen til at systemet gir en tilgangsfeil på 1s. Roller konfigureres i konfiguratoren av programmereren.

Kunne du ikke fikse feilen på 1 sekunder?

Hvis du ikke klarte å fikse noen feil i 1C, fortvil ikke, ta telefonen og ring oss! Våre spesialister er alltid klare til å hjelpe deg med å løse eventuelle problemer knyttet til 1C, inkludert feil som oppstår under driften av systemet.