Farklı Microsoft Dynamics NAV 2009'in İtalyanca sürümünde aynı satıcı faturaları ödemeye fatura listesini verirken, son faturanın açıklaması yerine < RmtInf > SEPA CBI etiket "Çeþitli faturalar" cümlede raporlama Satıcı Fatura listesi görüntülenir. Bu sorun aşağıdaki ürünlerde oluşur:
-
Microsoft Dynamics NAV 2009 R2'in İtalyanca sürümünde
-
Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)'in İtalyanca sürümünde
Çö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 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:
-
Global değişkenler kod (1222) SEPA CT hazırlamak kaynak kod içinde aşağıdaki gibi değiştirin:
Varolan kodu...}
CODE
{
LOCAL PROCEDURE CopyJnlLines@4(VAR FromGenJnlLine@1000 : Record 81;VAR TempGenJnlLine@1001 : TEMPORARY Record 81);
BEGIN
...Kod değiştirme
...}
CODE
{
// Add the following lines.
VAR
CumulativeInvoiceTxt@1130000 : TextConst 'ENU=Sundry Invoices';
// End of the added lines.
LOCAL PROCEDURE CopyJnlLines@4(VAR FromGenJnlLine@1000 : Record 81;VAR TempGenJnlLine@1001 : TEMPORARY Record 81);
BEGIN
... -
SEPA CT hazırlamak kaynak kod (1222) CreateTempJnlLines işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu 1...PrevVendorBillLine@1130003 : Record 12182;
PaymentDocNo@1120002 : Code[20];
CumulativeAmount@1130002 : Decimal;
BEGIN
PaymentDocNo := FromGenJnlLine.GETFILTER("Document No.");
VendorBillHeader.GET(PaymentDocNo);
...Değiştirme kodu 1
...PrevVendorBillLine@1130003 : Record 12182;
PaymentDocNo@1120002 : Code[20];
CumulativeAmount@1130002 : Decimal;
// Add the following line.
CumulativeCnt@1130000 : Integer;
BEGIN
PaymentDocNo := FromGenJnlLine.GETFILTER("Document No.");
VendorBillHeader.GET(PaymentDocNo);
...Varolan kodu 2
...VendorBillLine.SETRANGE("Cumulative Transfers",TRUE);
IF VendorBillLine.FINDSET THEN BEGIN
CumulativeAmount := 0;
// Delete the following lines.
PrevVendorBillLine := VendorBillLine;
REPEAT
VendorBillLine.TESTFIELD("Document Type",VendorBillLine."Document Type"::Invoice);
IF ((VendorBillLine."Vendor No." <> PrevVendorBillLine."Vendor No.") OR
(VendorBillLine."Vendor Bank Acc. No." <> PrevVendorBillLine."Vendor Bank Acc. No."))
THEN BEGIN
InsertTempGenJnlLine(TempGenJnlLine,VendorBillHeader,PrevVendorBillLine,CumulativeAmount);
CumulativeAmount := VendorBillLine."Amount to Pay";
END ELSE
CumulativeAmount += VendorBillLine."Amount to Pay";
PrevVendorBillLine := VendorBillLine;
UNTIL VendorBillLine.NEXT = 0;
InsertTempGenJnlLine(TempGenJnlLine,VendorBillHeader,PrevVendorBillLine,CumulativeAmount);
END;
VendorBillLine.SETRANGE("Cumulative Transfers",FALSE);
IF VendorBillLine.FINDSET THEN
REPEAT
VendorBillLine.TESTFIELD("Document Type",VendorBillLine."Document Type"::Invoice);
InsertTempGenJnlLine(TempGenJnlLine,VendorBillHeader,VendorBillLine,VendorBillLine."Amount to Pay");
UNTIL VendorBillLine.NEXT = 0;
END;
LOCAL PROCEDURE InsertTempGenJnlLine@1130006(VAR TempGenJnlLine@1130000 : TEMPORARY Record 81;VendorBillHeader@1130001 : Record 12181;VendorBillLine@1130002 : Record 12182;AmountToPay@1130003 : Decimal);
// End of the deleted lines.
BEGIN
WITH TempGenJnlLine DO BEGIN
INIT;
...Değiştirme kodu 2
...VendorBillLine.SETRANGE("Cumulative Transfers",TRUE);
IF VendorBillLine.FINDSET THEN BEGIN
CumulativeAmount := 0;
// Add the following lines.
CumulativeCnt := 0;
PrevVendorBillLine := VendorBillLine;
REPEAT
VendorBillLine.TESTFIELD("Document Type",VendorBillLine."Document Type"::Invoice);
IF ((VendorBillLine."Vendor No." <> PrevVendorBillLine."Vendor No.") OR
(VendorBillLine."Vendor Bank Acc. No." <> PrevVendorBillLine."Vendor Bank Acc. No."))
THEN BEGIN
InsertTempGenJnlLine(TempGenJnlLine,VendorBillHeader,PrevVendorBillLine,CumulativeAmount,CumulativeCnt);
CumulativeAmount := VendorBillLine."Amount to Pay";
CumulativeCnt := 1;
END ELSE BEGIN
CumulativeAmount += VendorBillLine."Amount to Pay";
CumulativeCnt += 1;
END;
PrevVendorBillLine := VendorBillLine;
UNTIL VendorBillLine.NEXT = 0;
InsertTempGenJnlLine(TempGenJnlLine,VendorBillHeader,PrevVendorBillLine,CumulativeAmount,CumulativeCnt);
END;
VendorBillLine.SETRANGE("Cumulative Transfers",FALSE);
IF VendorBillLine.FINDSET THEN
REPEAT
VendorBillLine.TESTFIELD("Document Type",VendorBillLine."Document Type"::Invoice);
InsertTempGenJnlLine(TempGenJnlLine,VendorBillHeader,VendorBillLine,VendorBillLine."Amount to Pay",1);
UNTIL VendorBillLine.NEXT = 0;
END;
LOCAL PROCEDURE InsertTempGenJnlLine@1130006(VAR TempGenJnlLine@1130000 : TEMPORARY Record 81;VendorBillHeader@1130001 : Record 12181;VendorBillLine@1130002 : Record 12182;AmountToPay@1130003 : Decimal;CumulativeCnt@1130004 : Integer);
// End of the added lines.
BEGIN
WITH TempGenJnlLine DO BEGIN
INIT;
... -
SEPA CT hazırlamak kaynak kod (1222) InsertTempGenJnlLine işlevinde kodu aşağıdaki gibi değiştirin:
Varolan kodu 1..."Account Type" := TempGenJnlLine."Account Type"::Vendor;
"Bal. Account Type" := TempGenJnlLine."Bal. Account Type"::"Bank Account";
"Bal. Account No." := VendorBillHeader."Bank Account No.";
// Delete the following line.
"External Document No." := VendorBillLine."External Document No.";
Amount := AmountToPay;
"Applies-to Doc. Type" := VendorBillLine."Document Type";
"Applies-to Doc. No." := VendorBillLine."Document No.";
...Değiştirme kodu 1
..."Account Type" := TempGenJnlLine."Account Type"::Vendor;
"Bal. Account Type" := TempGenJnlLine."Bal. Account Type"::"Bank Account";
"Bal. Account No." := VendorBillHeader."Bank Account No.";
Amount := AmountToPay;
"Applies-to Doc. Type" := VendorBillLine."Document Type";
"Applies-to Doc. No." := VendorBillLine."Document No.";
...Varolan kodu 2
..."Due Date" := VendorBillLine."Due Date";
"Posting Date" := VendorBillHeader."Posting Date";
"Recipient Bank Account" := VendorBillLine."Vendor Bank Acc. No.";
// Delete the following line.
Description := VendorBillLine.Description;
"Message to Recipient" := VendorBillLine."Description 2";
INSERT;
END;
...Değiştirme kodu 2
..."Due Date" := VendorBillLine."Due Date";
"Posting Date" := VendorBillHeader."Posting Date";
"Recipient Bank Account" := VendorBillLine."Vendor Bank Acc. No.";
// Add the following lines.
IF CumulativeCnt > 1 THEN BEGIN
"Applies-to Ext. Doc. No." := '';
Description := CumulativeInvoiceTxt;
END ELSE BEGIN
"Applies-to Ext. Doc. No." := VendorBillLine."External Document No.";
Description := VendorBillLine.Description;
END;
// End of the added lines.
"Message to Recipient" := VendorBillLine."Description 2";
INSERT;
END;
...
Önkoşullar
Bu düzeltmeyi uygulamak için aşağıdaki ürünlerden birine sahip olmalıdır:
-
Microsoft Dynamics NAV 2009 R2'in İtalyanca sürümünde
-
Microsoft Dynamics NAV 2009 SP1'in İtalyanca sürümünde
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. Kullanım koşullarıdiğer konular için bkz.