Objekta metode nav atrasta, iegūstiet elementus

Laba diena visiem!

Daudzi no mums savā darbībā sastopas ar 1C Company programmatūras produktiem. Turklāt dažiem no mums dažreiz tas pat ir jādara servisa 1C produkti. Dažkārt šajā “brīnišķīgajā” apkalpošanas procesā rodas dažādi incidenti. Šodien mēs runāsim par vienu no tiem.

Proti, šī materiāla tēma: Kā novērst kļūdu, kas rodas 1C - Nevarēja izveidot savienojumu ar citu programmu: Objekta metode nav atrasta (Connect).

Ja jums ir paveicies redzēt to pašu kļūdu kā šajā ekrānuzņēmumā, lasiet tālāk, lai uzzinātu, kā to novērst 😉

Maza ievada teorija:

1C: Enterprise 8.x sniedz dažādas interesantas iespējas datu apmaiņas organizēšanai ar citām programmatūras sistēmām. Kopā ar mehānismu OLE automatizācija tika ieviesta arī COM savienojuma koncepcija, kas ļauj uzticami un ātrāk piekļūt 1C:Enterprise 8.0 datiem no ārējām lietojumprogrammām, kas atbalsta šo tehnoloģiju.

Lai organizētu piekļuvi 1C:Enterprise 8.0 datiem, izmantojot COM savienojums ir izveidots COM objekts ar ID V8.COMConnector, ar kuras palīdzību tiek izveidots savienojums. Tad tiek izsaukta iepriekš izveidotā V8.COMConnector objekta Connect metode. Savienojuma metode atgriež saiti uz COM savienojuma objektu ar 1C:Enterprise 8.0 informācijas bāzi. Un caur saņemto COM savienojuma objektu tiek piekļūts tās informācijas bāzes derīgajām metodēm, īpašībām un objektiem, ar kuru tiek izveidots savienojums.

Tagad, zinot, no kurienes kājas aug, pāriesim pie prakses. Pieņemsim, ka (atjaunināšanas vai citas darbības laikā) tika parādīta kļūda, piemēram:

Lai labotu kļūdu, kas rodas 1C — objekta metode netika atrasta (savienot), jums jāveic šādas darbības:

Jaunākajās Windows operētājsistēmu versijās atveriet sadaļu “Komponentu pakalpojumi”. Šī funkcionalitāte tiek izsaukta šādā secībā: Vadības panelis - Administrēšana - Komponentu pakalpojumi.

Izvēlieties: Datori – Mans dators – COM+ lietojumprogrammas – Izveidot lietojumprogrammu – Izveidot jaunu lietojumprogrammu – ievadiet nosaukumu “V82COMConnector” (slēdzis “Servera lietojumprogramma”) – Norādītais lietotājs (Administrators)

Parādītajā pavedienā V82COM savienotājs– atlasiet apakšnozari Komponenti – izveidojiet jaunu komponentu – Instalējiet jaunus komponentus – \bin\comcntr.dll

Ar peles labo pogu noklikšķiniet uz V82COMConnector filiāles - Rekvizīti - Drošība - noņemiet atzīmi no izvēles rūtiņas "Piespiedu piekļuves pārbaude lietojumprogrammām" - atzīmējiet izvēles rūtiņu "Lietot programmatūras ierobežojuma politiku" - Ierobežojumu līmenis "Neierobežots":

Arī lietotāju profilos C:\Users\OurUser\AppData\Roaming\1C\1CEStart.cfg mainiet parametru UseHWLicenses=0 uz UseHWLicenses=1

Pēc visām šīm izmaiņām varat (eksperimenta tīrības labad) restartēt datoru un baudīt turpmāko darbu 1C, taču bez šīs kļūdas (!)

P.S. Neliels bonuss beigās: 1C atjauninājums kā administrators

Diezgan bieži daži no jūsu attālajiem klientiem ir grāmatveži utt. - nevar patstāvīgi atjaunināt 1C programmatūras produktus, viņam ir nepieciešamas administratora tiesības, un viņš nevēlas vai “baidās” ar peles labo pogu noklikšķināt uz saīsnes (un atlasiet “Palaist kā administratoram”). Tāpēc viņš nemitīgi kaitina mūsu brāli IT speciālistu.

Noklikšķināsim viņam ar peles labo pogu, bet izdari to vienreiz un aizmirsti par šo tēmu uz visiem laikiem!

Tātad, veiksim vienreizēju iestatīšanu - ar peles labo pogu noklikšķiniet uz 1C palaišanas saīsnes, atlasiet “Properties”, noklikšķiniet uz “Mainīt iestatījumus visiem lietotājiem” un atzīmējiet izvēles rūtiņu “Palaist šo programmu kā administratoram”. Pēc tam pāris reizes noklikšķiniet uz Labi un aizmirstiet par “bailīgo” klientu 😉

