Obyekt metodu paylama kəsiklərini aşkar etmədi

Hamıya xeyirli gün!

Bir çoxumuz fəaliyyətimizdə 1C Şirkətinin proqram məhsulları ilə qarşılaşırıq. Üstəlik, bəzilərimiz bəzən məcbur oluruq xidmət 1C məhsulları. Bəzən bu “gözəl” xidmət prosesində müxtəlif hadisələr baş verir. Bu gün onlardan biri haqqında danışacağıq.

Daha doğrusu, mövzu bu materialdan: 1C-də baş verən xətanı necə düzəltmək olar - Başqa proqrama qoşulmaq mümkün olmadı: Obyekt metodu tapılmadı (Qoşulun).

Əgər bu skrinşotdakı kimi səhvi görmək şanslısınızsa, onu necə düzəldəcəyinizi öyrənmək üçün oxuyun 😉

Bir az giriş nəzəriyyəsi:

1C: Enterprise 8.x digər proqram sistemləri ilə məlumat mübadiləsinin təşkili üçün müxtəlif maraqlı imkanlar təqdim edir. Mexanizmlə birlikdə OLE avtomatlaşdırılması Bu texnologiyanı dəstəkləyən xarici proqramlardan 1C: Enterprise 8.0 məlumatlarına etibarlı və daha sürətli daxil olmağa imkan verən COM bağlantısı konsepsiyası da təqdim edildi.

vasitəsilə 1C: Enterprise 8.0 məlumatlarına girişi təşkil etmək COM bağlantısı yaradılır COM obyektişəxsiyyət vəsiqəsi ilə V8.COMConnector, onun köməyi ilə əlaqə qurulur. Sonra əvvəl yaradılmış V8.COMConnector obyektinin Connect metodu çağırılır. Qoşulma üsulu 1C: Enterprise 8.0 məlumat bazası ilə COM əlaqə obyektinə keçid qaytarır. Alınan COM əlaqə obyekti vasitəsilə əlaqənin qurulduğu infobazanın etibarlı metodlarına, xüsusiyyətlərinə və obyektlərinə daxil olur.

İndi ayaqların haradan böyüdüyünü bilərək, məşqə keçək. Tutaq ki (güncəlləmə və ya başqa bir əməliyyat zamanı) belə bir xəta aldınız:

1C-də baş verən səhvi düzəltmək üçün - obyekt metodu tapılmadı (qoşun), aşağıdakıları etməlisiniz:

Windows əməliyyat sistemlərinin ən son versiyalarında "Komponent Xidmətləri" na keçin. Bu funksionallıq aşağıdakı ardıcıllıqla çağırılır: İdarəetmə Paneli - İdarəetmə - Komponent Xidmətləri.

Seçin: Kompüterlər – Kompüterim – COM+ Proqramları – Proqram yaradın – Yeni proqram yaradın – “V82COMConnector” adını daxil edin (“Server proqramı” keçidi) – Göstərilən istifadəçi (İnzibatçı)

Görünən iplikdə V82COM birləşdiricisi– Komponentlər alt bölməsini seçin – yeni komponent yaradın – Yeni komponentlər quraşdırın – \bin\comcntr.dll

V82COMConnector filialına sağ klikləyin - Xüsusiyyətlər - Təhlükəsizlik - "Tətbiqlər üçün məcburi giriş yoxlaması" işarəsini çıxarın - "Proqramın məhdudlaşdırılması siyasətini tətbiq et" qutusunu yoxlayın - Məhdudiyyət səviyyəsi "Məhdudiyyətsiz":

Həmçinin C:\Users\OurUser\AppData\Roaming\1C\1CEStart.cfg istifadəçi profillərində UseHWLicenses=0 parametrini UseHWLicenses=1 olaraq dəyişdirin.

Bütün bu dəyişikliklərdən sonra (təcrübənin təmizliyi üçün) kompüteri yenidən işə sala və 1C-də sonrakı işlərdən həzz ala bilərsiniz, lakin bu səhv olmadan (!)

P.S. Sonda kiçik bonus: 1c inzibatçı kimi yeniləmə

