Satınalma Belgesi Test raporu (rapor 402) yanlış vergi tutarı görüntülüyor ve Microsoft Dynamics NAV 2009 SP1'in Kuzey Amerika sürümünde bir yabancı para birimi satıcı satınalma siparişi için rapordaki vergi toplamını görüntülemiyor

Uygulandığı Öğe
Dynamics NAV 2009

Bu makale, aşağıdaki ülkelerde ve dil yerel ayarlarında Microsoft Dynamics NAV için geçerlidir.

  • İngilizce (Kanada) (en-ca)
  • Fransızca (Kanada) (fr-ca)
  • İngilizce (ABD) (en-us)
  • İspanyolca (Meksika) (es-mx)

Belirtiler

Microsoft Dynamics NAV 2009 Service Pack 1'in (SP1) Kuzey Amerika sürümünde Satış Vergisine tabi olan bir yabancı para birimi satıcısı için bir satınalma siparişi oluşturduğunuzu varsayalım. Satın Alma Belgesi Test raporunu (rapor 402) yazdırdığınızda, rapordaki vergi tutarının yanlış olduğunu fark edersiniz.

Ayrıca, Microsoft Dynamics NAV 2009 SP1'in Kuzey Amerika sürümünün RoleTailored İstemcisi'nde (RTC), vergi ayrıntıları ve vergi alt toplamları raporda görüntülenmez.

Çö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:

  1. RoundLoop'taki OnPreSection tetikleyicisindeki kodu, Satın Alma Belgesindeki Alt Bilgi (6) - Test raporundaki (402) kodu aşağıdaki gibi değiştirin:
    Mevcut kod

    ...
        ELSE
        SalesTaxCalculate.EndSalesTaxCalculation("Purchase Header"."Posting Date");
      SalesTaxCalculate.GetSalesTaxAmountLineTable(SalesTaxAmountLine);
    
    // Delete the following lines.
      VATAmount := SalesTaxAmountLine.GetTotalTaxAmount;
      VATBaseAmount := SalesTaxAmountLine.GetTotalTaxBase;
    // End of the deleted lines.
    
    END;
    CurrReport.SHOWOUTPUT(NOT "Purchase Header"."Prices Including VAT" AND (VATAmount <>0) AND NOT Summarize);
    IF SalesTax THEN
      TaxText := SalesTaxAmountLine.TaxAmountText  
    ...
    

    Değişim kodu

    ...
     ELSE
        SalesTaxCalculate.EndSalesTaxCalculation("Purchase Header"."Posting Date");
      SalesTaxCalculate.GetSalesTaxAmountLineTable(SalesTaxAmountLine);
    
    // Add the following lines.
      VATAmount := SalesTaxAmountLine.GetTotalTaxAmount * ExchangeFactor;
      VATBaseAmount := SalesTaxAmountLine.GetTotalTaxBase * ExchangeFactor;
    // End of the added lines.
    
    END;
    CurrReport.SHOWOUTPUT(NOT "Purchase Header"."Prices Including VAT" AND (VATAmount <>0) AND NOT Summarize);
    IF SalesTax THEN
      TaxText := SalesTaxAmountLine.TaxAmountText   
    ...
    
  2. Satın Alma Belgesi - Test raporunda (402) RDLC değişikliklerini aşağıdaki gibi yapın:

    Not: Değişiklikler doğrudan dışarı aktarılan nesnede veya Visual Studio Düzeni'nde yapılabilir.

    Dışarı aktarılan nesnede değişiklikleri aşağıdaki gibi doğrudan yapın:
    Mevcut kod 1

    ...
      </TableColumns>
    <Top>37.06cm</Top>
    <Visibility>
    
    // Delete the following line.
    <Hidden>=IIF(Fields!SalesTax.Value AND Fields!SalesTaxAmountLine__Tax_Area_Code_for_Key_.Value <> "",FALSE,TRUE)</Hidden>
    // End of the deleted line.
    
    </Visibility>
    <Width>18.00225cm</Width>
    <ZIndex>22</ZIndex>               
    ...
    

    Değiştirme kodu 1

    ...</TableColumns>
    <Top>37.06cm</Top>
    <Visibility>
    
    // Add the following line.
    <Hidden>=IIF(Fields!SalesTax.Value,FALSE,TRUE)</Hidden>
    // End of the added line.
    </Visibility>
    <Width>18.00225cm</Width>
    <ZIndex>22</ZIndex>
    
    ...
    

    Mevcut kod 2

    ...
      </Details>
    <Filters>
    <Filter>
    
    // Delete the following line.<FilterExpression>=Fields!SalesTaxAmountLine__Tax_Area_Code_for_Key_.Value</FilterExpression>
    // End of the deleted line.
    
    <FilterValues>
    <FilterValue>=""</FilterValue>
    </FilterValues>               
    ...
    

    Değiştirme kodu 2

    ...
      </Details>
    <Filters>
    <Filter>
    
    // Add the following line.
    <FilterExpression>=Fields!Sales_Tax_AmountsCaption.Value</FilterExpression>
    // End of the added line.
    
    <FilterValues>
    <FilterValue>=""</FilterValue>
    </FilterValues> 
    ...
    

    Visual Studio'da değişiklikleri aşağıdaki gibi yapın:
    Görünürlük özelliğini aşağıdaki gibi değiştirin:
    Mevcut kod 1

       =IIF(Fields!SalesTax.Value AND Fields!SalesTaxAmountLine__Tax_Area_Code_for_Key_.Value <> "",FALSE,TRUE)              
    
    

    Değiştirme kodu 1

       =IIF(Fields!SalesTax.Value,FALSE,TRUE)
    
    

    Ardından, Tablo özelliklerindeki İfade'yi aşağıdaki gibi değiştirin:
    Mevcut kod 2

        =Fields!SalesTaxAmountLine__Tax_Area_Code_for_Key_.Value             
    
    

    Değiştirme kodu 2

       =Fields!Sales_Tax_AmountsCaption.Value
    
    

          

Önkoşullar

Bu düzeltmeyi uygulamak için Microsoft Dynamics NAV 2009 Service Pack 1'in (SP1) Kuzey Amerika sürümü yüklü olmalıdır.

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: 245808

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.