Hindi natukoy ang paraan ng object batay sa input. Ang index ay nasa labas ng mga hangganan ng array

Magandang araw sa lahat!

Marami sa atin ang nakatagpo ng mga produkto ng software ng 1C Company sa ating mga aktibidad. Bukod dito, ang ilan sa atin kung minsan ay kailangan pa serbisyo sa mga produkto ng 1C. Minsan sa "kahanga-hangang" proseso ng serbisyong ito, iba't ibang insidente ang lumitaw. Ngayon ay pag-uusapan natin ang tungkol sa isa sa kanila.

Lalo na, ang paksa ng materyal na ito: Paano ayusin ang isang error na nangyayari sa 1C - Hindi makakonekta sa isa pang programa: Hindi natagpuan ang paraan ng bagay (Kumonekta).

Kung ikaw ay sapat na mapalad na makita ang parehong error tulad ng sa screenshot na ito, basahin upang malaman kung paano ayusin ito 😉

Isang maliit na panimulang teorya:

1C:Enterprise 8.x nagbibigay ng iba't ibang mga kawili-wiling pagkakataon para sa pag-aayos ng pagpapalitan ng data sa iba pang mga sistema ng software. Kasama ang mekanismo OLE Automation ipinakilala din ang konsepto ng isang koneksyon sa COM, na nagbibigay-daan para sa maaasahan at mas mabilis na pag-access sa 1C: Enterprise 8.0 na data mula sa mga panlabas na application na sumusuporta sa teknolohiyang ito.

Upang ayusin ang access sa 1C:Enterprise 8.0 data sa pamamagitan ng Koneksyon sa COM ay nilikha COM object may ID V8.COMConnector, sa tulong kung saan naitatag ang koneksyon. Pagkatapos ay tinawag ang paraan ng Connect ng naunang nilikha na bagay na V8.COMConnector. Paraan ng pagkonekta nagbabalik ng link sa isang object ng koneksyon sa COM na may 1C: Enterprise 8.0 infobase. At sa pamamagitan ng natanggap na object ng koneksyon ng COM, ang mga wastong pamamaraan, katangian at mga bagay ng infobase kung saan itinatag ang koneksyon ay naa-access.

Ngayon, alam kung saan lumalaki ang mga binti, magpatuloy tayo sa pagsasanay. Sabihin nating (sa panahon ng pag-update o ilang iba pang operasyon) nakatanggap ka ng error tulad ng:

Upang ayusin ang error na nangyayari sa 1C - ang object method ay hindi natagpuan (kumonekta), kailangan mong gawin ang sumusunod:

Sa mga pinakabagong bersyon ng Windows operating system, pumunta sa “Component Services”. Ang pagpapaandar na ito ay tinatawag sa pamamagitan ng sumusunod na pagkakasunud-sunod: Control Panel - Administration - Component Services.

Piliin ang: Computers – My Computer – COM+ Applications – Lumikha ng application – Lumikha ng bagong application – ilagay ang pangalang “V82COMConnector” (ang switch ng “Server application”) – Tinukoy na user (Administrator)

Sa thread na lalabas V82COMConnector– piliin ang bahaging sub-branch – lumikha ng bagong bahagi – Mag-install ng mga bagong bahagi – \bin\comcntr.dll

Mag-right-click sa sangay ng V82COMConnector - Properties - Security - alisan ng tsek ang "Force access check for applications" - check ang box na "Apply software restriction policy" - Restriction level "Unrestricted":

Gayundin sa mga profile ng user C:\Users\OurUser\AppData\Roaming\1C\1CESstart.cfg baguhin ang parameter UseHWLicenses=0 sa UseHWLicenses=1

Matapos ang lahat ng mga pagbabagong ito, maaari mong (para sa kadalisayan ng eksperimento) i-restart ang computer at tangkilikin ang karagdagang trabaho sa 1C, ngunit wala ang error na ito (!)

P.S. Maliit na bonus sa dulo: 1C update bilang administrator