Çox vaxt uzaq müştərilərinizin bəziləri mühasiblər və s. - 1C proqram məhsullarını müstəqil olaraq yeniləyə bilmir, o, inzibatçı hüquqlarını tələb edir və qısayolu sağ klikləmək istəmir və ya "qorxur" (və "İdarəçi kimi işə salın" seçin). Ona görə də davamlı olaraq İT mütəxəssis qardaşımızı bezdirir.

Onun üçün sağ klik edək, amma bunu bir dəfə edin və bu mövzunu əbədi olaraq unutun!

Beləliklə, birdəfəlik quraşdırma edək - 1C başlatma qısa yolunu sağ vurun, "Xüsusiyyətlər" i seçin, "Bütün istifadəçilər üçün parametrləri dəyişdirin" düyməsini basın və "Bu proqramı idarəçi olaraq işə salın" qutusunu yoxlayın. Sonra bir neçə dəfə OK düyməsini sıxın və “qorxulu” müştərini unudun 😉

Ümid edirəm ki, burada özünüz üçün faydalı məlumatlar tapa bildiniz. Şərhlərdə "hiylələriniz" haqqında yazın - birlikdə təhsil faydaları gətirəcəyik.

Əlvida və ən yaxşısı! 😉

Hər kəs bilir ki, istənilən proqram təminatı zaman-zaman müxtəlif nasazlıqlar verə bilər və ya sadəcə olaraq düzgün işləmir. Sistemin düzgün işləməsinin pozulmasına səbəb olan belə uğursuzluqlar adlanır səhvlər. 1c proqramı bir proqram məhsuludur (proqram təminatı), buna görə də bu proqramda sistemin düzgün işləməməsinə səbəb olan müxtəlif səhvlər də baş verə bilər. çox müxtəlif ola bilər və proqramlaşdırma sahəsində bir sıra xüsusi biliklərə və 1C-nin daxili mexanizmlərinin xüsusiyyətlərinə malik deyilsinizsə, səhvi düzgün başa düşə və diaqnoz edə bilməyəcəksiniz, daha az düzəldə bilməyəcəksiniz. 1c proqramçılarımızdan hər hansı biri hər hansı bir problemin həllində sizə kömək etməyə həmişə hazırdır 1s səhvləri!

1C verilənlər bazasında səhvlərə nə səbəb olur?

İndi gəlin niyə müxtəlif hadisələrin baş verə biləcəyi haqqında bir az danışaq. 1s verilənlər bazasında səhvlər proqramla işləyərkən. Əslində, bir çox səbəb ola bilər və hamısının tamamilə fərqli səbəbləri ola bilər. Yenə də biz ümumi mənada müxtəliflərin yaranmasının səbəbini anlamağa çalışacağıq 1s-də səhvlər.

1C verilənlər bazasında səhvlərin növləri

1 saniyədə səhvlərÇox müxtəlif ola bilər və onlar müxtəlif səbəblərdən baş verə bilər. Bu yazıda biz bütün mümkün 1c səhvlərini nəzərdən keçirməyəcəyik, rast gəlinən səhvlərin əsas "növlərini" vurğulamağa çalışacağıq. Biz onları şərti olaraq “növlər” adlandırırıq, çünki proqramın sizə göstərdiyi xətanın məzmunu adətən həmişə fərqlidir, lakin mahiyyət çox vaxt eyni olur. Beləliklə, ən ümumi olanları vurğulayaq 1s verilənlər bazasında səhvlər:

  1. Yayım formatında xəta
  2. Obyekt sahəsi tapılmadı
  3. Obyekt metodu tapılmadı
  4. Kifayət qədər yaddaş yoxdur
  5. SQL cədvəlləri ilə əlaqəli xətalar (MySQL kimi əlaqəli verilənlər bazalarında işləyən 1C serverləri üçün uyğundur)
  6. Giriş xətası 1s

1 saniyədə yayım formatı xətası

1s axın formatı xətası

Obyekt sahəsi tapılmadı

Obyekt sahəsi tapılmadı

İndeks massivin hüdudlarından kənardadır

Səhv 1c

1 saniyədə yayım formatı xətası

