Nesne yöntemi değer katma değeri bulunamadı. İndeks dizinin sınırlarının dışında

Siz (veya kullanıcı) 1C'de çalışıyorsunuz. Aniden - bir hata. Ne yapalım?

Elbette en doğru şey 1C hatasının ne olduğunu, nedenlerini analiz etmek, neyin ne olduğunu bulmak için bir veya iki saat harcamaktır.

Bu mümkün değilse ne yapmalı? Zaman yok, arzu yok, yeterli bilgi yok. İşte 1C'deki hataları hızlı bir şekilde düzeltmek için bazı çok zararlı ipuçları.

Hata mesajı 1C

Tipik 1C hata mesajı türü, 1C hatası metninin ve Tamam ve Daha Fazla düğmelerinin bulunduğu bir penceredir.

Burada görüntülenen 1C hatasının metni bir kullanıcı mesajıdır; görüntülenen 1C hatası bazı yanlış eylemlerin sonucu olabileceğinden genellikle programcı için hiçbir şey ifade etmez.

1C hatalarını düzeltmek için programcının 1C hata mesajını görmek üzere bu pencerede Daha Fazla seçeneğine tıklamanız gerekir. Belirtir:

  • 1C hatasının oluştuğu
  • 1C hatasının oluştuğu bu modülün işlevi
  • 1C hatasının oluştuğu bu modülün satır numarası.

Ayrıca Yapılandırıcı düğmesine de tıklayabilirsiniz, ardından yapılandırıcı açılacaktır, bu modül, bu satırdaki bu işlev, ardından 1C hatasını düzeltebilirsiniz.

Hataları Anlamak İçin Püf Noktaları

Az önce de söylediğimiz gibi, 1C hatasının metni çoğu zaman önceden gerçekleştirilen yanlış eylemlerin bir sonucudur.

Örneğin, çok yaygın bir 1C hata metni şöyledir:

Değer bir nesne türü değeri değil (WhatName)

Bu ne anlama geliyor???

Bu da şu anlama geliyor:

  • Bir değişken var
  • Program, değişkenin değerinin bir dizin, belge veya benzeri bir şey olduğunu varsayar - genel olarak ayrıntılara (alanlara) sahiptir
  • Program bu nesnenin bir alanına erişmeye çalışıyor
  • Ancak 1C hatası, programın önceki satırlarında bazı nedenlerden dolayı bu değişkenin herhangi bir ayrıntıya (alanlara) sahip olmayan bir değer, örneğin “Tanımsız” değeri almasıdır.

Daha yaygın olan 1C hatalarının düzeltilmesi

Elbette şu anda 1C'de olabilecek tüm hataları dikkate alamayız.
Sıkça ortaya çıkan 1C hatalarını ve 1C hatalarını hızlı bir şekilde düzeltmek için zararlı ipuçlarını kısaca listelemeye çalışalım.

  • Değişken Boolean türündeyse (yani Doğru ve Yanlış değerlerini kabul ediyorsa), o zaman şu şekilde erişilebilir:

    DeğişkenAdı ise O zaman

    Bu yazı buna benzer:
    DeğişkenAdı = Doğru ise O halde

    Bununla birlikte, herhangi bir nedenden dolayı bu değişken Boolean olmayan bir değer alırsa, o zaman ilk seçenek 1C hatası verecektir, ancak ikincisi vermeyecektir.

  • "İşlev adı XXX bulunamadı"

    Bazı modüller sunucuda yürütülür. Ayrıca aynı modülün bazı fonksiyonları sunucuda veya istemcide çalıştırılabilir.

    Bu durumda, sunucuda çalışan bir işlevin istemcide çalışan bir işlevi çağırması nedeniyle 1C hatası oluşabilir. Bu durumda böyle bir 1C hatası olacaktır.

    Mümkünse böyle bir fonksiyonu sunucuya taşımak gerekir.

  • "XXX adlı değişken bulunamadı"

    Önceki 1C hatasına benzer. Program ortak bir modülde bulunan bir işleve çağrı içeriyorsa, şöyle görünür:
    ModülAdı.İşlevAdı();

    İstemcide çalıştırılacağı modülün özelliklerinde ayarlanmışsa ve sunucuda yürütülen programın satırlarından erişiyorsak, 1C hatası oluşacaktır.
    "Değişken bulunamadı - ModülAdı"

    Benzer şekilde bu modülün sunucuda çalıştırılmasını etkinleştirmek gerekir.

  • "Nesnede XXX özelliği algılanmadı"

    “Özellik” kelimesi bu nesnenin (niteliğin) alanı anlamına gelir. Gerekli:
    o Ne tür bir nesne olduğunu belirleyin
    o Eğer bu bir referans kitabı, bir belge ise, mülkün gerçekten bu şekilde adlandırılıp adlandırılmadığına bakmanız gerekir.
    o Eğer öyleyse veya – o isimdeki formun detaylarına bakın.

  • "Nesnede Xxxx yöntemi algılanmadı"

    “Yöntem” kelimesi, bu nesnenin bir modülündeki bir işlevi/prosedürü ifade eder.

    Gerekli:
    o Ne tür bir nesne olduğunu belirleyin
    o Modülünü bulun (1C nesnesi ise nesne modülü, form ise form modülü)
    o Aynı ada sahip bir fonksiyonun varlığını kontrol edin.

  • “Bir istek yürütülürken 1C hatası”

    Bu, istek metninde 1C hatası olduğu anlamına gelir. İstek metni genellikle programda yürütüldüğünden daha önce (yani daha yüksek) tanımlanır. Bu modülde sorgu metnini arayın (gözleriniz yukarıdayken veya “SELECT” kelimesini arayarak).

    İstek metnini analiz etmeyi deneyin veya istek metnine sağ tıklayıp ipucu almak için istek tasarımcısını açmayı deneyin.

  • “1C düzen hatası” - bir rapor çalıştırırken

    Bu 1C hatası, ya istek metninde 1C hatası ya da ACS ayarlarında (genellikle gruplamalarda, seçili alanlarda, koşullu biçimlendirmede) 1C hatası anlamına gelir.

    Ayarlarla başlamayı deneyin, bunları büyük ölçüde basitleştirin. Seçilen alanlarda ve koşullu biçimlendirmede listede çarpı işaretli alanların bulunmadığından emin olun.

    Eğer işe yaramazsa istek gövdesine gitmeyi ve ipucu almak için istek oluşturucuyu kullanmayı deneyin.