Kadalasan, ang ilan sa iyong mga malayong kliyente ay mga accountant, atbp. - hindi nakapag-iisa na mag-update ng mga produkto ng software ng 1C, nangangailangan siya ng mga karapatan ng administrator, at hindi niya gusto o "natatakot" na mag-right-click sa shortcut (at piliin ang "Run as administrator"). Kaya naman palagi niyang iniinis ang kapatid naming IT specialist.

Mag-right-click tayo para sa kanya, ngunit gawin ito nang isang beses at kalimutan ang tungkol sa paksang ito magpakailanman!

Kaya, gawin natin ang isang beses na pag-setup - mag-right-click sa 1C launch shortcut, piliin ang "Properties", i-click ang "Baguhin ang mga setting para sa lahat ng mga user" at lagyan ng check ang kahon na "Run this program as an administrator". Pagkatapos ay i-click ang OK ng ilang beses at kalimutan ang tungkol sa "nakakatakot" na kliyente 😉

Umaasa ako na nakahanap ka ng ilang kapaki-pakinabang na impormasyon dito para sa iyong sarili. Sumulat sa mga komento tungkol sa iyong "mga trick" - magkasama kaming magdadala ng mga benepisyong pang-edukasyon.

Paalam at lahat ng pinakamahusay! 😉

Alam ng lahat na ang anumang software ay maaaring magbigay ng iba't ibang mga glitches paminsan-minsan o, sa madaling salita, hindi gumagana ng maayos. Ang ganitong mga pagkabigo na humahantong sa pagkagambala sa wastong paggana ng system ay tinatawag pagkakamali. Ang 1c program ay isang software na produkto (software), samakatuwid, sa program na ito, ang iba't ibang mga error ay maaari ding mangyari na humantong sa hindi tamang operasyon ng system. ay maaaring maging napaka-magkakaibang, at kung wala kang isang bilang ng mga espesyal na kaalaman sa larangan ng programming at ang mga detalye ng mga panloob na mekanismo ng 1C, kung gayon hindi mo magagawang maunawaan nang tama at masuri ang error, mas hindi maitama ito. Anuman sa aming 1c programmer ay laging handang tumulong sa iyo sa paglutas ng anumang mga isyung nauugnay sa 1s error!

Ano ang nagiging sanhi ng mga error sa 1C database?

Ngayon ay pag-usapan natin nang kaunti kung bakit maaaring mangyari ang iba't ibang bagay. mga error sa 1s database kapag nagtatrabaho sa programa. Sa katunayan, maaaring mayroong maraming mga dahilan at lahat sila ay maaaring magkaroon ng ganap na magkakaibang mga dahilan. Gayunpaman, susubukan naming maunawaan sa mga pangkalahatang tuntunin ang dahilan ng paglitaw ng iba't ibang mga error sa 1s.

Mga uri ng mga error sa 1C database

Mga error sa 1s Maaaring mayroong isang mahusay na pagkakaiba-iba at maaaring mangyari ang mga ito para sa iba't ibang mga kadahilanan. Sa artikulong ito hindi namin isasaalang-alang ang lahat ng posibleng mga error sa 1c; susubukan naming i-highlight ang tinatawag na pangunahing "mga uri" ng mga error na nakatagpo. Karaniwan naming tinatawag ang mga ito na "mga uri" dahil ang nilalaman ng error na ipinapakita sa iyo ng programa ay karaniwang palaging naiiba, ngunit ang kakanyahan ay madalas na pareho. Kaya't i-highlight natin ang mga pinakakaraniwan mga error sa 1s database:

  1. Error sa format ng stream
  2. Hindi nahanap ang field ng object
  3. Hindi nahanap ang paraan ng object
  4. Hindi sapat ang memorya
  5. Mga error na nauugnay sa mga talahanayan ng SQL (may kaugnayan para sa mga 1C server na tumatakbo sa mga relational na database, gaya ng MySQL)
  6. I-access ang error 1s

Error sa format ng stream sa 1s

Error sa format ng stream ng 1s

Hindi nahanap ang field ng object

Hindi nahanap ang field ng object

Ang index ay nasa labas ng mga hangganan ng array

Error 1c

Error sa format ng stream sa 1s