Bu səhv çox vaxt əmrlər ardıcıllığı axındakı bayt kodundan səhvən oxunduqda baş verir, buna görə də ona deyilir 1s axın formatı xətası. Bu xəta onun icrası nəticəsində baş verərsə, istənilən əməliyyat dayandırılacaq. Bu cür səhvlər 1C Enterprise sisteminin işinə zərər verə biləcəyi üçün dərhal düzəliş tələb edir. Bu səhvlər yalnız ixtisaslı 1C proqramçıları tərəfindən düzəldilə bilər.

Obyekt sahəsi tapılmadı

1c sistemi sizə mətnlə səhv mesajı verirsə " Obyekt sahəsi tapılmadı", bu o deməkdir ki, proqram sadəcə mövcud olmayan obyektin atributuna (sahəsinə) daxil olmağa çalışdığı bir vəziyyətdə baş verir. Bu səhv 1C Enterprise-də baş verərsə, "işləmə zamanı xətası" xarakteri daşıyır. Xətalar bu cür də yalnız proqramçılar düzəldilə bilər.

İndeks massivin hüdudlarından kənardadır

Proqramlaşdırmada massiv eyni tipli bir çox obyektin saxlandığı müəyyən yaddaş sahəsidir (1c-də belə növlər, məsələn, DirectoryLink, DocumentObject və s., həmçinin nömrə, sətir, Boolean kimi hər hansı primitiv növlər ola bilər. və s.). Səhv 1c massivin hüdudlarından kənara çıxmaqla əlaqəli olan şey proqramın massiv üçün ayrılmış yaddaşın sərhədlərinə daxil olduğu zaman baş verir. Müvafiq olaraq, bu halda proqram xəta yaradır və istifadəçiyə (proqramçıya) massivdən kənar girişin baş verdiyini bildirir və bu da öz növbəsində proqram xətasıdır.

Obyekt metodu tapılmadı

Bənzər bir səhv sistem təsviri kodda mövcud olmayan obyektin metoduna (funksiyasına) daxil olmağa çalışdıqda baş verir. Bu tip səhvlər proqramçılar tərəfindən düzəldilə bilər.

1 saniyədə kifayət qədər yaddaş yoxdur

Bu səhv, sistemdə əməliyyat sistemində proqramların icrası ehtiyacları üçün ayrılmış bütün RAM bitdikdə baş verir, buna görə proqram səhv yaradır " 1 saniyədə kifayət qədər yaddaş yoxdur". Bu, konfiqurasiyanın yenilənməsi, böyük faylın işlənməsi, hesabatın yaradılması, böyük verilənlər bazasının yüklənməsi və s. kimi müxtəlif hadisələr zamanı baş verə bilər. İstifadəçi belə bir xətanı özü düzəltməyə cəhd edə bilər.

1c səhvinin mümkün həlli "Yaddaş kifayət deyil"

Səhv, proqram təminatı (proqram təminatı) üçün əməliyyat sistemi tərəfindən ünvan yaddaşının məhdud şəkildə ayrılması ilə bağlıdır.
Defolt ünvan yaddaş məhdudiyyətləri bunlardır:

  • 32 bitlik sistem üçün - 2 GB
  • 64 bit üçün - 4 GB

Ünvan yaddaşının ölçüsünü artırmaq üçün aşağıdakıları etməlisiniz:

  1. Komanda xəttini işə salın: "Başlat - Çalıştır" - CMD yazın və Enter düyməsini basın
  2. İndi komanda sətrində dırnaq işarələri olmadan mətni daxil edin “bcdedit /set increaseuserva 3072”, burada 3072 istədiyiniz ünvan yaddaşının ölçüsüdür.
  3. Özünüzü yenidən başladın əməliyyat sistemi(kompüter)
  4. Əvvəllər işləməyən və xəta ilə nəticələnən həmin hərəkəti 1C-də yerinə yetirməyə çalışın.
  5. Hər şey düzəldilibsə və əməliyyat tez-tez təkrarlanmırsa, “bcdedit /deletevalue artırmaquserva” əmrindən istifadə edərək ünvan yaddaşının ölçüsünü standart dəyərə qaytarmaq tövsiyə olunur.

SQL cədvəlləri ilə bağlı xətalar

