"Prepmt. Microsoft Dynamics NAV'ın Almanca sürümünde arşivlenmiş bir satış siparişini kopyalamak için bir satış siparişinde "Belgeyi Kopyala" işlevini çalıştırmayı denediğinizde, "Belge Kopyala" işlevini çalıştırmayı denediğinizde "Girintisi Satış Satırı Belgesinde [PrepaymentAmount] olmalıdır" hata iletisi

Uygulandığı Öğe
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0 Service Pack 1

Bu makale, Almanca (de) dil yerel ayarı için Microsoft Dynamics NAV için geçerlidir.

Belirtiler

Microsoft Dynamics NAV'ın Almanca sürümünde arşivlenmiş bir satış siparişini kopyalamak için bir satış siparişinde Belge Kopyala işlevini çalıştırmayı denediğinizde, aşağıdaki hata iletisini alırsınız:

Not

Öğr. Amt. Inv. Satış Satırında Ön ÖdemeTutarı olmalıdır Belge Türü='Tür',Belge No.='Sayı1',Satır No.='Sayı2'.

Bu sorun aşağıdaki ürünlerde oluşur:

  • Microsoft Dynamics NAV 2009 R2'nin Almanca sürümü
  • Microsoft Dynamics NAV 2009 Service Pack 1'in (SP1) Almanca sürümü
  • Microsoft Dynamics NAV 5.0 Service Pack 1'in Almanca sürümü

      

Çö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 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ğini açıklamaya yardımcı olabilir. Ancak, ek işlevsellik sağlamak veya özel gereksinimlerinizi karşılamak için prosedürler oluşturmak için bu örnekleri değiştirmeyeceklerdir.