Muhasebe güncellenirken hata oluştu (Processing.UpdatingInformationBase.ObjectModule(1777)): Nesne yöntemi bulunamadı (UpdateDetails) Documents.HelpOnPNDFLaxAuthorityS2015.UpdateDetails();

Hata tanımlaması:
Yapılandırmayı 2.0.65.47 sürümünden 2.0.66.6 sürümüne güncelledikten sonra veritabanının güncellenmesi bir hatayla sonuçlanır (Processing.UpdatingInformationBase.ObjectModule(1777)): Nesne yöntemi bulunamadı (UpdateDetails) Documents.HelpOnPNDFLaxAuthorityS2015.UpdateDetails(); Platform 1C: Enterprise 8.3.19.1818, veritabanının dosya sürümü

Bulunan çözümler:

1C: Accounting 2.0 veritabanının konfigürasyonunu güncellerken, geliştiricilerin ara sürümleri kurmadan 2.0.65.47 sürümünden 2.0.66.6 sürümüne güncelleme hakkını saklı tuttuğu göz önüne alındığında, bu fırsatın kaçırılmaması oldukça doğaldır. Ancak bu başarılı olmadı çünkü... yukarıdaki hata oluştu.

Güncellemeye başlamadan önce veritabanının bir arşiv kopyasını oluşturduysanız, bu sizi sorunu yapılandırıcıyı kullanarak çözme zorunluluğundan kurtaracaktır. Bu hata oluşursa en iyi seçenek veritabanının bir kopyasını geri yüklemektir. 2.0.65.47 sürümünü yayınlamak için tekrar güncelleyin. Mevcut sürüme yönelik güncellemeyi tamamlamak için 1C 8'i kullanıcı modunda ("Klavyedeki "F7" tuşu veya "Yapılandırma" menüsünde - "Veritabanı yapılandırmasını güncelle F7") çalıştırdığınızdan EMİN OLUN.

Daha sonra 1C: Accounting 8 yapılandırmasını 2.0.66.2'yi yayınlayacak şekilde güncelliyoruz. Tekrar, mevcut sürüme yönelik güncellemeyi tamamlamak için 1C 8'i kullanıcı modunda çalıştırdığınızdan EMİN OLUN.

Arşiv kopyası yapılmadıysa

Arşiv kopyası yapılmadıysa. Daha sonra geriye kalan tek şey veritabanı yapılandırmasını bir dosyaya kaydetmek, menü “Yapılandırma” - “Yapılandırmayı kaydet”.

Uyarıyı kabul ediyoruz ve destek ayarlarını belirtildiği gibi ayarlıyoruz:

