Microsoft Dynamics NAV 2009 İspanyolca sürümünde 0 Tutar fatura evolved ise "Hayır kayıtları" yanlış

Microsoft 365 ile istediğiniz yerde ve tüm cihazlardan çalışın

En son özellikler ve güncelleştirmelerle herhangi bir yerde çalışmak için Microsoft 365 ' e yükseltin.

Şimdi yükselt

Şablon: CPR - Navision kod Fiacx şablonu

# Hata: 217315 (İçerik Bakımı)

Belirtiler

"Hayır" kayıtları, bu tutarı sıfır olarak geçerli faturalar ve Microsoft Dynamics NAV 2009 İspanyolca sürümünde bu faturalar dahil olmak üzere toplam sayısını verir sayar. Faturaları tutardır sıfır 340 model dosyasında gösterilmeyen gerekir ve "Hayır, kayıtları" toplama ya da dahil değildir. Bu sorunu çözmek için kod değişiklikleri bölümündeki adımları izleyin. Bu sorun aşağıdaki ürünlerde oluşur:

  • İspanyolca sürümü için Microsoft Dynamics NAV 2009 R2

  • İspanyolca sürümü için Microsoft Dynamics NAV 2009 SP1

Çözüm

Düzeltme bilgileri

Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak bunun yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilenmiyorsanız, Microsoft Dynamics NAV 2009 sonraki hizmet paketini veya, bu düzeltmeyi içeren bir sonraki Microsoft Dynamics NAV sürümü için beklemek öneririz.

Not: Özel durumlarda, destek aramaları teknik destek uzmanı Microsoft Dynamics ve ilgili ürünlere yönelik iptal edilebilir çözeceğini giderleri belirleyen belirli bir güncelleştirmenin sorununuzu. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

Bu düzeltme genel karşıdan yükleme (Bu makalede bu düzeltme için genel bir URL sağlanmayan anlamına gelir) için nakledilmemişse, dağıtım için teknik lider, yükseltme ekibi üyesi veya yönetici onayı gerekir ve aşağıdaki bilgiler geçerlidir:

  • Düzeltmeyi almak için müşterilerin "Belirtiler" bölümünde sözü edilen hata ile karşılaşmaları gerekir.

  • Bunu gönderdiğiniz ve bir sonraki hizmet paketini (bir hizmet paketi yayımlanırsa) kullanılabilir duruma geldiğinde bunları tedarik müşterileri izlemeniz gerekir.

Bu düzeltmeyi Microsoft Dynamics NAV 2013'ün İspanyolca sürümü ile birlikte gönderilmesi planlanmıştır.

Yükleme bilgileri

Microsoft, programlama örneklerini yalnızca gösterim amacıyla zımni veya açık garanti olmadan sağlar. Bu, satılabilirlik veya belirli bir amaca uygunluk açısından zımni garantileri içerir ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini, yordamları oluşturmak ve yordamlardan hata ayıklamak için kullanılan araçları bildiğinizi varsayar. Microsoft destek mühendisleri belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir. Ancak, işlevsellik sağlamak veya yordamlar, belirli gereksinimlerinizi karşılayacak şekilde geliştirmek amacıyla bu örnekleri değiştirmezler.

Not: Bu düzeltmeyi yüklemeden önce tüm Microsoft Dynamics NAV istemci kullanıcıların sistem kaydedildiğini doğrulayın. Bu, Microsoft Dynamics NAV uygulama sunucusu (NAS) hizmetleri içerir. Bu düzeltmeyi uyguladığınızda yalnızca istemci kullanıcının oturum açmış olması gerekir.

Bu düzeltmeyi uygulamak için bir geliştirici lisansı olması gerekir.

Kullanıcı hesabının Windows oturumu açma penceresini veya veritabanı oturumu açma penceresi "Süper" rol kimliği atanması öneririz Kullanıcı hesabı "Süper" rol Kimliği atanamaz, kullanıcı hesabı aşağıdaki izinlere sahip olduğunu doğrulamanız gerekir:

  • Nesnenin, değiştirme değişiklik yapma izni.

  • Sistem nesne kimliği 9015 ve Sistem nesnesi kimliği 5210 nesne için Execute izni

    nesne.

Not: Veri onarım gerçekleştirmek zorunda sürece veri depoları haklarına sahip olmanız gerekmez.