Ang error na ito ay madalas na nangyayari kapag ang isang pagkakasunud-sunod ng mga utos ay maling nabasa mula sa bytecode sa isang stream, kaya naman tinawag itong Error sa format ng stream ng 1s. Maa-abort ang anumang transaksyon kung mangyari ang error na ito bilang resulta ng pagpapatupad nito. Ang ganitong mga error ay nangangailangan ng agarang pagwawasto dahil maaari silang makapinsala sa pagpapatakbo ng 1C Enterprise system. Ang mga error na ito ay maaari lamang itama ng mga kwalipikadong 1C programmer.

Hindi nahanap ang field ng object

Kung ang 1c system ay nagbibigay sa iyo ng mensahe ng error na may tekstong " Hindi nahanap ang field ng object", nangangahulugan ito na ang error ay nangyayari sa isang sitwasyon kapag sinusubukan ng program na i-access ang isang attribute (field) ng isang object na wala lang. Ang error na ito ay may likas na katangian ng isang "runtime error" kung ito ay nangyari sa 1C Enterprise. Mga Error ng ganitong uri ay maaari lamang itama ang mga programmer.

Ang index ay nasa labas ng mga hangganan ng array

Ang isang array sa programming ay isang tiyak na lugar ng memorya kung saan maraming mga bagay ng parehong uri ang nakaimbak (sa 1c ang mga ganitong uri ay maaaring, halimbawa, DirectoryLink, DocumentObject, atbp., pati na rin ang anumang mga primitive na uri tulad ng numero, string, Boolean , atbp.). Error 1c na nauugnay sa paglampas sa mga hangganan ng isang array ay nangyayari nang tumpak kapag na-access ng isang programa ang mga hangganan ng memorya na inilalaan para sa array. Alinsunod dito, ang program sa kasong ito ay bumubuo ng isang error at inaabisuhan ang gumagamit (programmer) na ang isang pag-access sa labas ng array ay nagaganap, at ito naman ay isang error sa software.

Hindi nahanap ang paraan ng object

Ang isang katulad na error ay nangyayari kapag sinubukan ng system na i-access ang isang paraan (function) ng isang bagay na ang paglalarawan ay wala sa code. Ang mga error sa ganitong uri ay maaaring itama ng mga programmer.

Hindi sapat ang memory sa 1s

Ang error na ito ay nangyayari kung ang system ay naubusan ng lahat ng RAM na inilalaan para sa mga pangangailangan ng pagpapatupad ng mga programa sa operating system, na ang dahilan kung bakit ang programa ay bumubuo ng error " Hindi sapat ang memory sa 1s". Ito ay maaaring mangyari sa panahon ng iba't ibang mga kaganapan tulad ng pag-update ng isang configuration, pagproseso ng isang malaking file, kapag bumubuo ng isang ulat, naglo-load ng isang malaking database, atbp. Ang user ay maaaring subukan na ayusin ang isang error sa kanyang sarili.

Posibleng ayusin para sa 1c error na "Hindi sapat ang memorya"

Ang error ay nakasalalay sa limitadong paglalaan ng address memory ng operating system para sa software (software).
Ang default na mga limitasyon sa memorya ng address ay:

  • para sa isang 32-bit system - 2GB
  • para sa 64 bit - 4 GB

Upang madagdagan ang laki ng memorya ng address kailangan mong gawin ang sumusunod:

  1. Ilunsad ang command line: "Start - Run" - i-type ang CMD at pindutin ang enter
  2. Ngayon sa command line ipasok ang teksto nang walang mga panipi na "bcdedit /set increaseuserva 3072", kung saan ang 3072 ay ang laki ng nais na memorya ng address
  3. I-reboot ang iyong operating system (computer)
  4. Subukang gawin ang pagkilos na iyon sa 1C na hindi gumana noon at nagresulta sa isang error.
  5. Kung ang lahat ay gumana at ang operasyon ay hindi paulit-ulit nang madalas, inirerekumenda na ibalik ang laki ng memorya ng address sa default na halaga gamit ang command na "bcdedit /deletevalue increaseuserva"

Mga error na nauugnay sa mga talahanayan ng SQL