"Tamam"a tıklayın. Platformun gerekli işlemleri yapmasını bekliyoruz. Daha sonra, “Bilgi Tabanı Güncellemesi” işlemine gidiyoruz, işleme modülünde 1777 satırına gidiyoruz (“Ctrl + G” tuş kombinasyonuyla “Satır numarasına git” penceresini çağırarak) ve satırı yorumlayarak yerleştiriyoruz. satırın önündeki “//” karakterleri:

Değişiklikleri kaydetmek için "Yapılandırma" - "Veritabanı yapılandırmasını güncelle F7") menüsü aracılığıyla. Veritabanını güncellemek için veritabanını 1C: Enterprise modunda başlatıyoruz. Bundan sonra destek için yapılandırmayı geri göndermeniz gerekir. Önceden kaydedilmiş konfigürasyon dosyasını "Konfigürasyon" - "Konfigürasyonu dosyadan yükle" menüsünden yüklüyoruz

Her zamanki gibi güncellemeye devam ediyoruz.

© www.. Tüm hakları saklıdır. Bu sayfadaki yazı ve görsellerin sahibinin yazılı izni olmadan kullanılması yasaktır. Bu sayfadaki materyalleri kullanırken bu sayfaya bir bağlantı vermelisiniz.

Herkes, herhangi bir yazılımın zaman zaman çeşitli aksaklıklar verebileceğini veya basitçe söylemek gerekirse düzgün çalışmayabileceğini bilir. Sistemin düzgün işleyişinin bozulmasına yol açan bu tür arızalara denir. hatalar. 1c programı bir yazılım ürünüdür (yazılımdır), bu nedenle bu programda sistemin yanlış çalışmasına neden olan çeşitli hatalar da meydana gelebilir. çok çeşitli olabilir ve programlama alanında ve 1C'nin iç mekanizmalarının özellikleri konusunda bir takım özel bilginiz yoksa, o zaman hatayı doğru bir şekilde anlayıp teşhis edemeyeceksiniz, hatta düzeltemeyeceksiniz. Bizimkilerden herhangi biri 1s programcı ile ilgili her türlü sorunun çözümünde size yardımcı olmaya her zaman hazırız 1s hataları!

1C veritabanındaki hatalara ne sebep olur?

Şimdi neden çeşitli şeylerin olabileceği hakkında biraz konuşalım. 1s veritabanındaki hatalar programla çalışırken. Aslında pek çok neden olabilir ve hepsinin birbirinden tamamen farklı nedenleri olabilir. Yine de çeşitli hastalıkların ortaya çıkmasının nedenini genel anlamda anlamaya çalışacağız. 1 saniyedeki hatalar.

1C veritabanındaki hata türleri

1 saniyede hatalarÇok çeşitli olabilir ve çeşitli nedenlerle ortaya çıkabilirler. Bu yazıda olası tüm 1c hatalarını ele almayacağız, karşılaşılan ana hata "türlerini" vurgulamaya çalışacağız. Programın size gösterdiği hatanın içeriği genellikle her zaman farklı olduğundan, bunlara geleneksel olarak "türler" diyoruz, ancak özü genellikle aynıdır. O halde en yaygın olanları vurgulayalım 1s veritabanındaki hatalar:

  1. Akış biçimi hatası
  2. Nesne alanı bulunamadı
  3. Nesne yöntemi bulunamadı
  4. Yeterli hafıza yok
  5. SQL tablolarıyla ilgili hatalar (MySQL gibi ilişkisel veritabanlarında çalışan 1C sunucuları için geçerlidir)
  6. Erişim hatası 1'ler

1 saniyede akış formatı hatası

1s akış formatı hatası

Nesne alanı bulunamadı

Nesne alanı bulunamadı

İndeks dizinin sınırlarının dışında

Hata 1c

1 saniyede akış formatı hatası

Bu hata sıklıkla bir dizi komut bir akıştaki bayt kodundan yanlışlıkla okunduğunda ortaya çıkar; bu nedenle buna denir. 1s akış formatı hatası. Yürütülmesinin bir sonucu olarak bu hatanın ortaya çıkması durumunda herhangi bir işlem iptal edilecektir. Bu tür hatalar, 1C Enterprise sisteminin çalışmasına zarar verebileceğinden derhal düzeltilmesini gerektirir. Bu hatalar yalnızca kalifiye 1C programcıları tarafından düzeltilebilir.

Nesne alanı bulunamadı

