Gejala
Setelah Anda menginstal versi terbaru dari daftar tagihan pelanggan laporan, jika Anda menerapkan faktur pembayaran terkait dan kemudian posting dalam bahasa Italia versi Microsoft Dynamics NAV 2009, laporan tidak menunjukkan pembayaran. Hanya menampilkan faktur sebagai tutup. Ikuti langkah-langkah di bagian perubahan kode untuk memecahkan masalah ini. Masalah ini terjadi di dalam produk berikut ini:
-
Bahasa Italia versi Microsoft Dynamics NAV 2009 R2
-
Bahasa Italia versi Microsoft Dynamics NAV 2009 SP1
Pemecahan masalah
Informasi Hotfix
Sekarang tersedia hotfix yang didukung dari Microsoft. Namun, hanya ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Terapkan hanya ke sistem yang mengalami masalah khusus ini. Perbaikan terbaru ini dapat menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terlalu dipengaruhi oleh masalah ini, kami sarankan Anda menunggu paket layanan Microsoft Dynamics NAV 2009 atau versi Microsoft Dynamics NAV berikutnya yang berisi perbaikan terbaru ini.
Catatan Dalam kasus tertentu, biaya yang biasanya diadakan untuk panggilan mungkin dibatalkan apabila profesional dukungan teknis untuk Microsoft Dynamics dan produk-produk terkait dukungan menentukan bahwa pembaruan khusus akan memecahkan masalah Anda. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah yang tidak termasuk pada pembaruan tertentu yang dimaksud dukungan tambahan.
Informasi penginstalan
Microsoft menyediakan contoh pemrogaman hanya untuk ilustrasi, tanpa garansi baik tersurat maupun tersirat. Ini mencakup, namun tidak terbatas pada, garansi yang tersirat dapat diperjualbelikan atau kesesuaian untuk tujuan tertentu. Artikel ini menganggap bahwa Anda sudah terbiasa dengan bahasa pemrograman yang ditunjukkan dan terbiasa dengan alat-alat yang digunakan untuk membuat dan prosedur debug. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu. Namun, mereka tidak akan mengubah contoh tersebut untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda.
Catatan Sebelum Anda menginstal perbaikan terbaru ini, verifikasi bahwa semua pengguna klien Microsoft Dynamics NAV log off sistem. Ini termasuk layanan Microsoft Dynamics NAV aplikasi Server (NAS). Anda harus klien hanya pengguna yang masuk saat Anda menerapkan perbaikan terbaru ini.
Untuk menerapkan hotfix ini, Anda harus memiliki lisensi pengembang.
Kami menyarankan bahwa akun pengguna di jendela login Windows atau jendela login Database ditetapkan id peran "SUPER" Jika account pengguna tidak dapat menetapkan ID peran "SUPER", Anda harus memverifikasi bahwa account pengguna yang memiliki izin berikut ini:
-
Ubah izin untuk objek yang Anda akan berubah.
-
Izin eksekusi untuk objek sistem objek ID 5210 dan sistem objek ID 9015
objek.
Catatan Anda tidak harus memiliki hak untuk penyimpanan data kecuali jika Anda harus melakukan perbaikan data.
Perubahan kode
Catatan Selalu menguji kode perbaikan di lingkungan yang dikontrol sebelum menerapkan perbaikan untuk komputer produksi.
Untuk mengatasi masalah ini, ikuti langkah-langkah berikut:
-
Ubah kode di daftar tagihan pelanggan laporan (12117) sebagai berikut:
Kode yang ada 1...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)
WHERE(Entry Type=CONST(Application));
OnPreDataItem=BEGIN
// Delete the following line.
CustLedgEntry1.COPYFILTER("Posting Date", "Detailed Cust. Ledg. Entry"."Posting Date"); // IT0004
// End of the deleted line.
END;
OnAfterGetRecord=BEGIN
...Penggantian kode 1
...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)
WHERE(Entry Type=CONST(Application));
OnPreDataItem=BEGIN
// Add the following line.
FindAppliedDtldCustLedgEntry(CustLedgEntry1."Entry No.");
// End of the added line.
END;
OnAfterGetRecord=BEGIN
...Kode yang ada 2
... { END;
OnAfterGetRecord=BEGIN
// Delete the following lines.
IF ("Entry No." = 0) OR ("Unapplied by Entry No." <> 0) OR
("Document Type" IN
["Document Type"::Payment,"Document Type"::Refund,"Document Type"::Dishonored,"Document Type"::" "])
THEN
ShowDetailedCustLedgerEntry := TRUE
ELSE
ShowDetailedCustLedgerEntry := FALSE;
// IT0015.begin
//VSTF275923 begin
// VSTF305887.begin
//IF PrintCustLedgEntry2 THEN
IF PrintCustLedgEntry2 AND ("Document Type" <> "Document Type"::Payment) THEN
CurrReport.SKIP;
// VSTF305887.end
//CurrReport.SKIP;
//VSTF275923 end
// IT0015.end
CustLedgEntry3.GET("Applied Cust. Ledger Entry No.");
CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
// IT0004.begin
ClosedByAmountLCY := "Amount (LCY)";
TotalForCustomer += "Amount (LCY)";
// IT0004.end
TotalClosedByAmntLCY += "Amount (LCY)"; // IT0005
// End of the deleted lines.
END;
DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);
...Penggantian kode 2
...END;
OnAfterGetRecord=BEGIN
// Add the following lines.
IF NOT TempDetailedCustLedgEntryApp.GET("Entry No.") THEN
CurrReport.SKIP;
CustLedgEntry3.GET("Cust. Ledger Entry No.");
CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
AppliedDocumentTypeText := FORMAT(CustLedgEntry3."Document Type");
ClosedByAmountLCY := "Amount (LCY)";
TotalForCustomer -= "Amount (LCY)";
TotalClosedByAmntLCY -= "Amount (LCY)";
// End of the added lines.
END;
DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);
...Kode yang ada 3
... SectionWidth=24450;
SectionHeight=846;
OnPreSection=BEGIN
// Delete the following line.
CurrReport.SHOWOUTPUT(ShowDetailedCustLedgerEntry)
// End of the deleted line.
END;
}
...Penggantian kode 3
...SectionWidth=24450;
SectionHeight=846;
OnPreSection=BEGIN
// Add the following lines.
IF ("Unapplied by Entry No." <> 0) THEN
CurrReport.SHOWOUTPUT(FALSE);
// End of the added lines.
END;
}
...Ada kode 4
...ForeColor=65535;
SourceExpr="Document Type" = "Document Type"::Dishonored;
DataSetFieldName=Document_Type_____Document_Type___Dishonored }
// Delete the following lines.
{ 1130123;TextBox ;24000;0 ;150 ;423 ;Visible=No;
SourceExpr=ShowDetailedCustLedgerEntry;
DataSetFieldName=ShowDetailedCustLedgerEntry }
// End of the deleted lines.
}
}
{ PROPERTIES
...Penggantian kode 4
... ForeColor=65535;
SourceExpr="Document Type" = "Document Type"::Dishonored;
DataSetFieldName=Document_Type_____Document_Type___Dishonored }
}
}
{ PROPERTIES
... -
Ubah kode di variabel Global dalam daftar tagihan pelanggan laporan (12117) sebagai berikut:
Kode yang ada 1...Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';
Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';
SalesSetup@1130002 : Record 311;
EndingDate@1130003 : Date;
ExposureDate@1130004 : Date;
OnlyOpened@1130005 : Boolean;
...Penggantian kode 1
... Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';
Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';
SalesSetup@1130002 : Record 311;
// Add the following lines.
CustLedgEntry3@1130130 : Record 21;
TempDetailedCustLedgEntryApp@1130131 : TEMPORARY Record 379;
// End of the added lines.
EndingDate@1130003 : Date;
ExposureDate@1130004 : Date;
OnlyOpened@1130005 : Boolean;
...Kode yang ada 2
... TotExpAmntForCust@1130011 : Decimal;
BalanceDue@1130012 : Decimal;
NULL@1130013 : DateFormula;
// Delete the following lines.
CustLedgEntry3@1130130 : Record 21;
PrintCustLedgEntry2@1130014 : Boolean;
ShowDetailedCustLedgerEntry@1130015 : Boolean INDATASET;
// End of the deleted lines.
BEGIN
{
...Penggantian kode 2
... TotExpAmntForCust@1130011 : Decimal;
BalanceDue@1130012 : Decimal;
NULL@1130013 : DateFormula;
// Add the following lines.
PrintCustLedgEntry2@1130014 : Boolean;
AppliedDocumentTypeText@1130132 : Text[30];
LOCAL PROCEDURE FindAppliedDtldCustLedgEntry@1130007(CustLedgerEntryNo@1130000 : Integer);
VAR
DetailedCustLedgEntry@1130001 : Record 379;
DetailedCustLedgEntryApplied@1130003 : Record 379;
BEGIN
TempDetailedCustLedgEntryApp.RESET;
TempDetailedCustLedgEntryApp.DELETEALL;
DetailedCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgerEntryNo);
DetailedCustLedgEntry.SETRANGE("Entry Type",DetailedCustLedgEntry."Entry Type"::Application);
DetailedCustLedgEntry.SETRANGE(Unapplied,FALSE);
DetailedCustLedgEntryApplied.SETRANGE(
"Entry Type",DetailedCustLedgEntryApplied."Entry Type"::Application);
IF DetailedCustLedgEntry.FINDSET THEN
REPEAT
DetailedCustLedgEntryApplied.SETRANGE(
"Applied Cust. Ledger Entry No.",DetailedCustLedgEntry."Applied Cust. Ledger Entry No.");
DetailedCustLedgEntryApplied.SETFILTER(
"Cust. Ledger Entry No.",'<>%1',CustLedgerEntryNo);
DetailedCustLedgEntryApplied.SETRANGE(
"Customer No.",DetailedCustLedgEntry."Customer No.");
DetailedCustLedgEntryApplied.SETRANGE(
"Transaction No.",DetailedCustLedgEntry."Transaction No.");
IF DetailedCustLedgEntryApplied.FINDSET THEN
REPEAT
TempDetailedCustLedgEntryApp := DetailedCustLedgEntryApplied;
IF TempDetailedCustLedgEntryApp.INSERT THEN;
UNTIL DetailedCustLedgEntryApplied.NEXT = 0;
UNTIL DetailedCustLedgEntry.NEXT = 0;
END;
// End of the added lines.
BEGIN
{
... -
Ubah kode di dalam daftar Vendor akun tagihan laporan (12116) sebagai berikut:
Kode yang ada 1... </TableRow>
</TableRows>
</Header>
<Visibility>
<Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>
</Visibility>
</TableGroup>
</TableGroups>
<Top>2.22222cm</Top>
...Penggantian kode 1
... </TableRow>
</TableRows>
</Header>
// Delete the following lines.
<Visibility>
<Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>
</Visibility>
// End of the deleted lines.
</TableGroup>
</TableGroups>
<Top>2.22222cm</Top>
...Kode yang ada 2
...Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">
<DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>
</Field>
<Field Name="ShowDetailedCustLedgerEntry">
<DataField>ShowDetailedCustomerLedgerEntry</DataField>
</Field>
</Fields>
<Query>
<CommandText />
...Penggantian kode 2
...<Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">
<DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>
</Field>
// Delete the following lines.
<Field Name="ShowDetailedCustLedgerEntry">
<DataField>ShowDetailedCustomerLedgerEntry</DataField>
</Field>
// End of the deleted lines.
</Fields>
<Query>
<CommandText />
...
Prasyarat
Anda harus memiliki salah satu produk berikut ini diinstal untuk menerapkan perbaikan terbaru ini:
-
Bahasa Italia versi Microsoft Dynamics NAV 2009 R2
-
Bahasa Italia versi Microsoft Dynamics NAV 2009 SP1
Informasi penghapusan
Anda tidak dapat menghapus hotfix ini.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Catatan Ini adalah artikel "Penerbitan cepat" dibuat langsung dari dalam organisasi dukungan Microsoft. Informasi yang terkandung di dalamnya disediakan sebagai tanggapan masalah yang muncul. Sebagai akibat dari kecepatan untuk menjadikannya tersedia, materi dapat mengandung kesalahan ketik dan dapat direvisi setiap saat tanpa pemberitahuan. Lihat Ketentuanuntuk pertimbangan lainnya.