Bu makale Microsoft Dynamics NAV'a tüm ülkeler ve tüm dil yerel ayarları için geçerlidir.
Belirtiler
Microsoft Dynamics NAV 2009 sayfasında satış iade siparişi Deftere nakledilmiş belge satırlarını Al işlevi çalıştırmak varsayalım. Bir madde için bir filtre oluşturduğunuzda, aşağıdaki hata iletisini alırsınız:
Satış Fatura satırı: Filtre içinde hiç satış fatura satırı yok. Süzgeç Belge No:X, No: @Y
Not: X yer tutucusu, burada imleç ve Y yer tutucu filtreye girdiğiniz madde numarasını değiştirir satırındaki Belge numarası yerine geçer.
Bu sorun aşağıdaki ürünlerde oluşur:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 Service Pack 1
Çö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.
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 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:
-
Def.Nak.Bel Al - S.SevkİrslStr Altfrm sayfa (5851) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... RevUnitCostLCY2 := RevUnitCostLCY;
SalesShptLine2.COPYFILTERS(Rec);
SalesShptLine2.SETRANGE("Document No.","Document No.");
SalesShptLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(SalesShptLine2);
IF ShowRec THEN BEGIN
...Kod değiştirme
... RevUnitCostLCY2 := RevUnitCostLCY;
SalesShptLine2.COPYFILTERS(Rec);
SalesShptLine2.SETRANGE("Document No.","Document No.");
IF NOT SalesShptLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(SalesShptLine2);
IF ShowRec THEN BEGIN -
Def.Nak.Bel Al - S.FatStr Alt formu sayfası (5852) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... RevUnitCostLCY2 := RevUnitCostLCY;
SalesInvLine2.COPYFILTERS(Rec);
SalesInvLine2.SETRANGE("Document No.","Document No.");
SalesInvLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(SalesInvLine2);
IF ShowRec THEN BEGIN
...Kod değiştirme
... RevUnitCostLCY2 := RevUnitCostLCY;
SalesInvLine2.COPYFILTERS(Rec);
SalesInvLine2.SETRANGE("Document No.","Document No.");
IF NOT SalesInvLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(SalesInvLine2);
IF ShowRec THEN BEGIN -
Def.Nak.Bel Al - STNALM.SevkİrslStr Altfrm sayfa (5856) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... RevUnitCostLCY2 := RevUnitCostLCY;
PurchRcptLine2.COPYFILTERS(Rec);
PurchRcptLine2.SETRANGE("Document No.","Document No.");
PurchRcptLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(PurchRcptLine2);
IF ShowRec THEN BEGIN
...Kod değiştirme
... RevUnitCostLCY2 := RevUnitCostLCY;
PurchRcptLine2.COPYFILTERS(Rec);
PurchRcptLine2.SETRANGE("Document No.","Document No.");
IF NOT PurchRcptLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(PurchRcptLine2);
IF ShowRec THEN BEGIN -
Def.Nak.Bel Al - STNALM.FatStr Alt formu sayfası (5857) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... RevUnitCostLCY2 := RevUnitCostLCY;
PurchInvLine2.COPYFILTERS(Rec);
PurchInvLine2.SETRANGE("Document No.","Document No.");
PurchInvLine2.FINDSET;
REPEAT
ShowRec := IsShowRec(PurchInvLine2);
IF ShowRec THEN BEGIN
...Kod değiştirme
... RevUnitCostLCY2 := RevUnitCostLCY;
PurchInvLine2.COPYFILTERS(Rec);
PurchInvLine2.SETRANGE("Document No.","Document No.");
IF NOT PurchInvLine2.FINDSET THEN
EXIT(FALSE);
REPEAT
ShowRec := IsShowRec(PurchInvLine2);
IF ShowRec THEN BEGIN -
IsFirstDocLine işlevinde satınalma kodu değiştirin. Satırlar formunu (5806) aşağıdaki gibi giriş:
Varolan kodu... FILTERGROUP(2);
PurchRcptLine.COPYFILTERS(Rec);
FILTERGROUP(0);
PurchRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
PurchRcptLine.FIND('-');
TempPurchRcptLine := PurchRcptLine;
TempPurchRcptLine.INSERT;
END;
IF "Line No." = TempPurchRcptLine."Line No." THEN
...Kod değiştirme
... FILTERGROUP(2);
PurchRcptLine.COPYFILTERS(Rec);
FILTERGROUP(0);
PurchRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT PurchRcptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempPurchRcptLine := PurchRcptLine;
TempPurchRcptLine.INSERT;
END;
IF "Line No." = TempPurchRcptLine."Line No." THEN -
Al def.Nak.Bel-İadeAlışİrsStr alt formu (5853) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnRcptLine.FINDSET;
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
...Kod değiştirme
... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FINDFIRST THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnRcptLine.FINDSET THEN
EXIT(FALSE);
// End of the lines.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END; -
Def.Nak.Bel-S.İadeFat.Str Altfrm Al formunda (5854) IsFirstDocLine işlev kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
SalesCrMemoLine.COPYFILTERS(Rec);
SalesCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
SalesCrMemoLine.FIND('-');
TempSalesCrMemoLine := SalesCrMemoLine;
TempSalesCrMemoLine.INSERT;
END;
...Kod değiştirme
... TempSalesCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempSalesCrMemoLine.FINDFIRST THEN BEGIN
SalesCrMemoLine.COPYFILTERS(Rec);
SalesCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT SalesCrMemoLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempSalesCrMemoLine := SalesCrMemoLine;
TempSalesCrMemoLine.INSERT;
END; -
Al def.Nak.Bel-İadeSevkİrsStr Alt formu (5858) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnShptLine.FINDSET;
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
...Kod değiştirme
... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FINDFIRST THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnShptLine.FINDSET THEN
EXIT(FALSE);
// End of the lines.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END; -
Def.Nak.Bel-STNALM.İadeFat.Str Altfrm Al formunda (5859) IsFirstDocLine işlev kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
PurchCrMemoLine.COPYFILTERS(Rec);
PurchCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
PurchCrMemoLine.FINDSET;
TempPurchCrMemoLine := PurchCrMemoLine;
TempPurchCrMemoLine.INSERT;
END;
...Kod değiştirme
... TempPurchCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempPurchCrMemoLine.FINDFIRST THEN BEGIN
PurchCrMemoLine.COPYFILTERS(Rec);
PurchCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT PurchCrMemoLine.FINDSET THEN
EXIT(FALSE);
// End of the lines.
TempPurchCrMemoLine := PurchCrMemoLine;
TempPurchCrMemoLine.INSERT;
END; -
IsFirstDocLine işlevi Servis Sevk İrsaliyesi Satırlarını Al formunda (5994) kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempServiceShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
ServiceShptLine.COPYFILTERS(Rec);
ServiceShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServiceShptLine.FIND('-');
TempServiceShptLine := ServiceShptLine;
TempServiceShptLine.INSERT;
END;
IF "Line No." = TempServiceShptLine."Line No." THEN
...Kod değiştirme
... TempServiceShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServiceShptLine.FIND('-') THEN BEGIN
ServiceShptLine.COPYFILTERS(Rec);
ServiceShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServiceShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServiceShptLine := ServiceShptLine;
TempServiceShptLine.INSERT;
END;
IF "Line No." = TempServiceShptLine."Line No." THEN -
Servis satırları alt formu (6036) IsFirstDocLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu... IF NOT TempServLine.FIND('-') THEN BEGIN
ServLine.COPYFILTERS(Rec);
ServLine.SETRANGE("Document Type","Document Type");
ServLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServLine.FIND('-');
TempServLine := ServLine;
TempServLine.INSERT;
END;
IF "Line No." = TempServLine."Line No." THEN
IF "Line No." = TempServiceShptLine."Line No." THEN
...Kod değiştirme
... IF NOT TempServLine.FIND('-') THEN BEGIN
ServLine.COPYFILTERS(Rec);
ServLine.SETRANGE("Document Type","Document Type");
ServLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServLine := ServLine;
TempServLine.INSERT;
END;
IF "Line No." = TempServLine."Line No." THEN -
IsFirstDocLine işlevinde hizmet Sevk İrs formunda (6037) kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempServShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServShptLine.FIND('-') THEN BEGIN
ServShptLine.COPYFILTERS(Rec);
ServShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServShptLine.FIND('-');
TempServShptLine := ServShptLine;
TempServShptLine.INSERT;
END;
IF "Line No." = TempServShptLine."Line No." THEN
...Kod değiştirme
... TempServShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempServShptLine.FIND('-') THEN BEGIN
ServShptLine.COPYFILTERS(Rec);
ServShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServShptLine := ServShptLine;
TempServShptLine.INSERT;
END;
IF "Line No." = TempServShptLine."Line No." THEN -
IsFirstDocLine işlevi servis faturası satırları alt formu formunda (6038) kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempServInvLine.SETRANGE("Document No.","Document No.");
IF NOT TempServInvLine.FIND('-') THEN BEGIN
ServInvLine.COPYFILTERS(Rec);
ServInvLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServInvLine.FIND('-');
TempServInvLine := ServInvLine;
TempServInvLine.INSERT;
END;
EXIT("Line No." = TempServInvLine."Line No.");
...Kod değiştirme
... TempServInvLine.SETRANGE("Document No.","Document No.");
IF NOT TempServInvLine.FIND('-') THEN BEGIN
ServInvLine.COPYFILTERS(Rec);
ServInvLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServInvLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServInvLine := ServInvLine;
TempServInvLine.INSERT;
END;
EXIT("Line No." = TempServInvLine."Line No."); -
IsFirstDocLine işlevi servis iade faturası satırları alt formu formunda (6039) kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempServCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
ServCrMemoLine.COPYFILTERS(Rec);
ServCrMemoLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ServCrMemoLine.FIND('-');
TempServCrMemoLine := ServCrMemoLine;
TempServCrMemoLine.INSERT;
END;
EXIT("Line No." = TempServCrMemoLine."Line No.");
...Kod değiştirme
... TempServCrMemoLine.SETRANGE("Document No.","Document No.");
IF NOT TempServCrMemoLine.FIND('-') THEN BEGIN
ServCrMemoLine.COPYFILTERS(Rec);
ServCrMemoLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ServCrMemoLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempServCrMemoLine := ServCrMemoLine;
TempServCrMemoLine.INSERT;
END;
EXIT("Line No." = TempServCrMemoLine."Line No."); -
İade Alış İrsaliyesi Satırlarını Al formunda (6638) IsFirstDocLine işlev kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnRcptLine.FIND('-');
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
IF "Line No." = TempReturnRcptLine."Line No." THEN
...Kod değiştirme
... TempReturnRcptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnRcptLine.FIND('-') THEN BEGIN
ReturnRcptLine.COPYFILTERS(Rec);
ReturnRcptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnRcptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempReturnRcptLine := ReturnRcptLine;
TempReturnRcptLine.INSERT;
END;
IF "Line No." = TempReturnRcptLine."Line No." THEN -
İade Sevk İrsaliyesi Satırlarını Al formunda (6648) IsFirstDocLine işlev kodu aşağıdaki gibi değiştirin:
Varolan kodu... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Delete the following line.
ReturnShptLine.FIND('-');
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
IF "Line No." = TempReturnShptLine."Line No." THEN
...Kod değiştirme
... TempReturnShptLine.SETRANGE("Document No.","Document No.");
IF NOT TempReturnShptLine.FIND('-') THEN BEGIN
ReturnShptLine.COPYFILTERS(Rec);
ReturnShptLine.SETRANGE("Document No.","Document No.");
// Add the following lines.
IF NOT ReturnShptLine.FINDFIRST THEN
EXIT(FALSE);
// End of the lines.
TempReturnShptLine := ReturnShptLine;
TempReturnShptLine.INSERT;
END;
IF "Line No." = TempReturnShptLine."Line No." THEN
Ö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
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ı.