Karaniwang nangyayari ang mga error sa ganitong uri sa gilid ng server, kapag na-access ng system ang talahanayan at hindi mabasa ang data. Maaaring mangyari ang error na ito dahil sa maling configuration ng server, gayundin dahil sa pinsala sa mga talahanayan ng SQL. Sa partikular na mahihirap na sitwasyon, maaaring hindi na posible na ibalik ang database, at pagkatapos ay isang naka-archive na kopya lamang ng database ang makakapagligtas sa iyo. Lubos naming inirerekomenda ang paggawa ng napapanahong backup na mga kopya ng database.

Error sa pag-access sa 1s

Nagaganap ang error na ito kapag sinubukan ng isang user na magsagawa ng pagkilos na ipinagbabawal ng mga karapatan sa pag-access (mga tungkulin). Ito ang dahilan kung bakit nag-isyu ang system ng error sa pag-access na 1s. Ang mga tungkulin ay isinaayos sa configurator ng programmer.

Hindi maaayos ang error sa 1s?

Kung hindi mo nagawang ayusin ang anumang error sa 1C, huwag mawalan ng pag-asa, kunin ang telepono at tawagan kami! Ang aming mga espesyalista ay laging handang tulungan kang lutasin ang anumang mga isyung nauugnay sa 1C, kabilang ang mga error na lumabas sa panahon ng pagpapatakbo ng system.

Ikaw (o ang user) ay nagtatrabaho sa 1C. Biglang - isang error. Anong gagawin?

Siyempre, ang pinakatamang bagay ay pag-aralan kung ano ang 1C error, ang mga sanhi nito, gumugol ng isang oras o dalawa upang malaman kung ano.

Ano ang gagawin kung hindi ito posible? Walang oras, walang pagnanais, walang sapat na kaalaman. Narito ang ilang lubhang nakakapinsalang tip para sa mabilis na pagwawasto ng mga error sa 1C.

Mensahe ng error 1C

Ang karaniwang uri ng 1C na mensahe ng error ay isang window na may teksto ng 1C error at ang OK at Higit pang mga pindutan.

Ang teksto ng 1C error na ipinapakita dito ay isang mensahe ng gumagamit; madalas itong walang ibig sabihin sa programmer, dahil ang ipinapakitang 1C error ay maaaring resulta ng ilang maling aksyon.

Upang itama ang mga error sa 1C, kailangan mong i-click ang Higit pa sa window na ito upang makita ang mensahe ng error na 1C ng programmer. Nakasaad dito:

  • , kung saan nagkaroon ng 1C error
  • Ang function ng module na ito kung saan naganap ang 1C error
  • Ang numero ng linya ng modyul na ito kung saan naganap ang 1C error.

Maaari ka ring mag-click sa pindutan ng Configurator, at pagkatapos ay bubuksan ang configurator, ang module na ito, ang function na ito sa linyang ito, pagkatapos nito maaari mong iwasto ang error sa 1C.

Mga Trick para sa Pag-unawa sa Mga Error

Gaya ng sinabi lang, ang text ng isang 1C error ay kadalasang bunga ng mga naunang ginawang maling aksyon.

Halimbawa, ang isang napakakaraniwang 1C error text ay nagbabasa ng:

Ang value ay hindi isang object type value (WhatName)

Ano ang ibig sabihin nito???

At nangangahulugan ito ng sumusunod:

  • May variable
  • Ipinapalagay ng programa na ang halaga ng variable ay isang direktoryo o dokumento o iba pang katulad - sa pangkalahatan ito ay may mga detalye (mga patlang)
  • Sinusubukan ng program na i-access ang isang patlang ng bagay na ito
  • Gayunpaman, ang error sa 1C ay dahil sa ilang kadahilanan sa mga nakaraang linya ng programa ang variable na ito ay nakatanggap ng isang halaga na walang anumang mga detalye (mga patlang), halimbawa ang halaga na "Hindi Natukoy".

Pagwawasto ng mga error sa 1C na mas karaniwan