Ceru, ka šeit varējāt atrast sev noderīgu informāciju. Raksti komentāros par saviem “trikiem” – kopā mēs nesīsim izglītojošus ieguvumus.

Uz redzēšanos un visu to labāko! 😉

Ikviens zina, ka jebkura programmatūra ik pa laikam var radīt dažādas kļūmes vai, vienkārši sakot, nedarboties pareizi. Tiek sauktas tādas kļūmes, kas izraisa sistēmas pareizas darbības traucējumus kļūdas. Programma 1c ir programmatūras produkts (programmatūra), tāpēc šajā programmā var rasties arī dažādas kļūdas, kas noved pie nepareizas sistēmas darbības. var būt ļoti daudzveidīgs, un, ja jums nav daudz īpašu zināšanu programmēšanas jomā un 1C iekšējo mehānismu specifikā, jūs nevarēsit pareizi saprast un diagnosticēt kļūdu, vēl jo mazāk to labot. Jebkurš mūsu 1c programmētājs vienmēr ir gatavs jums palīdzēt atrisināt visas ar to saistītās problēmas 1s kļūdas!

Kas izraisa kļūdas 1C datu bāzē?

Tagad parunāsim nedaudz par to, kāpēc var notikt dažādas lietas. kļūdas 1s datu bāzē strādājot ar programmu. Faktiski var būt daudz iemeslu, un tiem visiem var būt pilnīgi atšķirīgi iemesli. Un tomēr mēs centīsimies vispārīgi izprast dažādu rašanās iemeslu kļūdas 1s.

Kļūdu veidi 1C datu bāzē

Kļūdas 1s Var būt ļoti daudz dažādu iemeslu, un tie var notikt dažādu iemeslu dēļ. Šajā rakstā mēs neapskatīsim visas iespējamās 1c kļūdas, mēs centīsimies izcelt tā sauktos galvenos konstatēto kļūdu “veidus”. Mēs tos parasti saucam par “tipiem”, jo programmas parādītās kļūdas saturs parasti vienmēr ir atšķirīgs, taču būtība bieži ir viena. Tāpēc izcelsim visizplatītākos kļūdas 1s datu bāzē:

  1. Straumes formāta kļūda
  2. Objekta lauks nav atrasts
  3. Objekta metode nav atrasta
  4. Nepietiek atmiņas
  5. Kļūdas, kas saistītas ar SQL tabulām (attiecas uz 1C serveriem, kas darbojas relāciju datu bāzēs, piemēram, MySQL)
  6. Piekļuves kļūda 1s

Straumes formāta kļūda 1 s

1 s straumes formāta kļūda

Objekta lauks nav atrasts

Objekta lauks nav atrasts

Indekss atrodas ārpus masīva robežām

Kļūda 1c

Straumes formāta kļūda 1 s

Šī kļūda ļoti bieži rodas, ja komandu secība tiek kļūdaini nolasīta no baitkoda straumē, tāpēc tā tiek izsaukta 1 s straumes formāta kļūda. Jebkurš darījums tiks pārtraukts, ja tā izpildes rezultātā radīsies šī kļūda. Šādas kļūdas ir nekavējoties jālabo, jo tās var kaitēt 1C Enterprise sistēmas darbībai. Šīs kļūdas var labot tikai kvalificēti 1C programmētāji.

Objekta lauks nav atrasts

Ja 1c sistēma sniedz jums kļūdas ziņojumu ar tekstu " Objekta lauks nav atrasts", tas nozīmē, ka kļūda rodas situācijā, kad programma mēģina piekļūt objekta atribūtam (laukam), kas vienkārši neeksistē. Šai kļūdai ir "izpildlaika kļūdas" raksturs, ja tā rodas 1C uzņēmumā. Kļūdas šāda veida var arī labot tikai programmētāji.

Indekss atrodas ārpus masīva robežām

Masīvs programmēšanā ir noteikts atmiņas apgabals, kurā tiek glabāti daudzi viena veida objekti (1c šādi veidi var būt, piemēram, DirectoryLink, DocumentObject utt., kā arī jebkuri primitīvi veidi, piemēram, skaitlis, virkne, Būla vērtība utt.). Kļūda 1c saistība ar masīva robežu pārsniegšanu notiek tieši tad, kad programma piekļūst masīvam piešķirtās atmiņas robežām. Attiecīgi programma šajā gadījumā ģenerē kļūdu un paziņo lietotājam (programmētājam), ka notiek piekļuve ārpus masīva, un tā savukārt ir programmatūras kļūda.

Objekta metode nav atrasta

Līdzīga kļūda rodas, kad sistēma mēģina piekļūt kāda objekta metodei (funkcijai), kura apraksta kodā nav. Šāda veida kļūdas var labot programmētāji.