Bu cür səhvlər adətən server tərəfində, sistem cədvələ daxil olduqda və məlumatları oxuya bilmədikdə baş verir. Bu səhv səhv server konfiqurasiyası, həmçinin SQL cədvəllərinin zədələnməsi səbəbindən baş verə bilər. Xüsusilə çətin vəziyyətlərdə verilənlər bazasını bərpa etmək belə mümkün olmaya bilər və sonra yalnız verilənlər bazasının arxivləşdirilmiş surəti sizi xilas edə bilər. Verilənlər bazasının ehtiyat nüsxələrini vaxtında hazırlamağı tövsiyə edirik.

1 saniyədə giriş xətası

Bu səhv istifadəçi giriş hüquqları (rollar) ilə qadağan edilən hərəkəti yerinə yetirməyə çalışdıqda baş verir. Buna görə sistem 1s giriş xətası verir. Rollar proqramçı tərəfindən konfiquratorda konfiqurasiya edilir.

1 saniyədə səhvi düzəldə bilmədiniz?

1C-də hər hansı bir səhvi düzəldə bilmirsinizsə, ümidsiz olmayın, telefonu götürün və bizə zəng edin! Mütəxəssislərimiz 1C ilə bağlı istənilən problemi, o cümlədən sistemin işləməsi zamanı yaranan səhvləri həll etməkdə sizə kömək etməyə həmişə hazırdırlar.

Siz (və ya istifadəçi) 1C-də işləyirsiniz. Birdən - bir səhv. Nə etməli?

Əlbəttə ki, ən doğrusu, 1C səhvinin nə olduğunu, onun səbəblərini təhlil etmək, nə olduğunu tapmaq üçün bir-iki saat sərf etməkdir.

Bu mümkün deyilsə nə etməli? Nə vaxt, nə istək, nə də kifayət qədər bilik. 1C-də səhvləri tez bir zamanda düzəltmək üçün bəzi çox zərərli məsləhətlər.

Səhv mesajı 1C

1C səhv mesajının tipik növü 1C səhvinin mətni və OK və Daha çox düymələri olan bir pəncərədir.

Burada göstərilən 1C xətasının mətni istifadəçi mesajıdır, bu, çox vaxt proqramçı üçün heç nə demək deyil, çünki göstərilən 1C xətası bəzi yanlış hərəkətlərin nəticəsi ola bilər.

1C səhvlərini düzəltmək üçün proqramçının 1C səhv mesajını görmək üçün bu pəncərədə Daha çox düyməsini sıxmalısınız. Orada deyilir:

  • , 1C səhvinin baş verdiyi
  • 1C xətasının baş verdiyi bu modulun funksiyası
  • 1C xətasının baş verdiyi bu modulun sətir nömrəsi.

Konfiqurator düyməsini də vura bilərsiniz, sonra konfiqurator açılacaq, bu modul, bu xəttdə bu funksiya, bundan sonra 1C səhvini düzəldə bilərsiniz.

Səhvləri anlamaq üçün fəndlər

Artıq deyildiyi kimi, 1C səhvinin mətni çox vaxt əvvəllər yerinə yetirilən səhv hərəkətlərin nəticəsidir.

Məsələn, çox yayılmış 1C səhv mətni oxuyur:

Dəyər dəyər deyil obyekt növü(Adı nədir)

Bu nə demək olardı???

Və bu aşağıdakılar deməkdir:

  • Dəyişən var
  • Proqram, dəyişənin dəyərinin bir kataloq və ya sənəd və ya başqa bir şey olduğunu güman edir - ümumiyyətlə onun təfərrüatları (sahələri) var.
  • Proqram bu obyektin sahəsinə daxil olmağa çalışır
  • Bununla birlikdə, 1C səhvi ondan ibarətdir ki, proqramın əvvəlki sətirlərində nədənsə bu dəyişən heç bir təfərrüatı (sahələri) olmayan bir dəyər aldı, məsələn, "Müəyyən edilməmiş" dəyəri.

Daha çox rast gəlinən 1C səhvlərinin düzəldilməsi