Not Bu düzeltmeyi yüklemeden önce, tüm Microsoft Dynamics NAV istemcisi kullanıcılarının sistemde oturumu kapatmış olduklarını doğrulayın. Bu, Microsoft Dynamics NAV Uygulama Sunucusu (NAS) hizmetlerini 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:

  1. Purch.-Post kod birimindeki (90) OnRun tetikleyicisindeki kodu aşağıdaki gibi değiştirin:
    Mevcut kod

    ...
    Ship := TempReturn;
    COMMIT;
    END;
    
    // Delete the following lines.
    IF Receive OR Ship THEN
    ArchiveUnpostedOrder; // has a COMMIT;
    // End of the deleted lines. 
    
    IF (Status = Status::Open) OR (Status = Status::"Pending Prepayment") THEN BEGIN
    TempInvoice := Invoice;
    TempRcpt := Receive;
    TempReturn := Ship;
    CODEUNIT.RUN(CODEUNIT::"Release Purchase Document",PurchHeader);
    Status := Status::Open;
    Invoice := TempInvoice;
    Receive := TempRcpt;
    Ship := TempReturn;
    MODIFY;
    COMMIT;
    Status := Status::Released;
    END;
    
    IF (PurchHeader."Buy-from IC Partner Code" <> '') AND (ICPartner.GET(PurchHeader."Buy-from IC Partner Code")) THEN
    ICPartner.TESTFIELD(Blocked,FALSE);
    ...
    

    Değişim kodu

    ...
    Ship := TempReturn;
    COMMIT;
    END;
    
    IF (Status = Status::Open) OR (Status = Status::"Pending Prepayment") THEN BEGIN
    TempInvoice := Invoice;
    TempRcpt := Receive;
    TempReturn := Ship;
    CODEUNIT.RUN(CODEUNIT::"Release Purchase Document",PurchHeader);
    Status := Status::Open;
    Invoice := TempInvoice;
    Receive := TempRcpt;
    Ship := TempReturn;
    MODIFY;
    COMMIT;
    Status := Status::Released;
    END;
    
    // Add the following lines.
    IF Receive OR Ship THEN
    ArchiveUnpostedOrder; // has a COMMIT;
    // End of the added lines. 
    
    IF (PurchHeader."Buy-from IC Partner Code" <> '') AND (ICPartner.GET(PurchHeader."Buy-from IC Partner Code")) THEN
    ICPartner.TESTFIELD(Blocked,FALSE);
    ...
    
  2. Copy Document Mgt. kod birimindeki (6620) CopyArchSalesLine işlevindeki kodu aşağıdaki gibi değiştirin:
    Mevcut kod

    ...
    IF (FromArchSalesLine.Type = FromArchSalesLine.Type::" ") AND (FromArchSalesLine."No." <> '') THEN
    ToSalesLine.VALIDATE("No.",FromArchSalesLine."No.");
    END ELSE BEGIN
    ToSalesLine."Quantity Shipped" := 0;
    ToSalesLine."Qty. Shipped (Base)" := 0;
    ToSalesLine."Return Qty. Received" := 0;
    ...
    

    Değişim kodu

    ...
    IF (FromArchSalesLine.Type = FromArchSalesLine.Type::" ") AND (FromArchSalesLine."No." <> '') THEN
    ToSalesLine.VALIDATE("No.",FromArchSalesLine."No.");
    END ELSE BEGIN
    
    // Add the following lines.
    IF ToSalesLine."Document Type" <> ToSalesLine."Document Type"::Order THEN BEGIN
    ToSalesLine."Prepayment %" := 0;
    ToSalesLine."Prepayment VAT %" := 0;
    ToSalesLine."Prepmt. VAT Calc. Type" := 0;
    ToSalesLine."Prepayment VAT Identifier" := '';
    ToSalesLine."Prepayment VAT %" := 0;
    ToSalesLine."Prepayment Tax Group Code" := '';
    ToSalesLine."Prepmt. Line Amount" := 0;
    ToSalesLine."Prepmt. Amt. Incl. VAT" := 0;
    END;
    ToSalesLine."Prepmt. Amt. Inv." := 0;
    ToSalesLine."Prepayment Amount" := 0;
    ToSalesLine."Prepmt. VAT Base Amt." := 0;
    ToSalesLine."Prepmt Amt to Deduct" := 0;
    ToSalesLine."Prepmt Amt Deducted" := 0;
    ToSalesLine."Prepmt. Amount Inv. Incl. VAT" := 0;
    ToSalesLine."Prepayment VAT Difference" := 0;
    ToSalesLine."Prepmt VAT Diff. to Deduct" := 0;
    ToSalesLine."Prepmt VAT Diff. Deducted" := 0;
    // End of the added lines. 
    
    ToSalesLine."Quantity Shipped" := 0;
    ToSalesLine."Qty. Shipped (Base)" := 0;
    ToSalesLine."Return Qty. Received" := 0;
    ...
    
  3. Copy Document Mgt. kod birimindeki (6620) CopyArchPurchLine işlevindeki kodu aşağıdaki gibi değiştirin:
    Mevcut kod

    ...
    IF (FromArchPurchLine.Type = FromArchPurchLine.Type::" ") AND (FromArchPurchLine."No." <> '') THEN
    ToPurchLine.VALIDATE("No.",FromArchPurchLine."No.");
    END ELSE BEGIN
    ToPurchLine."Quantity Received" := 0;
    ToPurchLine."Qty. Received (Base)" := 0;
    ToPurchLine."Return Qty. Shipped" := 0;
    ...
    

    Değişim kodu

    ...
    IF (FromArchPurchLine.Type = FromArchPurchLine.Type::" ") AND (FromArchPurchLine."No." <> '') THEN
    ToPurchLine.VALIDATE("No.",FromArchPurchLine."No.");
    END ELSE BEGIN
    
    // Add the following lines.
    IF ToPurchLine."Document Type" <> ToPurchLine."Document Type"::Order THEN BEGIN
    ToPurchLine."Prepayment %" := 0;
    ToPurchLine."Prepayment VAT %" := 0;
    ToPurchLine."Prepmt. VAT Calc. Type" := 0;
    ToPurchLine."Prepayment VAT Identifier" := '';
    ToPurchLine."Prepayment VAT %" := 0;
    ToPurchLine."Prepayment Tax Group Code" := '';
    ToPurchLine."Prepmt. Line Amount" := 0;
    ToPurchLine."Prepmt. Amt. Incl. VAT" := 0;
    END;
    ToPurchLine."Prepmt. Amt. Inv." := 0;
    ToPurchLine."Prepayment Amount" := 0;
    ToPurchLine."Prepmt. VAT Base Amt." := 0;
    ToPurchLine."Prepmt Amt to Deduct" := 0;
    ToPurchLine."Prepmt Amt Deducted" := 0;
    ToPurchLine."Prepmt. Amount Inv. Incl. VAT" := 0;
    ToPurchLine."Prepayment VAT Difference" := 0;
    ToPurchLine."Prepmt VAT Diff. to Deduct" := 0;
    ToPurchLine."Prepmt VAT Diff. Deducted" := 0;
    // End of the added lines. 
    
    ToPurchLine."Quantity Received" := 0;
    ToPurchLine."Qty. Received (Base)" := 0;
    ToPurchLine."Return Qty. Shipped" := 0;
    ...
    

Önkoşullar

Bu düzeltmeyi uygulamak için aşağıdaki ürünlerden birini yüklemiş olmanız gerekir:

  • Microsoft Dynamics NAV 2009 R2'nin Almanca sürümü
  • Microsoft Dynamics NAV 2009 Service Pack 1'in Almanca sürümü
  • Microsoft Dynamics NAV 5.0 Service Pack 1'in Almanca sürümü

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.

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.