Kod değişiklikleri

Not: Her zaman, uygulamadan önce test kodu denetimli bir ortamda üretim bilgisayarlarınıza düzeltmeler giderir.

Bu sorunu gidermek için şu adımları izleyin:

  1. CalcTotals işlevinde olun 340 bildirimi raporu (10743) kodu aşağıdaki gibi değiştirin:
    Varolan kodu 1

    ...VAR
    VATEntry6@1100000 : Record 254;
    VATEntry7@1100002 : Record 254;
    BEGIN
    VATEntryTemporary.DELETEALL;
    VATEntry6.RESET;
    ...

    Değiştirme kodu 1

    ...VAR
    VATEntry6@1100000 : Record 254;
    VATEntry7@1100002 : Record 254;

    // Add the following line.
    TempUnrealVATBuffer@1100001 : TEMPORARY Record 10704;
    // End of the added line.

    BEGIN
    VATEntryTemporary.DELETEALL;
    VATEntry6.RESET;
    ...

    Varolan kodu 2

    ...VATEntry7.SETRANGE(VATEntry7.Type,VATEntryTemporary.Type);
    IF VATEntry7.FINDFIRST THEN
    VATBuffer.DELETEALL;
    REPEAT
    VATBuffer."VAT %" := VATEntry7."VAT %";
    VATBuffer."EC %" := VATEntry7."EC %";
    ...

    Değiştirme kodu 2

    ...VATEntry7.SETRANGE(VATEntry7.Type,VATEntryTemporary.Type);
    IF VATEntry7.FINDFIRST THEN
    VATBuffer.DELETEALL;

    // Add the following line.
    TempUnrealVATBuffer.DELETEALL;
    // End of the added line.

    REPEAT
    VATBuffer."VAT %" := VATEntry7."VAT %";
    VATBuffer."EC %" := VATEntry7."EC %";
    ...

    Varolan kodu 3

    ... IF VATEntry7.Type = VATEntry7.Type::Sale THEN BEGIN
    VATEntry7.Base := -VATEntry7.Base;
    VATEntry7.Amount := -VATEntry7.Amount;

    // Delete the following lines.
    END;
    IF VATBuffer.FIND THEN BEGIN
    VATBuffer.Base := VATBuffer.Base + VATEntry7.Base;
    VATBuffer.Amount := VATBuffer.Amount + VATEntry7.Amount;
    IF (VATEntry7.Type = VATEntry7.Type::Sale) AND (VATEntry7."EC %" <> 0) THEN
    VATBuffer."EC Amount" := VATBuffer."EC Amount" + ROUND(VATEntry7.Base * VATEntry7."EC %" / 100);
    VATBuffer.MODIFY;
    END ELSE BEGIN
    VATBuffer.Base := VATEntry7.Base;
    VATBuffer.Amount := VATEntry7.Amount;
    VATBuffer."EC Amount" := 0;
    IF (VATEntry7.Type = VATEntry7.Type::Sale) AND (VATEntry7."EC %" <> 0) THEN
    VATBuffer."EC Amount" := ROUND(VATEntry7.Base * VATEntry7."EC %" / 100);
    VATBuffer.INSERT;
    END;
    // End of the deleted lines.

    UNTIL VATEntry7.NEXT = 0;
    IF VATBuffer.FINDFIRST THEN
    NoofRecords := NoofRecords + VATBuffer.COUNT;
    ...

    Değiştirme kodu 3

    ...IF VATEntry7.Type = VATEntry7.Type::Sale THEN BEGIN
    VATEntry7.Base := -VATEntry7.Base;
    VATEntry7.Amount := -VATEntry7.Amount;

    // Add the following lines.
    VATEntry7."Unrealized Base" := -VATEntry7."Unrealized Base";
    VATEntry7."Unrealized Amount" := -VATEntry7."Unrealized Amount";
    END;
    IF VATBuffer.FIND THEN BEGIN
    UpdateVATBuffer(VATBuffer,VATEntry7);
    VATBuffer.MODIFY;
    END ELSE BEGIN
    VATBuffer.INIT;
    UpdateVATBuffer(VATBuffer,VATEntry7);
    VATBuffer.INSERT;
    END;
    TempUnrealVATBuffer := VATBuffer;
    IF TempUnrealVATBuffer.FIND THEN BEGIN
    UpdateUnrealVATBuffer(TempUnrealVATBuffer,VATEntry7);
    TempUnrealVATBuffer.MODIFY;
    END ELSE BEGIN
    TempUnrealVATBuffer.INIT;
    UpdateUnrealVATBuffer(TempUnrealVATBuffer,VATEntry7);
    TempUnrealVATBuffer.INSERT;
    END;
    IF IsEmptyVATBuffer(VATBuffer) AND IsEmptyVATBuffer(TempUnrealVATBuffer) THEN BEGIN
    VATBuffer.DELETE;
    TempUnrealVATBuffer.DELETE;
    END;
    // End of the added lines.

    UNTIL VATEntry7.NEXT = 0;
    IF VATBuffer.FINDFIRST THEN
    NoofRecords := NoofRecords + VATBuffer.COUNT;
    ...
  2. IsEmptyVATBuffer işlevinde olun 340 bildirimi raporu (10743) kodu aşağıdaki gibi değiştirin:
    Varolan kodu

    ...UNTIL VATEntryTemporary.NEXT = 0;
    END;

    PROCEDURE GetSalesShipmentDate@1100022(DocumentNo@1100000 : Code[20]) : Date;
    VAR
    SalesShipmentHeader@1100001 : Record 110;
    ...

    Kod değiştirme

    ...UNTIL VATEntryTemporary.NEXT = 0;
    END;

    // Add the following lines.
    LOCAL PROCEDURE IsEmptyVATBuffer@1100065(TempVATBuffer@1100000 : Record 10704) : Boolean;
    BEGIN
    WITH TempVATBuffer DO
    EXIT((Base = 0) AND (Amount = 0) AND ("EC Amount" = 0));
    END;

    LOCAL PROCEDURE UpdateVATBuffer@1100061(VAR TempVATBuffer@1100000 : Record 10704;AddedVATEntry@1100001 : Record 254);
    BEGIN
    WITH TempVATBuffer DO BEGIN
    Base += AddedVATEntry.Base;
    Amount += AddedVATEntry.Amount;
    IF (AddedVATEntry.Type = AddedVATEntry.Type::Sale) AND (AddedVATEntry."EC %" <> 0) THEN
    "EC Amount" += ROUND(AddedVATEntry.Base * AddedVATEntry."EC %" / 100);
    END;
    END;

    LOCAL PROCEDURE UpdateUnrealVATBuffer@1100063(VAR TempVATBuffer@1100000 : Record 10704;AddedVATEntry@1100001 : Record 254);
    BEGIN
    WITH TempVATBuffer DO BEGIN
    Base += AddedVATEntry."Unrealized Base";
    Amount += AddedVATEntry."Unrealized Amount";
    IF (AddedVATEntry.Type = AddedVATEntry.Type::Sale) AND (AddedVATEntry."EC %" <> 0) THEN
    "EC Amount" += ROUND(AddedVATEntry."Unrealized Base" * AddedVATEntry."EC %" / 100);
    END;
    END;

    // End of the added lines.

    PROCEDURE GetSalesShipmentDate@1100022(DocumentNo@1100000 : Code[20]) : Date;
    VAR
    SalesShipmentHeader@1100001 : Record 110;
    ...

Önkoşullar

Bu düzeltmeyi uygulamak için aşağıdaki ürünlerden birine sahip olmalıdır:

  • İspanyolca sürümü için Microsoft Dynamics NAV 2009 R2

  • İspanyolca sürümü için Microsoft Dynamics NAV 2009 SP1

Kaldırma bilgileri

Bu düzeltmeyi kaldıramazsınız.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Başvurular

VSFT DynamicsNAVSE: 358052

Not: Bu, doğrudan Microsoft destek kuruluşu bünyesinde oluşturulan bir "HIZLI YAYIN" makalesidir. Burada yer alan bilgiler, oluşan sorunlara yanıt olarak olduğu gibi sağlanmıştır. Makale hızla kullanıma sunulduğu için materyallerde yazım hataları olabilir ve materyaller bildirilmeksizin herhangi bir zamanda revize edilebilir. Kullanım koşullarıdiğer konular için bkz.

Author: Vanessa.Garcia
Writer: v-luzo
Teknik İnceleme: Vanessa.Garcia
Editor:

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×