1c sistemi size "" metnini içeren bir hata mesajı verirse Nesne alanı bulunamadı", bu, programın var olmayan bir nesnenin niteliğine (alanına) erişmeye çalıştığı bir durumda hatanın meydana geldiği anlamına gelir. Bu hata, 1C Enterprise'da meydana gelirse "çalışma zamanı hatası" niteliğindedir. Hatalar bu tür yalnızca programcılar tarafından da düzeltilebilir.

İndeks dizinin sınırlarının dışında

Programlamadaki bir dizi, aynı türdeki birçok nesnenin depolandığı belirli bir bellek alanıdır (1c'de bu türler örneğin DirectoryLink, DocumentObject vb. ve ayrıca sayı, dize, Boolean gibi herhangi bir ilkel tür olabilir) , vesaire.). Hata 1c Bir dizinin sınırlarının ötesine geçmeyle ilgili olan bu durum, tam olarak bir program, dizi için ayrılan belleğin sınırlarına eriştiğinde meydana gelir. Buna göre, bu durumda program bir hata üretir ve kullanıcıya (programcıya) dizi dışında bir erişimin meydana geldiğini bildirir ve bu da bir yazılım hatasıdır.

Nesne yöntemi bulunamadı

Benzer bir hata, sistem, açıklaması kodda bulunmayan bir nesnenin yöntemine (fonksiyonuna) erişmeye çalıştığında da ortaya çıkar. Bu tür hatalar programcılar tarafından düzeltilebilir.

1 saniyede yeterli bellek yok

Bu hata, işletim sistemindeki programların yürütülmesi için ayrılan tüm RAM'in sistemde tükenmesi durumunda oluşur, bu nedenle program "hatasını üretir" 1 saniyede yeterli bellek yok". Bir konfigürasyonun güncellenmesi, büyük bir dosyanın işlenmesi, rapor oluşturulması, büyük bir veritabanının yüklenmesi vb. gibi çeşitli olaylar sırasında ortaya çıkabilir. Kullanıcı bu tür bir hatayı kendisi düzeltmeyi deneyebilir.

1c hatası "Yeterli bellek yok" için olası düzeltme

Hata, adres belleğinin işletim sistemi tarafından yazılım (yazılım) için sınırlı olarak tahsis edilmesinden kaynaklanmaktadır.
Varsayılan adres belleği sınırları şunlardır:

  • 32 bit sistem için – 2 GB
  • 64 bit için – 4 GB

Adres belleği boyutunu artırmak için aşağıdakileri yapmanız gerekir:

  1. Komut satırını başlatın: “Başlat - Çalıştır” - CMD yazın ve enter tuşuna basın
  2. Şimdi komut satırına metni tırnak işaretleri olmadan girin “bcdedit /set boostuserva 3072″, burada 3072 istenen adres belleğinin boyutudur
  3. İşletim sisteminizi (bilgisayarınızı) yeniden başlatın
  4. Daha önce çalışmayan ve hatayla sonuçlanan eylemi 1C'de gerçekleştirmeye çalışın.
  5. Her şey yolunda gittiyse ve işlem çok sık tekrarlanmıyorsa, “bcdedit /deletevalue boostuserva” komutunu kullanarak adres belleği boyutunun varsayılan değere döndürülmesi önerilir.

SQL tablolarıyla ilgili hatalar

Bu tür hatalar genellikle sunucu tarafında, sistem tabloya eriştiğinde ve verileri okuyamadığı zaman ortaya çıkar. Bu hata, yanlış sunucu yapılandırmasının yanı sıra SQL tablolarının hasar görmesi nedeniyle de ortaya çıkabilir. Özellikle zor durumlarda, veritabanını geri yüklemek bile mümkün olmayabilir ve bu durumda yalnızca veritabanının arşivlenmiş bir kopyası sizi kurtarabilir. Veritabanının yedek kopyalarını zamanında almanızı önemle öneririz.

1 saniyede erişim hatası

Bu hata, kullanıcı erişim hakları (roller) tarafından yasaklanan bir eylemi gerçekleştirmeye çalıştığında ortaya çıkar. Bu nedenle sistem 1s erişim hatası veriyor. Roller, yapılandırıcıda programcı tarafından yapılandırılır.

Hatayı 1 saniyede düzeltemediniz mi?

1C'deki herhangi bir hatayı düzeltemediyseniz umutsuzluğa kapılmayın, telefonu açın ve bizi arayın! Uzmanlarımız, sistemin çalışması sırasında ortaya çıkan hatalar da dahil olmak üzere 1C ile ilgili her türlü sorunu çözmenize yardımcı olmaya her zaman hazırdır.