Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Bu makale Microsoft Dynamics NAV'a tüm ülkeler ve tüm dil yerel ayarları için geçerlidir.

Belirtiler

Birden fazla madde izleme satırları Microsoft Dynamics NAV 2009 içindeki bir öğe için olan bir proje günlüğüne bulunduğunu varsayalım. Madde depo gözüne proje günlüğünde deftere naklettiğinizde, ambar girişleri yalnızca son madde girilen satır izleme ile güncelleştirilir. Bu nedenle, maddenin madde defterindeki ambar arasındaki dengesizlik yoktur.
Bu sorun aşağıdaki ürünlerde oluşur:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (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 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.



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ı olabilirler, ancak ilave işlevsellik sağlamak için bu örnekleri değiştirmezler veya belirli gereksinimlerinizi karşılayacak şekilde yordamları yapılandırmazlar.

Not: Bu düzeltmeyi yüklemeden önce tüm Microsoft Navision istemcisi kullanıcılar sistem oturum doğrulayın. Bu, Microsoft Navision uygulama Hizmetleri (NAS) istemci kullanıcıları 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.

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



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: aşağıdaki yerel değişkenleri oluşturun:

  1. Proje Günlüğü Satırı tablosunda (210) yeni bir genel deðiþken ekleyin ve sonra değişken aşağıdaki gibi belirtin:

    • Adı: WMSManagement

    • Veri türü: kod birimi

    • Alt tür: WMS Yönetimi (7302)

  2. Aşağıdaki kodu Depo gözü kodu TableRelation özelliği Proje Günlüğü Satırı tablosunda (210) (5403) alan silme:

    Bin.Code WHERE (Location Code=FIELD(Location Code));
  3. Değişiklik olarak izleyin (210) Proje Günlüğü Satırı tablosundaki depo gözü kodu OnValidate tetikleyici kodunda alan (5403):
    Varolan kodu

    ...// Delete the following lines.
    TESTFIELD("Location Code");
    CheckItemAvailable;
    // End of the lines.
    ...

    Kod değiştirme

    ...// Add the following lines.
    TESTFIELD("Location Code");
    IF "Bin Code" <> '' THEN BEGIN
    GetLocation("Location Code");
    Location.TESTFIELD("Bin Mandatory");
    END;
    TESTFIELD(Type,Type::Item);
    CheckItemAvailable;
    WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'')
    // End of the lines.
    ...
  4. Depo gözü kodu - OnLookup triggerin (210) Proje Günlüğü Satırı tablosunda yeni bir yerel değişken ekleyin ve sonra değişken aşağıdaki gibi belirtin:

    • Adı: BinCode

    • Veri türü: kodu

    • Uzunluk: 20

  5. (210) Proje Günlüğü Satırı tablosundaki Depo gözü kodu - OnLookup tetikleyici içinde aşağıdaki kodu ekleyin:

    TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
    BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code");
    IF BinCode <> '' THEN
    VALIDATE("Bin Code",BinCode);
  6. Ambar günlüğü satırının tablosundaki (7311) (25) Kaynak belgesi alanının OptionString özelliği değeri aşağıdaki gibi değiştirin:
    OptionString,= S. siparişi, S. faturası, S. iade faturası, S. iade siparişi, s. siparişi, s. faturası, s. iade faturası, s. iade siparişi, sa. ., Fiz. Transfer, ürün. Tüketimi, Madde Gnl., Fiz. Gnl., yeniden sınıf. Gnl., tüketim Gnl., çıktı Gnl., ÜR Gnl., Serv sipariş, Proje Gnl.

  7. Ambar günlüğü satırının tablosundaki (7311) (60) Başvuru belgesi alanının OptionString özelliği değeri aşağıdaki gibi değiştirin:
    OptionString= , P. Fatura deftere nakledilen alış irsaliyesi, deftere nakledilen, s. iade faturası, S. S. iade faturası, T. T. sevk irsaliyesi, deftere nakledilen alış irsaliyesi, deftere nakledilen Rtrn. sevk irsaliyesi, deftere nakledilmiş fatura, deftere nakledilen sevk irsaliyesi, deftere nakledilen İrs., deftere nakledilen madde günlüğü, üretim emri, yerine koyma, çekme, taşıma, ÜR günlüğü, proje günlüğü

  8. Ambar Girişi tablosuna (7312) (25) kaynak belgesi alanının OptionString özelliği değeri aşağıdaki gibi değiştirin:
    OptionString,= S. siparişi, S. faturası, S. iade faturası, S. iade siparişi, s. siparişi, s. faturası, s. iade faturası, s. iade siparişi, sa. ., Fiz. Transfer, ürün. Tüketimi, Madde Gnl., Fiz. Gnl., yeniden sınıf. Gnl., tüketim Gnl., çıktı Gnl., ÜR Gnl., Serv. sipariş, Proje Gnl.

  9. Ambar Girişi tablosuna (7312) (60) başvuru belgesi alanının OptionString özelliği değeri aşağıdaki gibi değiştirin:
    OptionString= , P. Fatura deftere nakledilen alış irsaliyesi, deftere nakledilen, s. iade faturası, S. S. iade faturası, T. T. sevk irsaliyesi, deftere nakledilen alış irsaliyesi, deftere nakledilen Rtrn. sevk irsaliyesi, deftere nakledilmiş fatura, deftere nakledilen sevk irsaliyesi, deftere nakledilen İrs., deftere nakledilen madde günlüğü, üretim emri, yerine koyma, çekme, taşıma, ÜR günlüğü, proje günlüğü

  10. Proje günlüğü formunda (201) (60) konum kodu denetiminin Visible özelliğini aşağıdaki gibi değiştirin:
    Varolan kodu

    Visible = Yes

    Kod değiştirme

    Visible = No
  11. Proje günlüğü formunda (201) Konum kodu alanını ve İş türü kodu alanının arasında Depo gözü kodu alanını ekleyin ve sonra takip alanı belirtin:

    ...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
    InColumnHeading=Yes }

    // Add the following lines.
    { 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1;
    InColumn=Yes;
    SourceExpr="Bin Code" }
    { 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102;
    InColumnHeading=Yes }
    // End of the lines.

    { 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1;
    ...
  12. Yeni bir genel deðiþken işi Gnl. ekleme-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

    • Adı: Konum

    • Veri türü: kayıt

    • Alt tür: Konum (14)

  13. Yeni bir GetLocation işlev iş Gnl. oluşturun-Post satır kod (1012) aşağıdaki gibi:

    LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
  14. GetLocation işlevinde Gnl. iş aşağıdaki kodu ekleyin-Post satır kod (1012):

    IF LocationCode = '' THENCLEAR(Location)
    ELSE
    IF Location.Code <> LocationCode THEN
    Location.GET(LocationCode);
  15. Yeni bir PostWhseJnlLine işlev iş Gnl. oluşturun-Post satır kod (1012) aşağıdaki gibi:

    LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
  16. PostWhseJnlLine işlevinde Gnl. iş aşağıdaki yerel değişkenleri oluşturun-Post satır kod (1012):

    1. PostWhseJnlLine işlevinde Gnl. iş yerel bir değişken eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

      • Adı: WarehouseJournalLine

      • Veri türü: kayıt

      • Alt tür: ambar günlüğü satırının (7311)

    2. PostWhseJnlLine işlevinde Gnl. iş yerel bir değişken eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

      • Adı: TempWarehouseJournalLine

      • Veri türü: geçici kayıt

      • Alt tür: ambar günlüğü satırının (7311)

    3. PostWhseJnlLine işlevinde Gnl. iş yerel bir değişken eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

      • Adı: ItemTrackingManagement

      • Veri türü: kod birimi

      • Alt tür: Madde İzleme yönetimi (6500)

    4. PostWhseJnlLine işlevinde Gnl. iş yerel bir değişken eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

      • Adı: WMSManagement

      • Veri türü: kod birimi

      • Alt tür: WMS Yönetimi (7302)

    5. PostWhseJnlLine işlevinde Gnl. iş yerel bir değişken eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

      • Adı: WhseJnlRegisterLine

      • Veri türü: kod birimi

      • Alt tür: Amb. Gnl.-kayıt satır (7301)

  17. PostWhseJnlLine işlevinde Gnl. iş aşağıdaki kodu ekleyin-Post satır kod (1012) aşağıdaki gibi:

    WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
    EXIT;
    Quantity := OriginalQuantity;
    "Quantity (Base)" := OriginalQuantityBase;
    GetLocation("Location Code");
    IF Location."Bin Mandatory" THEN
    IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN
    TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line");
    ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE);
    IF TempWarehouseJournalLine.FIND('-') THEN
    REPEAT
    WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE);
    WhseJnlRegisterLine.RUN(TempWarehouseJournalLine);
    UNTIL TempWarehouseJournalLine.NEXT = 0;
    END;
    END;
  18. Yeni bir yerel değişken Gnl. iş kodu işleve eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

    • Adı: TempTrackingSpecification

    • Veri türü: geçici kayıt

    • Alt tür: İzleme Belirtimi (336)

  19. Yeni bir yerel değişken Gnl. iş kodu işleve eklemek-Post satır kod (1012) ve değişken aşağıdaki gibi belirtin:

    • Adı: ItemJnlLine2

    • Veri türü: kayıt

    • Alt tür: Madde günlüğü satırı (83)

  20. Gnl. iş kodu işlev kodu değiştirmek-Post satır kod (1012) olarak izleyin:
    Varolan kodu 1

    ...ItemJnlLine.INIT;
    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Değiştirme kodu 1

    ...ItemJnlLine.INIT;

    // Add the following line.
    ItemJnlLine."Line No." := "Line No.";

    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Varolan kodu 2

    ...ItemLedgEntry.LOCKTABLE;
    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
    END;
    ...

    Değiştirme kodu 2

    ...ItemLedgEntry.LOCKTABLE;

    // Add the following line.
    ItemJnlLine2 := ItemJnlLine;

    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);

    // Add the following lines.
    ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification);
    PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification);
    // End of the lines.
    ...
  21. GetSourceDocument işlevinde Amb başvuru belgesi parametresinin OptionString özelliği değeri değiştirin. Aşağıdaki Yönetimi kod (5775):
    OptionString,= S. siparişi, S. faturası, S. iade faturası, S. iade siparişi, s. siparişi, s. faturası, s. iade faturası, s. iade siparişi, sa. ., Fiz. Transfer, ürün. Tüketimi, Madde Gnl., Fiz. Gnl., yeniden sınıf. Gnl., tüketim Gnl., çıktı Gnl., ÜR Gnl., Serv. sipariş, Proje Gnl.

  22. Ambar GetSourceDocument işlevinde kodu değiştirin. Yönetimi kod (5775) olarak izleyin:
    Varolan kodu

    ...EXIT;
    END;
    END;
    ERROR(Text000);
    ...

    Kod değiştirme

    ...EXIT;
    END;

    // Add the following lines.
    DATABASE::"Job Journal Line":
    BEGIN
    SourceDocument := SourceDocument::"Job Jnl.";
    EXIT;
    END;
    // End of the lines.

    END;
    ERROR(Text000);
    ...
  23. WMS Yönetimi kod (7302) CreateWhseJnlLine işlevinde kodu izleyin gibi değiştirin:
    Varolan kodu

    ...WhseJnlLine."Source Line No." := "Line No.";
    END;
    WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Delete the following line.
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal";

    WhseJnlLine."Reference No." := "Document No.";
    ...

    Kod değiştirme

    ...WhseJnlLine."Source Line No." := "Line No.";

    // Add the following lines.
    END ELSE
    IF "Job No." <> '' THEN BEGIN
    WhseJnlLine."Source Type" := DATABASE::"Job Journal Line";
    WhseJnlLine."Source Subtype" := ItemJnlTemplateType;
    WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype");
    WhseJnlLine."Source No." := "Document No.";
    WhseJnlLine."Source Line No." := "Line No.";
    // End of the lines.
    END;WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...ine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...

Önkoşullar

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

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (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.

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. Diğer konular için bkz. Kullanım koşulları.

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

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×