Microsoft Dynamics NAV 2013'ün Fince sürümünde, maliyet merkezi ataması olmadan bir fatura deftere naklettiğinizde maliyet merkezi kodları, deftere nakledilen genel muhasebe girişlerine yansıtılmıyor

Uygulandığı Öğe
Dynamics NAV 2013

Bu makale, Finlandiya (fi) bölgesi için Microsoft Dynamics NAV için geçerlidir.

Belirtiler

Microsoft Dynamics NAV 2013'ün Fince sürümünde otomatik muhasebe satırı kurulumunun eksi bir ayırma içerdiğini varsayalım. Maliyet merkezi ataması olmayan bir faturayı deftere naklettiğinizde, maliyet merkezi kodları deftere nakledilen genel muhasebe girişlerine yansıtılmaz.

Çö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 2013 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 için Yürütme izni

    nesneyi seçin.

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, Gen'deki PostAutoAcc işlevindeki kodu değiştirin. Jnl.-Posta Hattı Kod Birimi (12) aşağıdaki gibidir:

Mevcut kod 1

...
OrigGenJnlLine@1070006 : Record 81;
        NoOfAutoAccounts@1070003 : Decimal;
        TotalAmount@1070002 : Decimal;
        AccLine@1070001 : Integer;
        GLEntryAutoAccExist@1070000 : Boolean;
      BEGIN
        // NTR Start
        GLSetup.GET;
...

Değiştirme kodu 1

...
OrigGenJnlLine@1070006 : Record 81;
        NoOfAutoAccounts@1070003 : Decimal;
        TotalAmount@1070002 : Decimal;
        AccLine@1070001 : Integer;

// Add the following line.
       DimensionSetIDArr@1070004 : ARRAY [10] OF Integer;
// End of the added line.

        GLEntryAutoAccExist@1070000 : Boolean;
      BEGIN
        // NTR Start
        GLSetup.GET;
...

Mevcut kod 2

...
END ELSE
                  GenJnlLine.VALIDATE(
                    Amount,ROUND("VAT Base Amount" * AutoAccLine."Allocation %" / 100,GLSetup."Amount Rounding Precision"));
                GenJnlLine.VALIDATE("Auto. Acc. Group",'');
                GenJnlLine."Dimension Set ID" := "Dimension Set ID";

// Delete the following lines.
               GenJnlLine."Shortcut Dimension 1 Code" := "Shortcut Dimension 1 Code";
               GenJnlLine."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";
// End of the deleted lines.

                AccLine := AccLine + 1;
                TotalAmount := TotalAmount + GenJnlLine.Amount;
                IF (AccLine = NoOfAutoAccounts) AND (TotalAmount <> 0) THEN
...

Değiştirme kodu 2

...
END ELSE
                  GenJnlLine.VALIDATE(
                    Amount,ROUND("VAT Base Amount" * AutoAccLine."Allocation %" / 100,GLSetup."Amount Rounding Precision"));
                GenJnlLine.VALIDATE("Auto. Acc. Group",'');
                GenJnlLine."Dimension Set ID" := "Dimension Set ID";

// Add the following lines.
               IF AutoAccLine."Dimension Set ID" <> 0 THEN
                 IF GenJnlLine."Dimension Set ID" = 0 THEN BEGIN
                   GenJnlLine."Dimension Set ID" := AutoAccLine."Dimension Set ID";
                   GenJnlLine."Shortcut Dimension 1 Code" := AutoAccLine."Shortcut Dimension 1 Code";
                   GenJnlLine."Shortcut Dimension 2 Code" := AutoAccLine."Shortcut Dimension 2 Code";
                 END ELSE BEGIN
                   DimensionSetIDArr[1] := GenJnlLine."Dimension Set ID";
                   DimensionSetIDArr[2] := AutoAccLine."Dimension Set ID";
                   GenJnlLine."Dimension Set ID" :=
                     DimMgt.GetCombinedDimensionSetID(
                       DimensionSetIDArr,GenJnlLine."Shortcut Dimension 1 Code",GenJnlLine."Shortcut Dimension 2 Code");
                 END
               ELSE BEGIN
                 GenJnlLine."Shortcut Dimension 1 Code" := "Shortcut Dimension 1 Code";
                 GenJnlLine."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";
               END;
// End of the added lines.

                AccLine := AccLine + 1;
                TotalAmount := TotalAmount + GenJnlLine.Amount;
                IF (AccLine = NoOfAutoAccounts) AND (TotalAmount <> 0) THEN
                  GenJnlLine.VALIDATE(Amount,GenJnlLine.Amount - TotalAmount);
...

              

Önkoşullar

Bu düzeltmeyi uygulamak için Microsoft Dynamics NAV 2013'ün Fince sürümünü yüklemiş olmalısınız.

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.