Siyempre, hindi namin maaaring isaalang-alang ang lahat ng mga error na maaaring umiiral sa 1C sa ngayon.
Subukan nating maikling ilista ang mga error sa 1C na madalas mangyari, pati na rin ang mga nakakapinsalang tip para sa mabilis na pagwawasto ng mga error sa 1C.

  • Kung ang variable ay may uri na Boolean (iyon ay, tinatanggap nito ang mga halagang True at False), kung gayon maaari itong ma-access tulad nito:

    Kung VariableName Then

    Ang pagsulat na ito ay magkatulad:
    Kung VariableName = True Then

    Gayunpaman, kung sa ilang kadahilanan ang variable na ito ay kumuha ng isang hindi-Boolean na halaga, ang unang opsyon ay magbibigay ng 1C error, ngunit ang pangalawa ay hindi.

  • "Hindi nahanap ang pangalan ng function na XXX"

    Ang ilang mga module ay isinasagawa sa server. Bukod dito, ang ilang mga function ng parehong module ay maaaring isagawa sa server o sa client.

    Sa kasong ito, maaaring mangyari ang isang 1C error na ang isang function na tumatakbo sa server ay tumatawag sa isang function na tumatakbo sa client. Sa kasong ito, magkakaroon ng ganitong 1C error.

    Kinakailangang ilipat ang naturang function sa server, kung maaari.

  • "Hindi nahanap ang variable na pinangalanang XXX"

    Katulad ng nakaraang 1C error. Kung ang programa ay naglalaman ng isang tawag sa isang function na matatagpuan sa isang karaniwang module, ganito ang hitsura nito:
    ModuleName.FunctionName();

    Kung ito ay nakatakda sa mga katangian ng module na ito ay naisakatuparan sa kliyente, at kami ay nag-a-access mula sa mga linya ng programa na naisakatuparan sa server, pagkatapos ay magkakaroon ng 1C error
    "Hindi nahanap ang variable - ModuleName"

    Kinakailangang paganahin din ang pagpapatupad ng modyul na ito sa server.

  • "Hindi nakita ang property XXX sa object"

    Ang ibig sabihin ng salitang "Property" ay ang field ng object na ito (attribute). kailangan:
    o Tukuyin kung anong uri ng bagay ito
    o Kung ito ay isang reference book, isang dokumento, kailangan mong makita kung ang ari-arian ay talagang tinatawag na iyon
    o Kung ito ay o – tingnan ang mga detalye ng form na may ganoong pangalan.

  • "Ang Paraan ng Xxxx ay hindi nakita sa bagay"

    Ang salitang "pamamaraan" ay tumutukoy sa isang function/pamamaraan sa isang module ng bagay na ito.

    kailangan:
    o Tukuyin kung anong uri ng bagay ito
    o Hanapin ang module nito (modul ng object kung ito ay isang 1C object, form module kung ito ay isang form)
    o Suriin kung mayroong isang function na may parehong pangalan.

  • "Error 1C kapag nagpapatupad ng kahilingan"

    Nangangahulugan ito na mayroong 1C error sa text ng kahilingan. Ang teksto ng kahilingan ay karaniwang tinutukoy sa programa nang mas maaga (iyon ay, mas mataas) kaysa sa ito ay naisakatuparan. Hanapin ang teksto ng query sa modyul na ito (na nasa itaas ang iyong mga mata o sa pamamagitan ng paghahanap sa salitang “PUMILI”).

    Subukang suriin ang text ng kahilingan o sa pamamagitan ng pag-right click sa text ng kahilingan at subukang buksan ang taga-disenyo ng kahilingan upang makakuha ng pahiwatig.

  • "1C layout error" - kapag nagpapatakbo ng isang ulat

    Ang 1C error na ito ay nangangahulugang alinman sa 1C error sa request text o 1C error sa ACS settings (madalas sa mga pagpapangkat, sa mga napiling field, sa conditional formatting).

    Subukang magsimula sa mga setting, na lubos na pinapasimple ang mga ito. Suriin na sa mga napiling field at conditional formatting ay walang mga field na minarkahan ng ekis sa listahan.

    Kung hindi ito makakatulong, subukang pumunta sa nilalaman ng kahilingan at gamitin ang tagabuo ng kahilingan upang makakuha ng pahiwatig.

Ibahagi sa mga kaibigan o mag-ipon para sa iyong sarili:

Naglo-load...