Symptom
När en transaktion är negativt (korrigering) systemet automatiskt antar att det är en export. Däremot deklarera CBS-riktlinjer är det en negativ import. Därför bör det finnas en funktion anger tecknet för posten (negativt eller positivt) och tecknet bör inte påverka tillståndet för Import eller Export. Det här problemet uppstår i följande produkter:
-
Den nederländska versionen av Microsoft Dynamics NAV 2009 R2
-
Den nederländska versionen av Microsoft Dynamics NAV 2009 Service Pack 1
Lösning
Information om snabbkorrigeringen
En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.
Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.
Installationsinformation
Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.
Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare i Microsoft Dynamics NAV-klienten har loggat ut. Detta omfattar tjänster för Microsoft Dynamics NAV Application Server (NAS). Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.
Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.
Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:
-
Ändra behörighet för objektet ändras.
-
Körbehörighet för systemet objektet ID 5210 objekt och System objektet ID 9015
objektet.
Obs! Du har inte behörighet för datalager inte data reparation.
Kod ändras
Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.
Lös problemet så här:
-
Ändra koden i Skapa Decl. Disk intrastatrapporten (11413) enligt följande:
Befintlig kod 1...SpecialUnit@1000002 : Decimal;
RoundedWeight@1000001 : Integer;
ItemDirection@1000004 : Integer;
BEGIN
TESTFIELD("Item No.");
TESTFIELD("Tariff No.");
...Ersättningskod 1
...SpecialUnit@1000002 : Decimal;
RoundedWeight@1000001 : Integer;
ItemDirection@1000004 : Integer;
// Add the following line
IsCorrection@1000005 : Boolean;
// End of the added line.
BEGIN
TESTFIELD("Item No.");
TESTFIELD("Tariff No.");
...Befintlig kod 2
...ZeroShipment := FALSE;
END;
END;
Write(FORMAT(Date, 0, '<Year4><Month,2>'));
Write(FORMAT(ItemDirection));
...Ersättningskod 2
...
ZeroShipment := FALSE;
END;
END;
// Add the following line.
IsCorrection := CheckCorrection("Source Entry No.",ItemDirection);
// End of the added line.
Write(FORMAT(Date, 0, '<Year4><Month,2>'));
Write(FORMAT(ItemDirection));
...Befintlig kod 3
...Write(PADSTR2("Transaction Type", 1, '', '>'));
Write(PADSTR2(DELCHR("Tariff No."), 8, '0', '<'));
Write('00');
Write(Sign(RoundedWeight)); // DELETED
Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));
...Ersättningskod 3
...Write(PADSTR2("Transaction Type", 1, '', '>'));
Write(PADSTR2(DELCHR("Tariff No."), 8, '0', '<'));
Write('00');
// Add the following line.
Write(Sign(RoundedWeight,IsCorrection));
// End of the added line.
Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));
...Befintlig kod 4
...Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));
// Delete the following line.
Write(Sign(SpecialUnit));
// End of the deleted line.
Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));
...Ersättningskod 4
...Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));
// Add the following line.
Write(Sign(SpecialUnit,IsCorrection));
// End of the added line.
Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));
...Befintlig kod 5
...
Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));
// Delete the following line.
Write(Sign(Amount));
// End of the deleted line.
Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));
...Ersättningskod 5
...
Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));
// Add the following line.
Write(Sign(Amount,IsCorrection));
// End of the added line.
Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));
...Befintlig kod 6
...Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));
// Delete the following line.
Write('+');
// End of the deleted line.
Write(PADSTR2('0', 10, ' ', '<'));
Write(PADSTR2("Document No.", 10, ' ', '<'));
...Ersättningskod 6
...Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));
// Add the following lines.
IF IsCorrection THEN
Write('-')
ELSE // ADDED
Write('+');
// End of the added lines.
Write(PADSTR2('0', 10, ' ', '<'));
Write(PADSTR2("Document No.", 10, ' ', '<'));
...Befintlig kod 7
...Write(PADSTR2('0', 10, ' ', '<'));
Write(PADSTR2("Document No.", 10, ' ', '<'));
// Delete the following line.
Write(PADSTR2('', 4, ' ', '>'));
// End of the deleted line.
Write('000');
Write(PADSTR2("Intrastat Jnl. Batch"."Currency Identifier", 1, ' ', '>'));
Write(PADSTR2('', 6, ' ', '>'));
...Ersättningskod 7
...Write(PADSTR2('0', 10, ' ', '<'));
Write(PADSTR2("Document No.", 10, ' ', '<'));
// Add the following lines.
Write(PADSTR2('', 3, ' ', '>'));
IF IsCorrection THEN
Write('C')
ELSE
Write(' ');
// End of the added lines.
Write('000');
Write(PADSTR2("Intrastat Jnl. Batch"."Currency Identifier", 1, ' ', '>'));
Write(PADSTR2('', 6, ' ', '>'));
... -
Ändra koden i funktionen tecken i Skapa Decl. Disk intrastatrapporten (11413) enligt följande:
Befintlig kod 1...ExportFile.SEEK(ExportFile.POS - 1);
END;
// Delete the following line.
LOCAL PROCEDURE Sign@1000006(Number@1000000 : Decimal) : Text[1];
// End of the deleted line.
BEGIN
CASE Number < 0 OF
TRUE:
...Ersättningskod 1
... ExportFile.SEEK(ExportFile.POS - 1);
END;
// Add the following line.
LOCAL PROCEDURE Sign@1000006(Number@1000000 : Decimal;IsCorrection@1000001 : Boolean) : Text[1];
// End of the added line.
BEGIN
CASE Number < 0 OF
TRUE:
...Befintlig kod 2
...BEGIN
CASE Number < 0 OF
TRUE:
// Delete the following line.
EXIT('-');
// End of the deleted line.
FALSE:
...Ersättningskod 2
...BEGIN
CASE Number < 0 OF
TRUE:
// Add the following lines.
IF NOT IsCorrection THEN
EXIT('-')
ELSE
EXIT('+');
// End of the added lines.
FALSE:
...Befintlig kod 3
...FALSE:
// Delete the following line.
EXIT('+');
// End of the deleted line.
END;
END;
...Ersättningskod 3
...FALSE:
// Add the following lines.
IF NOT IsCorrection THEN
EXIT('+')
ELSE
EXIT('-');
// End of the added lines.
END;
END;
... -
Ändra koden i funktionen CheckCorrection i Skapa Decl. Disk intrastatrapporten (11413) enligt följande:
Befintlig kod...CrLf[2] := 10;
END;
BEGIN
...Ersättningskod
...CrLf[2] := 10;
END;
// Add the following lines.
PROCEDURE CheckCorrection@1000018(SourceEntryNo@1000000 : Integer;VAR ItemDirection@1000001 : Integer) : Boolean;
VAR
ItemLedgerEntry@1000002 : Record 32;
// End of the added lines.
BEGIN
... -
Ändra koden i funktionen CrLf i Skapa Decl. Disk intrastatrapporten (11413) enligt följande:
Befintlig kod...BEGIN
// Delete the following lines.
{
// Note: Intrastat Jnl. Batch dataitem has MaxIteration = 1
}
END.
}
RDLDATA
{
}
}
// End of the deleted lines.
...Ersättningskod
...BEGIN
// Add the following lines.
WITH ItemLedgerEntry DO BEGIN
GET(SourceEntryNo);
CASE "Document Type" OF
"Document Type"::"Purchase Return Shipment":
BEGIN
ItemDirection := 6;
EXIT(TRUE);
END;
"Document Type"::"Sales Return Receipt":
BEGIN
ItemDirection := 7;
EXIT(TRUE);
END;
END;
END;
END;
// End of the added lines.
... -
Ändra koden i funktionen CheckCorrection i Skapa Decl. Disk intrastatrapporten (11413) enligt följande:
Ersättningskod...// Add the following lines.
BEGIN
{
// Note: Intrastat Jnl. Batch dataitem has MaxIteration = 1
}
END.
}
RDLDATA
{
}
}
// End of the added lines.
...
Förutsättningar
Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:
-
Den nederländska versionen av Microsoft Dynamics NAV 2009 R2
-
Den nederländska versionen av Microsoft Dynamics NAV 2009 SP1
Information om borttagning
Du kan inte ta bort den här snabbkorrigeringen.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".
Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användningför andra överväganden.