Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Symptomen

In een inkooporder of een verkoopretourorder, wanneer u de functionaliteit van 'get geboekte documentregels omkeren' in Microsoft Dynamics NAV 2009 gebruiken en de geboekte ontvangsten selecteren overnemen de regels niet de dimensies die zijn al in de ontvangsten inkoop- of verkoopdocument gebruikt. Volg de stappen in de sectie codewijzigingen oplossen van dit probleem. Dit probleem treedt op in de volgende producten:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 SP1

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. Zij zal deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten echter niet wijzigen.

Opmerking Voordat u deze hotfix hebt geïnstalleerd, controleert u of dat alle gebruikers van Microsoft Dynamics NAV-clients zijn afgemeld bij het systeem. Dit omvat services voor Microsoft Dynamics NAV Application Server (NAS). 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 de System Object ID 9015

    -object.

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 CopyLineToDoc in de geboekte verkoop documentformulier (5850) als volgt wijzigen:
    Bestaande code 1

    ... LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedShpts.FORM.GetSelectedLine(FromSalesShptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesShptLinesToDoc(
    ToSalesHeader,FromSalesShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...


    Nieuwe code 1

    ... LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedShpts.FORM.GetSelectedLine(FromSalesShptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesShptLinesToDoc(
    ToSalesHeader,FromSalesShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...


    Bestaande code 2

    ... ToSalesHeader,FromSalesInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnRcpts.FORM.GetSelectedLine(FromReturnRcptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesReturnRcptLinesToDoc(
    ToSalesHeader,FromReturnRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...


    Vervangende code 2

    ...   ToSalesHeader,FromSalesInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnRcpts.FORM.GetSelectedLine(FromReturnRcptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesReturnRcptLinesToDoc(
    ToSalesHeader,FromReturnRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...
  2. De code in de functie CopyLineToDoc in het geboekte Document regels formulier (5855) als volgt wijzigen:
    Bestaande code 1

    ...LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedRcpts.FORM.GetSelectedLine(FromPurchRcptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchRcptLinesToDoc(
    ToPurchHeader,FromPurchRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...

    Nieuwe code 1

    ... LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedRcpts.FORM.GetSelectedLine(FromPurchRcptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchRcptLinesToDoc(
    ToPurchHeader,FromPurchRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...

    Bestaande code 2

    ...ToPurchHeader,FromPurchInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnShpts.FORM.GetSelectedLine(FromReturnShptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchReturnShptLinesToDoc(
    ToPurchHeader,FromReturnShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...

    Vervangende code 2

    ...ToPurchHeader,FromPurchInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnShpts.FORM.GetSelectedLine(FromReturnShptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchReturnShptLinesToDoc(
    ToPurchHeader,FromReturnShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...
  3. De code in de globale variabelen in de kopie Document CRM-Codeunit (6620) als volgt wijzigen:
    Bestaande code

    ...SkippedLine@1047 : Boolean;
    Text029@1048 : TextConst 'ENU=One or more return document lines were not inserted or they contain only the remaining quantity of the original document line. This is because quantities on the posted document line are already fully or partially applied. If you want to reverse the full quantity, you must select Return Original Quantity before getting the posted document lines.';
    Text030@1025 : TextConst 'ENU=%1 %2, line no. %3 is not copied because the full quantity on the posted document line is already manually applied.';
    Text031@1038 : TextConst 'ENU=Return document line contains only the original document line quantity, that is not already manually applied.';
    SomeAreFixed@1045 : Boolean;

    PROCEDURE SetProperties@2(NewIncludeHeader@1001 : Boolean;NewRecalculateLines@1000 : Boolean;NewMoveNegLines@1006 : Boolean;NewCreateToHeader@1002 : Boolean;NewHideDialog@1003 : Boolean;NewExactCostRevMandatory@1004 : Boolean;NewApplyFully@1005 : Boolean);
    BEGIN
    IncludeHeader := NewIncludeHeader;
    RecalculateLines := NewRecalculateLines;
    ...

    Nieuwe code

    ...SkippedLine@1047 : Boolean;
    Text029@1048 : TextConst 'ENU=One or more return document lines were not inserted or they contain only the remaining quantity of the original document line. This is because quantities on the posted document line are already fully or partially applied. If you want to reverse the full quantity, you must select Return Original Quantity before getting the posted document lines.';
    Text030@1025 : TextConst 'ENU=%1 %2, line no. %3 is not copied because the full quantity on the posted document line is already manually applied.';
    Text031@1038 : TextConst 'ENU=Return document line contains only the original document line quantity, that is not already manually applied.';
    SomeAreFixed@1045 : Boolean;

    // Add the following line.
    CopyDimensions@1050 : Boolean;
    // End of the added line.


    PROCEDURE SetProperties@2(NewIncludeHeader@1001 : Boolean;NewRecalculateLines@1000 : Boolean;NewMoveNegLines@1006 : Boolean;NewCreateToHeader@1002 : Boolean;NewHideDialog@1003 : Boolean;NewExactCostRevMandatory@1004 : Boolean;NewApplyFully@1005 : Boolean);
    BEGIN
    IncludeHeader := NewIncludeHeader;
    RecalculateLines := NewRecalculateLines;
    ...
  4. De code in de functie CopyFromPstdSalesDocDimToLine in de Codeunit kopie Document CRM (6620) als volgt wijzigen:
    Bestaande code

    ...LOCAL PROCEDURE CopyFromPstdSalesDocDimToLine@21(VAR ToSalesLine@1009 : Record 37;FromDocType@1004 : Option;VAR FromSalesShptLine@1007 : Record 111;VAR FromSalesInvLine@1005 : Record 113;VAR FromReturnRcptLine@1003 : Record 6661;VAR FromSalesCrMemoLine@1001 : Record 115);
    VAR
    DocDim@1002 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Delete the following line.
    IF NOT RecalculateLines THEN BEGIN
    // End of the deleted line.

    DocDim.SETRANGE("Table ID",DATABASE::"Sales Line");
    DocDim.SETRANGE("Document Type",ToSalesLine."Document Type");
    DocDim.SETRANGE("Document No.",ToSalesLine."Document No.");
    DocDim.SETRANGE("Line No.",ToSalesLine."Line No.");
    DocDim.DELETEALL;
    ...

    Nieuwe code

    ...  LOCAL PROCEDURE CopyFromPstdSalesDocDimToLine@21(VAR ToSalesLine@1009 : Record 37;FromDocType@1004 : Option;VAR FromSalesShptLine@1007 : Record 111;VAR FromSalesInvLine@1005 : Record 113;VAR FromReturnRcptLine@1003 : Record 6661;VAR FromSalesCrMemoLine@1001 : Record 115);
    VAR
    DocDim@1002 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Add the following line.
    IF NOT RecalculateLines OR CopyDimensions THEN BEGIN
    // End of the added line.

    DocDim.SETRANGE("Table ID",DATABASE::"Sales Line");
    DocDim.SETRANGE("Document Type",ToSalesLine."Document Type");
    DocDim.SETRANGE("Document No.",ToSalesLine."Document No.");
    DocDim.SETRANGE("Line No.",ToSalesLine."Line No.");
    DocDim.DELETEALL;
    ...
  5. De code in de functie CopyFromPstdPurchDocDimToLine in de Codeunit kopie Document CRM (6620) als volgt wijzigen:
    Bestaande code

    ...LOCAL PROCEDURE CopyFromPstdPurchDocDimToLine@13(VAR ToPurchLine@1002 : Record 39;FromDocType@1004 : Option;VAR FromPurchRcptLine@1009 : Record 121;VAR FromPurchInvLine@1007 : Record 123;VAR FromReturnShptLine@1005 : Record 6651;VAR FromPurchCrMemoLine@1003 : Record 125);
    VAR
    DocDim@1001 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Delete the following line.
    IF NOT RecalculateLines THEN BEGIN
    // End of the deleted line.

    DocDim.SETRANGE("Table ID",DATABASE::"Purchase Line");
    DocDim.SETRANGE("Document Type",ToPurchLine."Document Type");
    DocDim.SETRANGE("Document No.",ToPurchLine."Document No.");
    DocDim.SETRANGE("Line No.",ToPurchLine."Line No.");
    DocDim.DELETEALL;
    ...

    Nieuwe code

    ...LOCAL PROCEDURE CopyFromPstdPurchDocDimToLine@13(VAR ToPurchLine@1002 : Record 39;FromDocType@1004 : Option;VAR FromPurchRcptLine@1009 : Record 121;VAR FromPurchInvLine@1007 : Record 123;VAR FromReturnShptLine@1005 : Record 6651;VAR FromPurchCrMemoLine@1003 : Record 125);
    VAR
    DocDim@1001 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Add the following line.
    IF NOT RecalculateLines OR CopyDimensions THEN BEGIN
    // End of the added line.

    DocDim.SETRANGE("Table ID",DATABASE::"Purchase Line");
    DocDim.SETRANGE("Document Type",ToPurchLine."Document Type");
    DocDim.SETRANGE("Document No.",ToPurchLine."Document No.");
    DocDim.SETRANGE("Line No.",ToPurchLine."Line No.");
    DocDim.DELETEALL;
    ...
  6. De code in de functie CopyAllDimensions in de Codeunit kopie Document CRM (6620) als volgt wijzigen:
    Bestaande code

    ...MESSAGE(Text031);
    IF Text <> '' THEN
    MESSAGE(Text);
    END;

    BEGIN
    END.
    }
    }
    ...

    Nieuwe code

    ...MESSAGE(Text031);
    IF Text <> '' THEN
    MESSAGE(Text);
    END;

    // Add the following lines.
    PROCEDURE CopyAllDimensions@85();
    BEGIN
    CopyDimensions := TRUE;
    END;

    // End of the added line.

    BEGIN
    END.
    }
    }
    ...

Vereisten

Hebt u een van de volgende producten geïnstalleerd om deze hotfix:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 SP1

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'.

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 Gebruiksvoorwaardenvoor andere overwegingen.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×