Əlbəttə ki, hazırda 1C-də mövcud ola biləcək bütün səhvləri nəzərdən keçirə bilmərik.
Tez-tez baş verən 1C səhvlərini, eləcə də 1C səhvlərini tez bir zamanda düzəltmək üçün zərərli məsləhətləri qısaca sadalamağa çalışaq.

  • Dəyişən Boolean tiplidirsə (yəni True və False dəyərlərini qəbul edir), onda ona bu şəkildə daxil olmaq olar:

    Əgər VariableName Sonra

    Bu yazı oxşardır:
    Əgər VariableName = Doğrudursa

    Ancaq nədənsə bu dəyişən qeyri-Boolean dəyəri alırsa, onda birinci seçim 1C xətası verəcək, ikincisi isə olmayacaq.

  • "Funksiya adı XXX tapılmadı"

    Bəzi modullar serverdə icra olunur. Üstəlik, eyni modulun bəzi funksiyaları serverdə və ya müştəridə yerinə yetirilə bilər.

    Bu halda, serverdə işləyən funksiyanın müştəridə işləyən funksiyanı çağırması ilə bağlı 1C xətası baş verə bilər. Bu vəziyyətdə belə bir 1C səhvi olacaq.

    Mümkünsə, belə bir funksiyanı serverə köçürmək lazımdır.

  • "XXX adlı dəyişən tapılmadı"

    Əvvəlki 1C səhvinə bənzəyir. Proqramda ümumi modulda yerləşən funksiyaya çağırış varsa, o zaman belə görünür:
    ModuleName.FunctionName();

    Əgər modulun xassələrində onun müştəridə icra olunduğu müəyyən edilibsə və biz serverdə icra olunan proqram sətirlərindən daxil oluruqsa, onda 1C xətası olacaq.
    "Dəyişən tapılmadı - ModuleName"

    Eyni şəkildə bu modulun serverdə icrasını təmin etmək lazımdır.

  • "Obyektdə XXX əmlak aşkarlanmadı"

    “Əmlak” sözü bu obyektin (atributun) sahəsi deməkdir. Zəruri:
    o Nə cür obyekt olduğunu müəyyənləşdirin
    o Əgər bu bir arayış kitabıdırsa, sənəddirsə, əmlakın həqiqətən belə adlandırılıb-adlandırılmadığını yoxlamaq lazımdır
    o Əgər varsa və ya – həmin adla formanın təfərrüatlarına baxın.

  • "Obyektdə Xxxx metodu aşkar edilmədi"

    “Metod” sözü bu obyektin modulunda olan funksiyaya/prosedura aiddir.

    Zəruri:
    o Nə cür obyekt olduğunu müəyyənləşdirin
    o Onun modulunu tapın (əgər 1C obyektidirsə obyekt modulu, formadırsa forma modulu)
    o Eyni adlı funksiyanın mövcudluğunu yoxlayın.

  • "Sorğu yerinə yetirərkən xəta 1C"

    Bu o deməkdir ki, sorğu mətnində 1C xətası var. Sorğu mətni adətən proqramda yerinə yetirildiyindən daha tez (yəni daha yüksək) müəyyən edilir. Bu modulda sorğu mətnini axtarın (yuxarıda gözlərinizlə və ya “SEÇ” sözünü axtararaq).

    Sorğu mətnini təhlil etməyə və ya sorğu mətninə sağ klikləməyə çalışın və ipucu əldə etmək üçün sorğu tərtibatçısını açmağa çalışın.

  • "1C layout xətası" - hesabatı işləyərkən

    Bu 1C xətası ya sorğu mətnində 1C xətası, ya da ACS parametrlərində 1C xətası deməkdir (çox vaxt qruplaşmalarda, seçilmiş sahələrdə, şərti formatlaşdırmada).

    Parametrlərdən başlamağa çalışın, onları xeyli sadələşdirin. Seçilmiş sahələr və şərti formatlaşdırmada siyahıda xaç işarəsi ilə işarələnmiş sahələrin olmadığını yoxlayın.

    Əgər kömək etmirsə, sorğu orqanına keçin və göstəriş almaq üçün sorğu qurucusundan istifadə edin.

Dostlarınızla paylaşın və ya özünüz üçün qənaət edin:

Yüklənir...