Bu makale tüm bölgelerdeki Microsoft Dynamics NAV için geçerlidir.
Belirtiler
Bir işe atanmış bir madde için satınalma siparişiniz olduğunu ve Microsoft Dynamics NAV'da madde için bir İkili kod belirttiğiniz varsayalım. Daha sonra, satınalma siparişini deftere naklettiğinizde (aldığınızda ve faturaladığınızda), madde defteri girişleri ile ambar arasında bir veri uyuşmazlığı oluştuğu için aşağıdaki hata iletisini alırsınız:
Not
İş Günlüğü Satır Günlüğü Şablonunda Bin Kodunu belirtmelisiniz...
Ayrıca, satınalma siparişi için geri alma bilgisi deftere naklettiğinizde, madde defteri girişleri yanlış güncelleştirilir. Sistemin ambar ve madde defteri girişlerini eşit olarak güncellemesini beklersiniz.
Bu sorun, KB 2159936'daki düzeltmeyi uyguladıktan sonra oluşur.
Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2159936 Microsoft Dynamics NAV 2009 Service Pack 1'deki bir iş ile beklenmedik şekilde bir satınalma siparişini Çöp Kutusu zorunlu konumu için Al olarak deftere nakledebilirsiniz
Bu sorun aşağıdaki ürünlerde oluşur:
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Çözüm
Düzeltme bilgileri
Artık Microsoft, desteklenen bir düzeltme sunmaktadır. Ancak, yalnızca bu makalede açıklanan sorunu düzeltmeye yöneliktir. Bunu yalnızca bu özel sorunun yaşandığı sistemlere uygulayın. Bu düzeltme için ek sınamalar gerekebilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilenmiyorsanız, bir sonraki Microsoft Dynamics NAV 2009 hizmet paketini veya bu düzeltmeyi içeren bir sonraki Microsoft Dynamics NAV sürümünü beklemenizi öneririz.
Not Özel durumlarda, Microsoft Dynamics ve ilgili ürünler için bir Teknik Destek Uzmanı belirli bir güncelleştirmenin sorunu çözeceğini belirlerse, normalde destek aramaları için yapılan ücretler iptal edilebilir. Ek destek soruları ve söz konusu güncelleştirme için uygun olmayan sorunlara normal destek ücretleri uygulanır.
Yükleme bilgileri
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; açık veya zımni hiçbir garanti vermez. Bu, satılabilirlik veya belirli bir amaca uygunluk ile ilgili zımni garantileri içerir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama diline ve prosedürler oluşturmak ve prosedürlerde hata ayıklamak için kullanılan araçlara aşina olduğunuzu varsaymaktadır. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
Not Bu düzeltmeyi yüklemeden önce, tüm Microsoft Navision istemcisi kullanıcılarının sistem oturumunu kapattığını doğrulayın. Bu, Microsoft Navision Application Services (NAS) istemci kullanıcılarını içerir. Bu düzeltmeyi uyguladığınızda oturum açan tek istemci kullanıcı siz olmalısınız.
Bu düzeltmeyi uygulamak için bir geliştirici lisansınız olmalıdır.
Windows Oturum Açma veya Veritabanı Oturum Açma penceresindeki kullanıcı hesabına "SUPER" rol kimliğinin atanmasını öneririz. Kullanıcı hesabına "SUPER" rol kimliği atanamıyorsa, kullanıcı hesabının aşağıdaki izinlere sahip olduğunu doğrulamanız gerekir:
- Değiştireceğiniz nesnenin Değiştirme izni.
- Sistem Nesne Kimliği 5210 nesnesi ve Sistem Nesne Kimliği 9015 nesnesi için Yürütme izni.
Not: Veri onarımı gerçekleştirmeniz gerekmediği sürece, veri depoları üzerinde haklarınız olması gerekmez.
Kod değişiklikleri
Not: Kod düzeltmelerini üretim bilgisayarlarınıza uygulamadan önce her zaman denetimli bir ortamda sınayın.
Bu sorunu gidermek için aşağıdaki adımları izleyin:
FromPurchaseLineToJnlLine işlevinin kod birimindeki (1004) kodu aşağıdaki gibi değiştirin:
Mevcut kod
... JobJnlLine."Line Discount Amount" := ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision"); END; JobJnlLine."Location Code" := "Location Code"; JobJnlLine."Line Type" := "Job Line Type"; ...Değişim kodu
... JobJnlLine."Line Discount Amount" := ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision"); END; JobJnlLine."Location Code" := "Location Code"; // Add the following line. JobJnlLine."Bin Code" := "Bin Code"; // End of the added line. JobJnlLine."Line Type" := "Job Line Type"; ...Purch.-Post kod birimindeki (90) OnRun tetikleyicisindeki kodu aşağıdaki gibi değiştirin:
Not Kaldırılacak kod KB 2159936 ile eklenmiştir, bu nedenle aşağıdaki kodu değiştirmek gerekli olabilir veya olmayabilir.
Mevcut kod
... IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN PurchLine.TESTFIELD(Amount); PurchLine.TESTFIELD("Job No.",''); END; // Delete the following lines. IF (PurchLine."Job No." <> '') AND (PurchLine.Type = PurchLine.Type::Item) THEN PurchLine.TESTFIELD("Bin Code",''); // End of the deleted lines. ...Değişim kodu
... IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN PurchLine.TESTFIELD(Amount); PurchLine.TESTFIELD("Job No.",''); END; ...Purch.-Post kod birimindeki (90) PostItemJnlLine işlevindeki kodu aşağıdaki gibi değiştirin:
Mevcut kod
... IF PostWhseJnlLine THEN BEGIN ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE); IF TempWhseJnlLine2.FIND('-') THEN REPEAT WhseJnlPostLine.RUN(TempWhseJnlLine2); UNTIL TempWhseJnlLine2.NEXT = 0; ...Değişim kodu
... IF PostWhseJnlLine THEN BEGIN ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE); IF TempWhseJnlLine2.FIND('-') THEN REPEAT WhseJnlPostLine.RUN(TempWhseJnlLine2); // Add the following lines. IF RevertWarehouseEntry(TempWhseJnlLine2,"Job No.",PostJobConsumptionBeforePurch) THEN WhseJnlPostLine.RUN(TempWhseJnlLine2); // End of the added lines. UNTIL TempWhseJnlLine2.NEXT = 0; ...Aşağıdaki yerel işlevi ekleyin: RevertWarehouseEntry@92(VAR TempWhseJnlLine@1000 : TEMPORARY Kayıt 7311; JobNo@1001 : Kod[20]; PostJobConsumptionBeforePurch@1002 : Boolean). Sonra, işlev için aşağıdaki kodu ekleyin:
IF PostJobConsumptionBeforePurch OR (JobNo = '') THEN EXIT(FALSE); WITH TempWhseJnlLine DO BEGIN "Entry Type" := "Entry Type"::"Negative Adjmt."; Quantity := -Quantity; "Qty. (Base)" := -"Qty. (Base)"; "From Bin Code" := "To Bin Code"; "To Bin Code" := ''; END; EXIT(TRUE);
Önkoşullar
Bu düzeltmeyi uygulamak için aşağıdaki ürünlerden birini yüklemiş olmanız gerekir:
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Kaldırma bilgileri
Bu düzeltmeyi kaldıramazsınız.
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.
Başvurular
VSTF DynamicsNAV SE: 244430
Not: Bu, doğrudan Microsoft destek kuruluşu tarafından hazırlanmış bir "HIZLI YAYIMLAMA" makalesidir. Burada yer alan bilgiler acil sorunlar karşısında bu şekliyle verilir. Kullanıma sunma hızının bir sonucu olarak, materyaller yazım hataları içerebilir ve herhangi bir zamanda önceden haber verilmeksizin revize edilebilir. Göz önünde bulundurulması gereken diğer hususlar için Kullanım Koşulları'na bakın.