Nepietiek atmiņas 1 s

Šī kļūda rodas, ja sistēmai beidzas visa RAM, kas piešķirta programmu izpildes vajadzībām operētājsistēmā, tāpēc programma ģenerē kļūdu " Nepietiek atmiņas 1 s". Tas var notikt dažādu notikumu laikā, piemēram, konfigurācijas atjaunināšanas, liela faila apstrādes, atskaites ģenerēšanas, lielas datu bāzes ielādes laikā. Lietotājs var mēģināt pats novērst šādu kļūdu.

Iespējamais 1c kļūdas “Nepietiek atmiņas” labojums

Kļūda slēpjas ierobežotā adrešu atmiņas piešķiršanā, ko operētājsistēma piešķir programmatūrai (programmatūrai).
Noklusējuma adrešu atmiņas ierobežojumi ir:

  • 32 bitu sistēmai – 2GB
  • 64 bitiem - 4 GB

Lai palielinātu adreses atmiņas apjomu, jums jāveic šādas darbības:

  1. Palaidiet komandrindu: "Start - Run" - ierakstiet CMD un nospiediet enter
  2. Tagad komandrindā ievadiet tekstu bez pēdiņām “bcdedit /set growthuserva 3072″, kur 3072 ir vēlamās adreses atmiņas lielums.
  3. Atsāknējiet operētājsistēmu (datoru)
  4. Mēģiniet veikt šo darbību 1C, kas iepriekš nedarbojās un izraisīja kļūdu.
  5. Ja viss izdevās un darbība netiek tik bieži atkārtota, ieteicams adreses atmiņas lielumu atgriezt uz noklusējuma vērtību, izmantojot komandu “bcdedit /deletevalue growthuserva”

Kļūdas, kas saistītas ar SQL tabulām

Šāda veida kļūdas parasti rodas servera pusē, kad sistēma piekļūst tabulai un nevar nolasīt datus. Šī kļūda var rasties nepareizas servera konfigurācijas, kā arī SQL tabulu bojājumu dēļ. Īpaši sarežģītās situācijās var nebūt iespējams pat atjaunot datu bāzi, un tad jūs var glābt tikai arhivēta datu bāzes kopija. Mēs ļoti iesakām savlaicīgi izveidot datu bāzes rezerves kopijas.

Piekļuves kļūda 1 s laikā

Šī kļūda rodas, kad lietotājs mēģina veikt darbību, kas ir aizliegta ar piekļuves tiesībām (lomām). Tāpēc sistēma izdod piekļuves kļūdu 1 s. Programmētājs lomas konfigurē konfiguratorā.

Vai nevarējāt labot kļūdu 1 s laikā?

Ja nevarējāt labot 1C kļūdu, neesiet izmisumā, paņemiet tālruni un zvaniet mums! Mūsu speciālisti vienmēr ir gatavi palīdzēt atrisināt visas ar 1C saistītas problēmas, tostarp kļūdas, kas rodas sistēmas darbības laikā.

Jūs (vai lietotājs) strādājat 1C. Pēkšņi - kļūda. Ko darīt?

Protams, vispareizāk ir analizēt, kas ir 1C kļūda, tās cēloņus, pavadīt stundu vai divas, lai uzzinātu, kas ir kas.

Ko darīt, ja tas nav iespējams? Nav laika, nav vēlmes, nav pietiekami daudz zināšanu. Šeit ir daži ļoti kaitīgi padomi, kā ātri izlabot kļūdas 1C.

Kļūdas ziņojums 1C

Tipisks 1C kļūdas ziņojuma veids ir logs ar 1C kļūdas tekstu un pogām Labi un Vēl.

Šeit parādītais 1C kļūdas teksts ir lietotāja ziņojums; tas programmētājam bieži neko nenozīmē, jo parādītā 1C kļūda var būt dažu nepareizu darbību rezultāts.

Lai labotu 1C kļūdas, šajā logā jānoklikšķina uz Vairāk, lai redzētu programmētāja 1C kļūdas ziņojumu. Tajā teikts:

  • , kurā radās 1C kļūda
  • Šī moduļa funkcija, kurā radās 1C kļūda
  • Šī moduļa rindas numurs, kurā radās 1C kļūda.

Varat arī noklikšķināt uz pogas Konfigurators, un pēc tam tiks atvērts konfigurators, šis modulis, šī funkcija šajā rindā, pēc kuras jūs varat labot 1C kļūdu.

Kļūdu izpratnes triki

Kā tikko teica, 1C kļūdas teksts ļoti bieži ir iepriekš veiktu nepareizu darbību sekas.

Piemēram, ļoti izplatīts 1C kļūdas teksts skan:

Vērtība nav objekta tipa vērtība (WhatName)

Ko tas nozīmētu???

Un tas nozīmē sekojošo:

  • Ir mainīgais
  • Programma pieņem, ka mainīgā vērtība ir direktorijs vai dokuments vai kas cits līdzīgs - kopumā tam ir detaļas (lauki)
  • Programma mēģina piekļūt šī objekta laukam
  • Tomēr 1C kļūda ir tāda, ka kāda iemesla dēļ iepriekšējās programmas rindās šis mainīgais saņēma vērtību, kurai nav nekādu detaļu (lauku), piemēram, vērtību “Undefined”.

Biežāk sastopamo 1C kļūdu labošana

Protams, mēs nevaram ņemt vērā visas kļūdas, kas šobrīd var būt 1C.
Mēģināsim īsi uzskaitīt 1C kļūdas, kas rodas bieži, kā arī kaitīgus padomus, kā ātri labot 1C kļūdas.

  • Ja mainīgajam ir Būla tips (tas ir, tas pieņem vērtības True un False), tad tam var piekļūt šādi:

    Ja VariableName Tad

    Šis raksts ir līdzīgs:
    Ja VariableName = True, tad

    Tomēr, ja kāda iemesla dēļ šis mainīgais iegūst vērtību, kas nav Būla vērtība, tad pirmā opcija sniegs 1C kļūdu, bet otrā ne.

  • "Funkcijas nosaukums XXX nav atrasts"

    Daži moduļi tiek izpildīti serverī. Turklāt dažas viena un tā paša moduļa funkcijas var izpildīt serverī vai klientā.

    Šādā gadījumā var rasties 1C kļūda, ka funkcija, kas darbojas serverī, izsauc funkciju, kas darbojas klientā. Šajā gadījumā būs šāda 1C kļūda.

    Ja iespējams, šāda funkcija ir jāpārvieto uz serveri.

  • "Mainīgais ar nosaukumu XXX nav atrasts"

    Līdzīgi kā iepriekšējā 1C kļūda. Ja programmā ir izsaukums uz funkciju, kas atrodas kopējā modulī, tas izskatās šādi:
    ModuļaNosaukums.FunkcijasNosaukums();

    Ja moduļa rekvizītos ir iestatīts, ka tas tiek izpildīts klientam, un mēs piekļūstam no tām programmas rindām, kuras tiek izpildītas serverī, tad būs 1C kļūda.
    "Mainīgais nav atrasts — moduļa nosaukums"

    Līdzīgi ir jāiespējo šī moduļa izpilde serverī.

  • "Īpašums XXX objektā netika atrasts"

    Vārds “Īpašums” apzīmē šī objekta (atribūta) lauku. Nepieciešams:
    o Nosakiet, kāda veida objekts tas ir
    o Ja šī ir uzziņu grāmata, dokuments, jāskatās, vai īpašumu tiešām tā sauc
    o Ja tā ir vai – skatiet informāciju par veidlapu ar šādu nosaukumu.

  • "Metode Xxxx objektā netika noteikta"

    Vārds “metode” attiecas uz funkciju/procedūru šī objekta modulī.

    Nepieciešams:
    o Nosakiet, kāda veida objekts tas ir
    o Atrodiet tā moduli (objekta moduli, ja tas ir 1C objekts, formas moduli, ja tā ir forma)
    o Pārbaudiet, vai nav funkcijas ar tādu pašu nosaukumu.

  • “Kļūda 1C, izpildot pieprasījumu”

    Tas nozīmē, ka pieprasījuma tekstā ir 1C kļūda. Pieprasījuma teksts programmā parasti tiek noteikts agrāk (tas ir, augstāks), nekā tas tiek izpildīts. Meklējiet vaicājuma tekstu šajā modulī (ar aci augšpusē vai meklējot vārdu “SELECT”).

    Mēģiniet analizēt pieprasījuma tekstu vai ar peles labo pogu noklikšķinot uz pieprasījuma teksta un mēģiniet atvērt pieprasījuma noformētāju, lai saņemtu mājienu.

  • “1C izkārtojuma kļūda” - palaižot pārskatu

    Šī 1C kļūda nozīmē vai nu 1C kļūdu pieprasījuma tekstā vai 1C kļūdu ACS iestatījumos (bieži vien grupās, atlasītajos laukos, nosacījuma formatējumā).

    Mēģiniet sākt ar iestatījumiem, ievērojami vienkāršojot tos. Pārbaudiet, vai atlasītajos laukos un nosacītajā formatējumā sarakstā nav ar krustiņu atzīmētu lauku.

    Ja tas nepalīdz, mēģiniet doties uz pieprasījuma pamattekstu un izmantot pieprasījuma veidotāju, lai saņemtu mājienu.

Raksti par tēmu