Analitik muhasebe hareketlerini deftere nakletmek veya Microsoft Dynamics GP içinde kalıp kaydetmek çalıştığınızda hata iletisi: "'AAGXXXXX' nesnesi içinde yinelenen anahtar eklenemiyor"

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 897280
Belirtiler
Microsoft Dynamics GP analitik muhasebe hareketlerini deftere nakletmek çalıştığınızda, aşağıdaki hata iletisini alabilirsiniz:

[Microsoft] [ODBC SQL Server sürücüsü] [SQL Server] BİRİNCİL anahtar contraint ihlal 'PKAAG30000', yinelenen anahtar nesne ekleyemezsiniz 'AAG30003'

Not
bu hata iletisindeki AAG30000 bir tablo için yer tutucudur. "Contraint" sözcüğü "kısıtlaması" yazımıdır

Aldığınız gerçek bir hata iletisi aşağıdaki tablolardan birini içerebilir:
  • AAG00103
  • AAG00500
  • AAG00600
  • AAG00601
  • AAG00602
  • AAG00603
  • AAG00400
  • AAG00401
  • AAG00201
  • AAG00310
  • AAG00900
  • AAG00901
  • AAG00902
  • AAG00903
  • AAG10000
  • AAG10001
  • AAG10002
  • AAG10003
  • AAG20000
  • AAG20001
  • AAG20002
  • AAG20003
  • AAG30000
  • AAG30001
  • AAG30002
  • AAG30003
Neden
Bu tablo (aaTableID) AAG00102 tablosunda gösterilen sonraki kullanılabilir değerini (aaRowID) zaten geçerli tablo (veya alt tablo serileri için) kullanılmış olduğundan, bu sorun oluşur.

Örneğin, AAG00102 tablosunda '30000' tablo AAG30000, AAG30001, AAG30002 ve AAG30003 tablolara bakın, böylece uygun tablo serisinde tüm tabloları denetlemek dikkatli olun.



Çözüm
Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini AA tablosu (ve alt tablolar) kullanılan en yüksek değeri karşılaştırmak için sonraki kullanılabilir değer AAG00102 tablosunda depolanan karşı kullanın.

Not Bu makaledeki yönergeleri izlemeden önce bir sorun oluşursa, geri veritabanının tam bir yedek kopya olduğundan emin olun.

Yöntem 1 - Use SQL komut dosyası AAG00102 çoğu AA tablolar için değerleri güncelleştirmek için

Aşağıdaki bağlantıyı kullanarak bir SQL komut dosyası karşıdan yükleyebilir ve karşı şirket veritabanı SQL Server Management Studio'da çalıştırmak karşılaştırıldığında son olarak AAG00102 tablosunda saklanan bir sonraki kullanılabilir numarayı otomatik olarak güncelleştirmek için değeri AA tablosunda kullanılır. Komut dosyasını aşağıdaki tablolara bakın: AAG10000, AAG20000, AAG30000, AAG00201, AAG00400, AAG00401, AAG00500, AAG00600, AAG00900 ve AAG00903. Böylece AA tabloların çoğu ancak tüm arar ve bir dizi için alt tablolar değil. Komut dosyasını edinmek için aşağıdaki Microsoft Web sitesini ziyaret edin:

https://mbs.microsoft.com/Files/Customer/gp/downloads/servicepacks/AA_Update_AAG00102.SQL

Yöntem 2 - AAG00102 araştırma ve güncelleştirme değerine el ile yükleme yöntemini aynı anda bir AA tablosu

  1. SQL Server Management Studio'yu açın. Bunu yapmak için Başlat' ı tıklatın, Programlar' ın, Microsoft SQL Server sürümüiçin işaret ve SQL Server Management Studio' ı tıklatın.
  2. SQL Server'a Bağlan penceresinde, sa parolasını kullanarak SQL Server Management Studio için oturum açın.
  3. ' I tıklatın Yeni sorgu Sorgu penceresinde aşağıdaki betiği yazın veya bir sorgu penceresi açıp kopya için simge. Şirket veritabanında yürütmesi.
    select MAX (aaGLHdrID) from AAG30000*/Insert in the appropriate column/table for the aaGLHdrID and AAG30000 placeholders in the script.
  4. En son kullanılan en yüksek değeri tablosunda poliçelerinizin sorgu sonuçlarını unutmayın. (Tablo alt tablo varsa, en yüksek değeri olanlar da kullanılan son kontrol ettiğinizden emin olun.)
  5. Sorgu penceresinde aşağıdaki betiği yazın ve Dynamics veritabanı karşı yürütün:
    select * from AAG00102 where CMPANYID = 'nnn'
    Not Bu sorgu, değiştirme nnn Şirket Kimliği ile yer tutucu Şirket Kimliğini bulmak için aşağıdaki sorguyu sorgu penceresinde yazın.
    select * from SY01500
    DYNAMICS Veritabanı penceresinin üstündeki listeden seçin ve sonra F5 tuşuna basın.
  6. 30000 (veya uygun tablo) aaTableID değerini aaRowID alanındaki değere eşit veya bu değerden adım 4'te not ettiğiniz değeri olduğundan emin olun.
  7. Değeri güncelleştirmek için aşağıdaki komut dosyasını kullanın. Bunu yapmak için sorgu penceresinde aşağıdaki komut dosyasını yazın ve sonra F5 tuşuna basın.
    update aag00102 set aaROWID = 'yyyy' where aaTableID = 30000 and CMPANYID = 'zzz'
    Not Bu komut dosyasını Değiştir yyyy 4. adımda not ettiğiniz değeri ile yer tutucu. Değiştir zzz Şirket Kimliği ile yer tutucu Ayrıca aaTableID uygun tablo ile birlikte değiştirin.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Властивості

Ідентифікатор статті: 897280 – останній перегляд: 10/23/2015 06:09:00 – виправлення: 0.5

Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2010, Microsoft Dynamics GP 10.0

  • kberrmsg kbmbsmigrate kbbug kbmt KB897280 KbMttr
Зворотний зв’язок