Microsoft Dynamics nav içindeki satış siparişindeki Termin Tarihi alanının ayarladıktan sonra sevk irsaliyesi tarihi yanlış hesaplanan

Makale çevirileri Makale çevirileri
Makale numarası: 2697792 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale Microsoft Dynamics nav, tüm ülkeleri ve tüm dil yerel ayarları için geçerlidir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft Dynamics nav içinde aşağıdaki senaryoyu düşünün:
  • Örneğin, Cuma günleri Pazartesi'den belirtilen çalışma günleri takvimi vardır.
  • Sahip olduğunuz Sevkiyat Zamanı alan ve Sevkiyat Aracısı Kodu bir satış siparişinde belirtilen alan.
  • Ayarladığınız İstenen teslim tarihi alan satış siparişindeki.
Bu senaryoda, Sevk irsaliyesi tarihi Satış siparişi alanındahatalı şekilde hesaplanır.
Bu sorun, aşağıdaki ürünlerden oluşur:
  • Microsoft Dynamics nav 2009 R2
  • Microsoft Dynamics nav 2009 Service Pack 1 (SP1)
  • Microsoft Dynamics nav 5.0 Service Pack 1 (SP1)

Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Bununla birlikte, yalnızca bu makalede açıklanan sorunu gidermesi amaçlanmaktadır. Yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme, ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, bu düzeltmeyi içeren bir sonraki Microsoft Dynamics nav sürüm veya Microsoft Dynamics nav 2009 bir sonraki hizmet paketini beklemeniz önerilir.

Not Özel durumlarda, normalde teknik destek uzmanı, Microsoft Dynamics ve ilgili ürünlere yönelik iptal edilebilir destek telefonlarından belirler 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 zımni veya açık garanti olmadan sağlar. Bu içerir ancak, satılabilirlik veya belirli bir amaca uygunluk zımni garantileri sınırlı değildir. Bu makale, gösterilen programlama dilini ve oluşturmak ve yordamlar hata ayıklamak için kullanılan araçlar ile 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 belirli gereksinimlerinizi karşılamak için yordamları oluşturmak amacıyla bu örnekleri değiştirmez.

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) içerir istemci kullanıcıları. Yalnızca istemci kullanıcı, bu düzeltmeyi uygulamak için oturum açmış olması gerekir.

Bu düzeltmeyi uygulamak için geliştirme lisansına sahip olması gerekir.

Kullanıcı hesabı Windows oturumu açma penceresini veya veritabanı oturumu açma penceresi "Süper" rol kimliği atanması önerilir Kullanıcı hesabı "Süper" rol kimliği atanamıyorsa kullanıcı hesabı aşağıdaki izinlere sahip olduğunu doğrulamanız gerekir:
  • Değişiklik yapma izni, değiştirme nesne için.
  • Execute izni Sistem nesne kimliği 9015 nesne ve sistem nesnesi kimliği 5210 nesnesi için.


Not Veri onarımı gerçekleştirmek yoksa veri depolarını hakkıyla sahip değil.

Kod değişiklikleri

