Foutbericht 'Moet u opslaglocatie in regel journaal projectdagboeksjabloon' wanneer u factuur (of ontvangen en vervolgens het factuurbedrag) een inkooporder voor een artikel dat is toegewezen aan een taak en een verplichte opslaglocatie in Microsoft Dynamics NAV


Dit artikel is van toepassing op Microsoft Dynamics NAV voor alle regio's.

Symptomen


Stel dat u een inkooporder voor een artikel dat is toegewezen aan een taak hebt en u een opslaglocatie voor het artikel in Microsoft Dynamics NAV. opgeven Klik, wanneer u boekt (ontvang en factureer) de inkooporder, omdat een niet-overeenkomende gegevens tussen artikelposten en magazijn plaatsvindt, wordt het volgende foutbericht weergegeven:
Opslaglocatie moet u opgeven in de regel journaal projectdagboeksjabloon...

Ook wanneer u boekt de ontvangst voor de inkooporder ongedaan maken, de artikelposten bijgewerkt onjuist. U verwacht dat het systeem voor het bijwerken van het magazijn en artikelposten gelijk.
Dit probleem treedt op nadat u de hotfix in KB 2159936 toepast.
Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2159936 u kunt onverwacht een inkooporder boekt als ontvangen voor een verplichte opslaglocatie aan een project in Service Pack 1 voor Microsoft Dynamics NAV 2009

Dit probleem treedt op in de volgende producten:
  • Microsoft Dynamics NAV 2009 servicepack 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2

Oplossing


Informatie over de hotfix

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem dat wordt beschreven in dit artikel. Pas deze alleen toe op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op het volgende servicepack voor Microsoft Dynamics NAV 2009 of de volgende Microsoft Dynamics NAV versie waarin deze hotfix is opgenomen.

Opmerking In speciale gevallen kunnen kosten die verbonden zijn aan ondersteuningsoproepen ondersteuning worden geannuleerd als een medewerker van Technical Support voor Microsoft Dynamics en verwante producten bepaalt dat een specifieke update de oplossing van uw probleem. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.



Informatie over de installatie

Microsoft verstrekt programmeervoorbeelden uitsluitend ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure, maar zij zullen deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten niet wijzigen.

Opmerking Voordat u deze hotfix hebt geïnstalleerd, controleert u of dat alle gebruikers van Microsoft Navision-clients zijn afgemeld bij het systeem. Dit geldt ook voor gebruikers van Microsoft Navision Application Services (NAS)-clients. U moet de alleen clientgebruiker die is aangemeld wanneer u deze hotfix gaat implementeren.

Als u deze hotfix gaat implementeren, hebt u een ontwikkelaarslicentie voor.

Is raadzaam dat de gebruikersaccount in het venster Windows-aanmeldingen of Databaseaanmeldingen de rol-id 'SUPER'. Als de gebruikersaccount kan worden toegewezen als de ID 'SUPER' rol, moet u controleren of de gebruikersaccount de volgende machtigingen heeft:
  • De machtiging wijzigen voor het object dat u wijzigt.
  • De machtiging uitvoeren voor het object System Object ID 5210 en voor het object System Object ID 9015 .


Opmerking Er geen rechten voor de opgeslagen gegevens hebben, tenzij u gegevens herstellen.

Codewijzigingen

Opmerking Altijd test code worden opgelost in een testomgeving voordat u de correcties in de productieomgeving.
U kunt dit probleem oplossen door de volgende stappen uit te voeren:
  1. De code in de functie FromPurchaseLineToJnlLine in de codeunit (1004) als volgt wijzigen:

    Bestaande code
    ...    JobJnlLine."Line Discount Amount" :=
    ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision");
    END;

    JobJnlLine."Location Code" := "Location Code";
    JobJnlLine."Line Type" := "Job Line Type";
    ...
    Nieuwe code
    ...      JobJnlLine."Line Discount Amount" :=
    ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision");
    END;

    JobJnlLine."Location Code" := "Location Code";

    // Add the following line.
    JobJnlLine."Bin Code" := "Bin Code";
    // End of the added line.

    JobJnlLine."Line Type" := "Job Line Type";
    ...
  2. Wijzig de code in de trigger OnRun in de Purch.-Post codeunit (90) als volgt:

    Opmerking De code te verwijderen is toegevoegd met 2159936 KB, zodat deze kan al dan niet nodig te wijzigen met de volgende code.

    Bestaande code
    ...      IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;

    // Delete the following lines.
    IF (PurchLine."Job No." <> '') AND (PurchLine.Type = PurchLine.Type::Item) THEN
    PurchLine.TESTFIELD("Bin Code",'');
    // End of the deleted lines.
    ...
    Nieuwe code
    ...        IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;
    ...
  3. Wijzig de code in de functie PostItemJnlLine in de Purch.-Post codeunit (90) als volgt:

    Bestaande code
    ...   IF PostWhseJnlLine THEN BEGIN
    ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE);
    IF TempWhseJnlLine2.FIND('-') THEN
    REPEAT
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    UNTIL TempWhseJnlLine2.NEXT = 0;
    ...
    Nieuwe code
    ...   IF PostWhseJnlLine THEN BEGIN
    ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE);
    IF TempWhseJnlLine2.FIND('-') THEN
    REPEAT
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    // Add the following lines.
    IF RevertWarehouseEntry(TempWhseJnlLine2,"Job No.",PostJobConsumptionBeforePurch) THEN
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    // End of the added lines.

    UNTIL TempWhseJnlLine2.NEXT = 0;
    ...
  4. De volgende lokale functie toevoegen: RevertWarehouseEntry@92 (VAR TempWhseJnlLine@1000: tijdelijke Record 7311; JobNo@1001: Code [20]; PostJobConsumptionBeforePurch@1002: Boolean). Voeg vervolgens de volgende code voor de functie toe:
    IF PostJobConsumptionBeforePurch OR (JobNo = '') THEN  EXIT(FALSE);
    WITH TempWhseJnlLine DO BEGIN
    "Entry Type" := "Entry Type"::"Negative Adjmt.";
    Quantity := -Quantity;
    "Qty. (Base)" := -"Qty. (Base)";
    "From Bin Code" := "To Bin Code";
    "To Bin Code" := '';
    END;
    EXIT(TRUE);


Vereisten

U moet een van de volgende producten geïnstalleerd om deze hotfix te kunnen hebben:
  • Microsoft Dynamics NAV 2009 servicepack 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2


Informatie over verwijderen

U kunt deze hotfix niet verwijderen.

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Referenties


VSTF DynamicsNAV SE: 244430
Opmerking Dit is een 'Snel publiceren' artikel dat rechtstreeks door het ondersteuningsteam van Microsoft is gemaakt. De informatie wordt geleverd zoals het is in reactie op de opkomende problemen. Omdat het artikel snel beschikbaar moest zijn, kunnen de materialen typografische fouten bevatten en op elk gewenst moment zonder voorafgaande kennisgeving worden gewijzigd. Zie de Gebruiksvoorwaarden voor andere overwegingen.