Microsoft Dynamics NAV 2009'un Felemenkçe sürümünde yerel para biriminde deftere nakledilen bir faturada telebankacılık ödeme teklifi aldığınızda yabancı para birimi tutarı eklenmiyor

Uygulandığı Öğe
Dynamics NAV 2009

Bu makale, Felemenkçe (nl) dil yerel ayarı için Microsoft Dynamics NAV için geçerlidir.

Belirtiler

Microsoft Dynamics NAV 2009'un Hollanda sürümünde yerel para biriminde bir fatura deftere naklettiğinizi varsayalım. Bu durumda, "Telebank – Bankaya Genel Bakış" formundaki fatura üzerinde Teklif Girişi Al işlevini çalıştırdığınızda, sistem yalnızca yerel para birimi tutarını önerir. Sistemin döviz tutarını da önermesini beklersiniz. Bu sorun aşağıdaki ürünlerde oluşur:

  • Microsoft Dynamics NAV 2009 R2'nin Felemenkçe sürümü
  • Microsoft Dynamics NAV 2009 Service Pack 1'in Felemenkçe 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 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. Teklif Girdileri Al raporunun (11000000) Veri Öğesi Numarası 4 bölümündeki kodu aşağıdaki gibi değiştirin:
    Mevcut kod 1

    ...
    Propline."Description 4":=DELCHR(Propline."Description 4"+' '+UseDocumentNo,'<>')
    ELSE
    Propline.Docket:=TRUE;
    END;
    
    // Delete the following lines.
    IF Propline.Docket THEN
    IF Propline."Description 1"<>Text1000016 THEN BEGIN
    Propline."Description 1":=Text1000016;
    CASE Propline."Account Type" OF
    Propline."Account Type"::Customer:
    BEGIN
    Custm.GET(Propline."Account No.");
    IF Custm."Our Account No."<>'' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000018, Custm."Our Account No."), 1, MAXSTRLEN(Propline."Description 2" ))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2":= COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    END;
    Propline."Account Type"::Vendor:
    BEGIN
    Vend.GET(Propline."Account No.");
    IF Vend."Our Account No."<>'' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000017, Vend."Our Account No."),1,MAXSTRLEN(Propline."Description 2"))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2":= COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    END;
    END;
    Propline."Description 3":='';
    Propline."Description 4":='';
    END;
    // End of the lines.
    
    IF Propline.Identification='' THEN BEGIN
    TrMode.TESTFIELD("Identification No. Series");
    NoSeriesManagement.InitSeries(TrMode."Identification No. Series",
    '',
    ...
    

    Değiştirme kodu 1

    ...
    Propline."Description 4":=DELCHR(Propline."Description 4"+' '+UseDocumentNo,'<>')
    ELSE
    Propline.Docket:=TRUE;
    END;
    
    // Add the following line.
    FillDescriptionAndCurrency;
    
    IF Propline.Identification='' THEN BEGIN
    TrMode.TESTFIELD("Identification No. Series");
    NoSeriesManagement.InitSeries(TrMode."Identification No. Series",
    '',
    ...
    

    Mevcut kod 2

    ...
    Propline."Transaction Date",
    Propline.Identification,
    Propline."Identification No. Series");
    END;
    Propline.MODIFY;
    NumeratorDetailLines:=NumeratorDetailLines+1;
    BatchStatus.UPDATE(2,ROUND(NumeratorDetailLines/NumberOfDetailLines*10000,1));
    END;
    ...
    

    Değiştirme kodu 2

    ...
    Propline."Transaction Date",
    Propline.Identification,
    Propline."Identification No. Series");
    END;
    
    // Add the following lines.
    IF Propline."Foreign Currency" = Propline."Currency Code" THEN
    Propline.VALIDATE("Foreign Amount",0)
    ELSE BEGIN
    Propline.VALIDATE("Foreign Amount",ROUND(
    CurrencyExchangeRate.ExchangeAmtFCYToFCY(
    Propline."Transaction Date",Propline."Currency Code",Propline."Foreign Currency",Propline.Amount)));
    END;
    // End of the lines.
    
    Propline.MODIFY;
    NumeratorDetailLines:=NumeratorDetailLines+1;
    BatchStatus.UPDATE(2,ROUND(NumeratorDetailLines/NumberOfDetailLines*10000,1));
    END;
    ...
    
  2. Teklif Girdilerini Al raporunun (11000000) Global Değişkenler bölümündeki kodu aşağıdaki gibi değiştirin:
    Mevcut kod

    ...
    PmtDiscExpiryDate@1000032 : Date;
    Bnk@1000033 : Record 270;
    Custm@1000034 : Record 18;
    Vend@1000035 : Record 23;
    CompanyInfo@1000036 : Record 79;
    
    // Delete the following lines.
    NoSeriesManagement@1000037 : Codeunit 396;
    BEGIN
    // End of the lines.
    
    END.
    }
    RDLDATA
    {
    }
    ...
    

    Değişim kodu

    ...
    PmtDiscExpiryDate@1000032 : Date;
    Bnk@1000033 : Record 270;
    Custm@1000034 : Record 18;
    Vend@1000035 : Record 23;
    CompanyInfo@1000036 : Record 79;
    
    // Add the following lines.
    CurrencyExchangeRate@1000038 : Record 330;
    NoSeriesManagement@1000037 : Codeunit 396;
    LOCAL PROCEDURE FillDescriptionAndCurrency@1000039();
    BEGIN
    IF DetailLine."Account No." <> '' THEN
    CASE DetailLine."Account Type" OF
    DetailLine."Account Type"::Customer:
    BEGIN
    Custm.GET(DetailLine."Account No.");
    Propline.VALIDATE("Foreign Currency",Custm."Currency Code");
    IF Propline.Docket THEN BEGIN
    IF Propline."Description 1" <> Text1000016 THEN
    Propline."Description 1" := Text1000016;
    IF Custm."Our Account No." <> '' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000018, Custm."Our Account No."), 1, MAXSTRLEN(Propline."Description 2" ))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2" := COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    Propline."Description 3" := '';
    Propline."Description 4" := '';
    END;
    END;
    DetailLine."Account Type"::Vendor:
    BEGIN
    Vend.GET(DetailLine."Account No.");
    Propline.VALIDATE("Foreign Currency",Vend."Currency Code");
    IF Propline.Docket THEN BEGIN
    IF Propline."Description 1" <> Text1000016 THEN
    Propline."Description 1" := Text1000016;
    IF Vend."Our Account No."<>'' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000017, Vend."Our Account No."),1,MAXSTRLEN(Propline."Description 2"))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2":= COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    Propline."Description 3":='';
    Propline."Description 4":='';
    END;
    END;
    END;
    END;
    // End of the lines.
    
    END.
    }
    RDLDATA
    {
    }
    ...
    

          

Ö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 Felemenkçe sürümü
  • Microsoft Dynamics NAV 2009 Service Pack 1'in Felemenkçe 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.