Not Her zaman, uygulamadan önce sınama kod denetimli bir ortamda üretim bilgisayarlarına düzeltmeleri giderir.
Bu sorunu gidermek için aşağıdaki adımları izleyin:
  1. Satış Satırı tablosundaki (37) bir Genel de?i?ken ekleyin ve sonra değişkenini aşağıdaki gibi belirtin:
    • Adı: RequestedPromisedDateCalulated
    • Veri türü: Boole değeri
  2. (37) Satış Satırı tablosundaki Termin tarihi - OnValidate tetikleyici kodu aşağıdaki gibi değiştirin:
    Varolan kodu
    ...
    IF ("Requested Delivery Date" <> xRec."Requested Delivery Date") AND
    ("Promised Delivery Date" <> 0D)
    THEN
    ERROR(
    Text028, 
    FIELDCAPTION("Requested Delivery Date"),
    FIELDCAPTION("Promised Delivery Date"));
    IF "Requested Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Requested Delivery Date")
    ELSE BEGIN
    GetSalesHeader;
    VALIDATE("Shipment Date",SalesHeader."Shipment Date");
    END;
    END;
    }
    { 5791;   ;Promised Delivery Date;Date        ;OnValidate=BEGIN
    TestStatusOpen;
    IF "Promised Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Promised Delivery Date")
    ELSE
    ...
    Kod değiştirme
    ...
    IF ("Requested Delivery Date" <> xRec."Requested Delivery Date") AND
    ("Promised Delivery Date" <> 0D)
    THEN
    ERROR(
    Text028,
    FIELDCAPTION("Requested Delivery Date"),
    FIELDCAPTION("Promised Delivery Date"));
    
    RequestedPromisedDateCalulated := "Requested Delivery Date" <> 0D;
    IF "Requested Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Requested Delivery Date")
    ELSE BEGIN
    GetSalesHeader;
    VALIDATE("Shipment Date",SalesHeader."Shipment Date");
    END;
    END;
    }
    { 5791; ;Promised Delivery Date;Date ;OnValidate=BEGIN
    TestStatusOpen;
    RequestedPromisedDateCalulated := "Promised Delivery Date" <> 0D;
    IF "Promised Delivery Date" <> 0D THEN
    VALIDATE("Planned Delivery Date","Promised Delivery Date")
    ELSE
    ...
  3. (37) Satış Satırı tablosundaki Planlanan teslim tarihi - OnValidate tetikleyici kodu aşağıdaki gibi değiştirin:
    Varolan kodu
    ...
    IF FORMAT("Shipping Time") <> '' THEN
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC2(
    FORMAT("Shipping Time"),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    TRUE))
    ELSE
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC(
    FORMAT(''),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    TRUE));
    
    IF "Planned Shipment Date" > "Planned Delivery Date" THEN
    ...
    Kod değiştirme
    ...
    IF FORMAT("Shipping Time") <> '' THEN
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC2(
    FORMAT("Shipping Time"),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    NOT RequestedPromisedDateCalulated))
    ELSE
    VALIDATE(
    "Planned Shipment Date",
    CalendarMgmt.CalcDateBOC(
    FORMAT(''),
    "Planned Delivery Date",
    CalChange."Source Type"::"Shipping Agent",
    "Shipping Agent Code",
    "Shipping Agent Service Code",
    CalChange."Source Type"::Customer,
    "Sell-to Customer No.",
    '',
    NOT RequestedPromisedDateCalulated));
    
    IF "Planned Shipment Date" > "Planned Delivery Date" THEN
    ...

Önkoşullar

Bu düzeltmeyi uygulamak için aşağıdaki ürünlerden biri yüklü olmalıdır:
  • Microsoft Dynamics nav 2009 R2
  • Microsoft Dynamics nav 2009 Service Pack 1 (SP1)
  • Microsoft Dynamics nav 5.0 Service Pack 1 (SP1)

Kaldırma bilgileri

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

Durum

Microsoft bunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır.
Not Doğrudan Microsoft Destek organizasyon içinde oluşturulan "Hızlı Yayımla" makale budur. Burada yer alan bilgiler olduğu gibi sağlanmıştır-yanıt olarak ortaya çıkan sorunları olur. Sonucu olarak kullanılabilir hale getirir, hız, malzemelerin tipografi hatalarını içerebilir ve verilmeksizin herhangi bir zamanda düzeltilebilir. Bkz. Kullanım koşulları dikkat edilecek diğer noktalar.

Özellikler

Makale numarası: 2697792 - Last Review: 29 Haziran 2012 Cuma - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0
Anahtar Kelimeler: 
kbmbsmigrate kbmbscodefix kbqfe kbsurveynew kbmt KB2697792 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2697792

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com