Dit artikel is van toepassing op Microsoft Dynamics NAV voor alle taalinstellingen.
Symptomen
In Microsoft Dynamics NAV, wanneer u het inkoopvoorstel gebruiken voor het maken van een inkooporder of wanneer u een inkooporder handmatig maakt beschouwing de doorverzending en speciale orders buiten laten de gedefinieerde gegevens op de bijbehorende verkooporder. Daarom, de omschrijving, omschrijving 2 en het verzendadres van de verkooporderkop en -regels niet volgen via de getraceerde order hebt gekocht.
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: Opmerking Lees bij toegang tot de codeunit (333), omdat het anders voor Noord-Amerikaanse versie W1. Beide zijn hier met de codes voor het starten en stoppen van elke versie.-
De code in de tabel Inkoopkop (38) als volgt wijzigen:
-
Voeg de volgende globale tekstconstante:
Text051@1091: TextConst ' ENU = %1 veld op de inkooporder %2 moeten hetzelfde zijn als op verkoop order %3.'; -
Voeg de volgende globale variabelen:
-
Naam: NameAddressDetails; Gegevenstype: Tekst [512];
-
Naam: NameAddressDetails2; Gegevenstype: Tekst [512];
-
-
Voeg de volgende functie:
CheckAndAddShipToAdd@46 (SalesHeader@1000: 36; registreren ShowError@1001: Boolean): Boolean; VAR PurchLine2@1002: Record 39; Voeg de volgende code voor de functie:IF ShowError THEN BEGIN PurchLine2.RESET;
PurchLine2.SETRANGE("Document Type","Document Type"::Order); PurchLine2.SETRANGE("Document No.","No."); IF NOT PurchLine2.ISEMPTY THEN BEGIN IF "Ship-to Name" <>SalesHeader."Ship-to Name" THEN ERROR(Text051,FIELDCAPTION("Ship-to Name"),"No.",SalesHeader."No."); IF "Ship-to Name 2" <>SalesHeader."Ship-to Name 2" THEN ERROR(Text051,FIELDCAPTION("Ship-to Name 2"),"No.",SalesHeader."No."); IF ("Ship-to Address" <>SalesHeader."Ship-to Address") THEN ERROR(Text051,FIELDCAPTION("Ship-to Address"),"No.",SalesHeader."No."); IF ("Ship-to Address 2" <> SalesHeader."Ship-to Address 2") THEN ERROR(Text051,FIELDCAPTION("Ship-to Address 2"),"No.",SalesHeader."No."); IF ("Ship-to Post Code" <>SalesHeader."Ship-to Post Code") THEN ERROR(Text051,FIELDCAPTION("Ship-to Post Code"),"No.",SalesHeader."No."); IF ("Ship-to City" <>SalesHeader."Ship-to City") THEN ERROR(Text051,FIELDCAPTION("Ship-to City"),"No.",SalesHeader."No."); IF ("Ship-to Contact" <>SalesHeader."Ship-to Contact") THEN ERROR(Text051,FIELDCAPTION("Ship-to Contact"),"No.",SalesHeader."No."); END ELSE BEGIN // no purchase line exists "Ship-to Name" := SalesHeader."Ship-to Name"; "Ship-to Name 2" := SalesHeader."Ship-to Name 2"; "Ship-to Address" := SalesHeader."Ship-to Address"; "Ship-to Address 2" := SalesHeader."Ship-to Address 2"; "Ship-to Post Code" := SalesHeader."Ship-to Post Code"; "Ship-to City" := SalesHeader."Ship-to City"; "Ship-to Contact" := SalesHeader."Ship-to Contact"; END; END ELSE BEGIN NameAddressDetails := SalesHeader."Ship-to Name" + SalesHeader."Ship-to Name 2" + SalesHeader."Ship-to Address" + SalesHeader."Ship-to Address 2" + SalesHeader."Ship-to Post Code" + SalesHeader."Ship-to City" + SalesHeader."Ship-to Contact"; IF NameAddressDetails2 = '' THEN NameAddressDetails2 := NameAddressDetails; EXIT(NameAddressDetails2 = NameAddressDetails); END; -
Voeg de volgende functie:
DropShptSplOrderExists@48 (SalesHeader@1000: 36 vastleggen): Boolean; VAR SalesLine2@1001: Record 37; Voeg de volgende code voor de functie:// returns TRUE if sales is either Drop Shipment of Special OrderSalesLine2.RESET;
SalesLine2.SETRANGE("Document Type",SalesLine2."Document Type"::Order); SalesLine2.SETRANGE("Document No.",SalesHeader."No."); SalesLine2.SETRANGE("Drop Shipment",TRUE); IF NOT SalesLine2.ISEMPTY THEN EXIT(TRUE); SalesLine2.SETRANGE("Drop Shipment"); SalesLine2.SETRANGE("Special Order",TRUE); EXIT(NOT SalesLine2.ISEMPTY);
-
-
De code in de functie InsertReqWkshLine in de lijst met Verkooporders ophalen (698) als volgt wijzigen:
Bestaande code... Quantity,
ROUND(SalesLine."Outstanding Quantity" * SalesLine."Qty. per Unit of Measure" / "Qty. per Unit of Measure",0.00001)); "Sales Order No." := SalesLine."Document No."; "Sales Order Line No." := SalesLine."Line No."; "Sell-to Customer No." := SalesLine."Sell-to Customer No."; SalesHeader.GET(1,SalesLine."Document No."); IF SpecOrder <>1 THEN "Ship-to Code" := SalesHeader."Ship-to Code"; "Item Category Code" := SalesLine."Item Category Code"; Nonstock := SalesLine.Nonstock; ...Nieuwe code
... Quantity,
ROUND(SalesLine."Outstanding Quantity" * SalesLine."Qty. per Unit of Measure" / "Qty. per Unit of Measure",0.00001)); "Sales Order No." := SalesLine."Document No."; "Sales Order Line No." := SalesLine."Line No."; "Sell-to Customer No." := SalesLine."Sell-to Customer No."; // Add the following lines. Description := SalesLine.Description; "Description 2" := SalesLine."Description 2"; // End of the added lines. SalesHeader.GET(1,SalesLine."Document No."); IF SpecOrder <>1 THEN "Ship-to Code" := SalesHeader."Ship-to Code"; "Item Category Code" := SalesLine."Item Category Code"; Nonstock := SalesLine.Nonstock; ... -
Wijzig de code in de functie in de Ink.-veld neerzetten Art. ophalen codeunit (76) als volgt:
Bestaande code... IF RECORDLEVELLOCKING THEN
LOCKTABLE; SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order); TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No."); TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code"); PurchLine.LOCKTABLE; IF NOT RECORDLEVELLOCKING THEN LOCKTABLE(TRUE,TRUE); // Only version check SalesLine.LOCKTABLE; ... PurchLine."Document Type" := PurchLine."Document Type"::Order; PurchLine."Document No." := "No."; PurchLine."Line No." := NextLineNo; CopyDocMgt.TransfldsFromSalesToPurchLine(SalesLine,PurchLine); PurchLine.Description := SalesLine.Description; PurchLine."Sales Order No." := SalesLine."Document No."; PurchLine."Sales Order Line No." := SalesLine."Line No."; PurchLine."Drop Shipment" := TRUE; EVALUATE(PurchLine."Inbound Whse. Handling Time",'<0D>'); PurchLine.VALIDATE("Inbound Whse. Handling Time"); ...Nieuwe code
... IF RECORDLEVELLOCKING THEN
LOCKTABLE; SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order); TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No."); TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code"); // Add the following lines. IF DropShptSplOrderExists(SalesHeader) THEN CheckAndAddShipToAdd(SalesHeader,TRUE); // End of the added lines. PurchLine.LOCKTABLE; IF NOT RECORDLEVELLOCKING THEN LOCKTABLE(TRUE,TRUE); // Only version check SalesLine.LOCKTABLE; ... PurchLine."Document Type" := PurchLine."Document Type"::Order; PurchLine."Document No." := "No."; PurchLine."Line No." := NextLineNo; CopyDocMgt.TransfldsFromSalesToPurchLine(SalesLine,PurchLine); PurchLine.Description := SalesLine.Description; // Add the following line. PurchLine."Description 2" := SalesLine."Description 2"; // End of the added line. PurchLine."Sales Order No." := SalesLine."Document No."; PurchLine."Sales Order Line No." := SalesLine."Line No."; PurchLine."Drop Shipment" := TRUE; EVALUATE(PurchLine."Inbound Whse. Handling Time",'<0D>'); PurchLine.VALIDATE("Inbound Whse. Handling Time"); ... -
De code in de functie GetDescriptionAndRcptName in de codeunit ReqJnlManagement (330) als volgt wijzigen:
Bestaande code... ReqLine.Type::"G/L Account":
IF GLAcc.GET(ReqLine."No.") THEN Description := GLAcc.Name ELSE Description := ''; // Delete the following lines. ReqLine.Type::Item: IF Item.GET(ReqLine."No.") THEN Description := Item.Description ELSE Description := ''; // End of the deleted lines. END; END; IF ReqLine."Vendor No." = '' THEN BuyFromVendorName := '' ...Nieuwe code
... ReqLine.Type::"G/L Account":
IF GLAcc.GET(ReqLine."No.") THEN Description := GLAcc.Name ELSE Description := ''; END; END; IF ReqLine."Vendor No." = '' THEN BuyFromVendorName := '' ... -
Opmerking Codeunit (333) heeft een andere code in de wereldwijde versie en Noord-Amerikaanse versie. Gebruik de juiste sectie voor uw installatie.
Wijzig de code in voor de Noord-Amerikaanse versie beginnen codeunit (333), de Ink.-voorstel-Orders maken als volgt:-
Voeg de volgende globale variabele:
-
Naam: DropShptSpecialOrderExists;
-
Gegevenstype: Boolean;
-
-
De volgende lokale variabelen toevoegen in de functie InsertPurchOrderLine:
-
Naam: SalesHeader; Gegevenstype: Record (36);
-
Naam: DropShptSplOrderDiffAddress; Gegevenstype: Boolean;
-
Naam: CreateNewRecord; Gegevenstype: Boolean;
-
-
Wijzig als volgt de code in de functie InsertPurchOrderLine:
Bestaande code...// Delete the following lines.
WITH ReqLine2 DO BEGIN IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN EXIT; IF NOT PurchasingCode.GET("Purchasing Code") THEN PurchasingCode."Special Order" := FALSE; IF (PurchasingCode."Special Order" AND (PurchSetup."Combine Special Orders Default" = PurchSetup."Combine Special Orders Default"::"Always Combine") AND ((PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR (PurchOrderHeader."Location Code" <> "Location Code") OR (PurchOrderHeader."Currency Code" <>"Currency Code") OR (PrevPurchCode <>"Purchasing Code"))) OR (NOT PurchasingCode."Special Order" AND ((PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR (PurchOrderHeader."Location Code" <>"Location Code") OR (PurchOrderHeader."Sell-to Customer No." <>"Sell-to Customer No.") OR (PrevShipToCode <>"Ship-to Code") OR (PurchOrderHeader."Order Address Code" <> "Order Address Code") OR (PurchOrderHeader."Currency Code" <> "Currency Code") OR (PrevPurchCode <>"Purchasing Code"))) THEN BEGIN InsertHeader(ReqLine2); LineCount := 0; NextLineNo := 0; PrevPurchCode := "Purchasing Code"; PrevShipToCode := "Ship-to Code"; END; IF (PurchasingCode."Special Order") AND (PurchSetup."Combine Special Orders Default" = PurchSetup."Combine Special Orders Default"::"Never Combine") AND ((PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR (PurchOrderHeader."Location Code" <> "Location Code") OR (PurchOrderHeader."Currency Code" <>"Currency Code") OR (PrevPurchCode <> "Purchasing Code")) THEN BEGIN InsertHeader(ReqLine2); END; // End of the deleted lines. LineCount := LineCount + 1; IF NOT PlanningResiliency THEN Window.UPDATE(4,LineCount); ...Nieuwe code
...// Add the following lines.
WITH ReqLine2 DO BEGIN IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN EXIT; DropShptSpecialOrderExists := FALSE; IF SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.") THEN BEGIN DropShptSpecialOrderExists := PurchOrderHeader.DropShptSplOrderExists(SalesHeader); IF DropShptSpecialOrderExists THEN DropShptSplOrderDiffAddress := NOT PurchOrderHeader.CheckAndAddShipToAdd(SalesHeader,FALSE); END; IF NOT PurchasingCode.GET("Purchasing Code") THEN PurchasingCode."Special Order" := FALSE; CreateNewRecord := (PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR (PurchOrderHeader."Location Code" <> "Location Code") OR (PurchOrderHeader."Currency Code" <> "Currency Code") OR (PrevPurchCode <>"Purchasing Code") OR DropShptSplOrderDiffAddress; IF PurchasingCode."Special Order" AND CreateNewRecord THEN BEGIN InsertHeader(ReqLine2); IF PurchSetup."Combine Special Orders Default" = PurchSetup."Combine Special Orders Default"::"Always Combine" THEN BEGIN LineCount := 0; NextLineNo := 0; PrevPurchCode := "Purchasing Code"; PrevShipToCode := "Ship-to Code"; END; END; IF NOT PurchasingCode."Special Order" AND (CreateNewRecord OR (PurchOrderHeader."Sell-to Customer No." <>"Sell-to Customer No.") OR (PrevShipToCode <>"Ship-to Code") OR (PurchOrderHeader."Order Address Code" <>"Order Address Code")) THEN BEGIN InsertHeader(ReqLine2); LineCount := 0; NextLineNo := 0; PrevPurchCode := "Purchasing Code"; PrevShipToCode := "Ship-to Code"; END; // End of the added lines. LineCount := LineCount + 1; IF NOT PlanningResiliency THEN Window.UPDATE(4,LineCount); ... -
Wijzig als volgt de code in de functie InsertHeader :
Voeg de volgende lokale variabele toe:-
Naam: SalesHeader;
-
Gegevenstype: Record (36);
Bestaande code
... WITH ReqLine2 DO BEGIN
OrderCounter := OrderCounter + 1; IF NOT PlanningResiliency THEN Window.UPDATE(3,OrderCounter); PurchSetup.GET; PurchSetup.TESTFIELD("Order Nos."); // Delete the following line. CLEAR(PurchOrderHeader); // End of the deleted line. PurchOrderHeader.INIT; PurchOrderHeader."Document Type" := PurchOrderHeader."Document Type"::Order; PurchOrderHeader."No." := ''; ... PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code"); END ELSE BEGIN PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code"); PurchOrderHeader.SetShipToForSpecOrder; END; PurchOrderHeader.MODIFY; COMMIT; IF RECORDLEVELLOCKING THEN LOCKTABLE; PurchOrderHeader.MARK(TRUE); END; ...Nieuwe code
...WITH ReqLine2 DO BEGIN
OrderCounter := OrderCounter + 1; IF NOT PlanningResiliency THEN Window.UPDATE(3,OrderCounter); PurchSetup.GET; PurchSetup.TESTFIELD("Order Nos."); PurchOrderHeader.INIT; PurchOrderHeader."Document Type" := PurchOrderHeader."Document Type"::Order; PurchOrderHeader."No." := ''; ... PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code"); END ELSE BEGIN PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code"); PurchOrderHeader.SetShipToForSpecOrder; END; // Add the following lines. IF DropShptSpecialOrderExists THEN BEGIN SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No."); PurchOrderHeader."Ship-to Name" := SalesHeader."Ship-to Name"; PurchOrderHeader."Ship-to Name 2" := SalesHeader."Ship-to Name 2"; PurchOrderHeader."Ship-to Address" := SalesHeader."Ship-to Address"; PurchOrderHeader."Ship-to Address 2" := SalesHeader."Ship-to Address 2"; PurchOrderHeader."Ship-to Post Code" := SalesHeader."Ship-to Post Code"; PurchOrderHeader."Ship-to City" := SalesHeader."Ship-to City"; PurchOrderHeader."Ship-to Contact" := SalesHeader."Ship-to Contact"; END; // End of the added lines. PurchOrderHeader.MODIFY; COMMIT; IF RECORDLEVELLOCKING THEN LOCKTABLE; PurchOrderHeader.MARK(TRUE); END; ... -
Wijzig de code in voor de W1-versie beginnen codeunit (333), de Ink.-voorstel-Order maken als volgt:
-
Voeg de volgende globale variabele:
-
Naam: DropShptSpecialOrderExists;
-
Gegevenstype: Boolean;
-
-
De volgende lokale variabelen toevoegen in de functie InsertPurchOrderLine:
-
Naam: SalesHeader; Gegevenstype: Record (36);
-
Naam: DropShptSplOrderDiffAddress; Gegevenstype: Boolean;
-
-
Wijzig als volgt de code in de functie InsertPurchOrderLine:
Bestaande code... WITH ReqLine2 DO BEGIN
IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN EXIT; IF (PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR (PurchOrderHeader."Sell-to Customer No."<> "Sell-to Customer No.") OR (PrevShipToCode <> "Ship-to Code") OR (PurchOrderHeader."Order Address Code" <>"Order Address Code") OR (PurchOrderHeader."Currency Code" <>"Currency Code") OR // Delete the following line. (PrevPurchCode <>"Purchasing Code") // End of the deleted line. THEN BEGIN InsertHeader(ReqLine2); LineCount := 0; NextLineNo := 0; PrevPurchCode := "Purchasing Code"; PrevShipToCode := "Ship-to Code"; END; ...Nieuwe code
... WITH ReqLine2 DO BEGIN
IF ("No." = '') OR ("Vendor No." = '') OR (Quantity = 0) THEN EXIT; // Add the following lines. DropShptSpecialOrderExists := FALSE; IF SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.") THEN BEGIN DropShptSpecialOrderExists := PurchOrderHeader.DropShptSplOrderExists(SalesHeader); IF DropShptSpecialOrderExists THEN DropShptSplOrderDiffAddress := NOT PurchOrderHeader.CheckAndAddShipToAdd(SalesHeader,FALSE); END; // End of the added lines. IF (PurchOrderHeader."Buy-from Vendor No." <>"Vendor No.") OR (PurchOrderHeader."Sell-to Customer No."<> "Sell-to Customer No.") OR (PrevShipToCode <> "Ship-to Code") OR (PurchOrderHeader."Order Address Code" <>"Order Address Code") OR (PurchOrderHeader."Currency Code" <>"Currency Code") OR // Add the following lines. (PrevPurchCode <> "Purchasing Code") OR (DropShptSplOrderDiffAddress) // End of the added lines. THEN BEGIN InsertHeader(ReqLine2); LineCount := 0; NextLineNo := 0; PrevPurchCode := "Purchasing Code"; PrevShipToCode := "Ship-to Code"; END; ... -
Wijzig als volgt de code in de functie InsertHeader :
Voeg de volgende lokale variabele toe:-
Naam: SalesHeader;
-
Gegevenstype: Record (36);
Bestaande code
... END ELSE BEGIN
PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code"); PurchOrderHeader.SetShipToForSpecOrder; END; PurchOrderHeader.MODIFY; COMMIT; IF RECORDLEVELLOCKING THEN LOCKTABLE; PurchOrderHeader.MARK(TRUE); END; ...Nieuwe code
... END ELSE BEGIN
PurchOrderHeader.VALIDATE("Location Code",ReqLine2."Location Code"); PurchOrderHeader.SetShipToForSpecOrder; END; // Add the following lines. IF DropShptSpecialOrderExists THEN BEGIN IF SalesHeader.GET(SalesHeader."Document Type"::Order,"Sales Order No.") THEN BEGIN PurchOrderHeader."Ship-to Name" := SalesHeader."Ship-to Name"; PurchOrderHeader."Ship-to Name 2" := SalesHeader."Ship-to Name 2"; PurchOrderHeader."Ship-to Address" := SalesHeader."Ship-to Address"; PurchOrderHeader."Ship-to Address 2" := SalesHeader."Ship-to Address 2"; PurchOrderHeader."Ship-to Post Code" := SalesHeader."Ship-to Post Code"; PurchOrderHeader."Ship-to City" := SalesHeader."Ship-to City"; PurchOrderHeader."Ship-to Contact" := SalesHeader."Ship-to Contact"; END; // End of the added lines. PurchOrderHeader.MODIFY; COMMIT; IF RECORDLEVELLOCKING THEN LOCKTABLE; PurchOrderHeader.MARK(TRUE); END; ... -
-
-
De code in de functie EnterPurchaseItemCrossRef in de codeunit met De integratie van de replicatie (5702) als volgt wijzigen:
Bestaande code... IF Found THEN BEGIN
"Cross-Reference No." := ItemCrossReference."Cross-Reference No."; "Unit of Measure (Cross Ref.)" := ItemCrossReference."Unit of Measure"; "Cross-Reference Type" := ItemCrossReference."Cross-Reference Type"; // Delete the following lines. IF ItemCrossReference.Description <>'' THEN BEGIN Description := ItemCrossReference.Description; "Description 2" := ''; END; END ELSE BEGIN "Cross-Reference No." := ''; "Cross-Reference Type" := "Cross-Reference Type"::" "; "Cross-Reference Type No." := ''; IF "Variant Code" <>'' THEN BEGIN ItemVariant.GET("No.","Variant Code"); Description := ItemVariant.Description; "Description 2" := ItemVariant."Description 2"; END ELSE BEGIN Item.GET("No."); Description := Item.Description; "Description 2" := Item."Description 2"; END; // End of the deleted lines. GetItemTranslation; END; END; ...Nieuwe code
... IF Found THEN BEGIN
"Cross-Reference No." := ItemCrossReference."Cross-Reference No."; "Unit of Measure (Cross Ref.)" := ItemCrossReference."Unit of Measure"; "Cross-Reference Type" := ItemCrossReference."Cross-Reference Type"; // Add the following lines. "Cross-Reference Type No." := ItemCrossReference."Cross-Reference Type No."; END ELSE BEGIN "Cross-Reference No." := ''; "Cross-Reference Type" := "Cross-Reference Type"::" "; "Cross-Reference Type No." := ''; // End of the added lines. GetItemTranslation; END; END; ... -
De code in de functie GetSpecialOrders in de codeunit met De integratie van de replicatie (5702) als volgt wijzigen:
Bestaande code... IF RECORDLEVELLOCKING THEN
LOCKTABLE; SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order); TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No."); TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code"); // Delete the following line. PurchHeader.SetShipToForSpecOrder; // End of the deleted line. PurchLine.LOCKTABLE; IF NOT RECORDLEVELLOCKING THEN LOCKTABLE(TRUE,TRUE); // Only version check SalesLine.LOCKTABLE; ...Nieuwe code
... IF RECORDLEVELLOCKING THEN
LOCKTABLE; SalesHeader.TESTFIELD("Document Type",SalesHeader."Document Type"::Order); TESTFIELD("Sell-to Customer No.",SalesHeader."Sell-to Customer No."); TESTFIELD("Ship-to Code",SalesHeader."Ship-to Code"); // Add the following lines. IF DropShptSplOrderExists(SalesHeader) THEN CheckAndAddShipToAdd(SalesHeader,TRUE); // End of the added lines. PurchLine.LOCKTABLE; IF NOT RECORDLEVELLOCKING THEN LOCKTABLE(TRUE,TRUE); // Only version check SalesLine.LOCKTABLE; ... -
De code in de functie TransfldsFromSalesToPurchLine in de codeunit Kopie Document CRM (6620) als volgt wijzigen:
Bestaande code... "Expected Receipt Date" := FromSalesLine."Shipment Date";
"Bin Code" := FromSalesLine."Bin Code"; VALIDATE(Quantity,FromSalesLine."Outstanding Quantity"); VALIDATE("Return Reason Code",FromSalesLine."Return Reason Code"); VALIDATE("Direct Unit Cost"); END; ...Nieuwe code
... "Expected Receipt Date" := FromSalesLine."Shipment Date";
"Bin Code" := FromSalesLine."Bin Code"; VALIDATE(Quantity,FromSalesLine."Outstanding Quantity"); VALIDATE("Return Reason Code",FromSalesLine."Return Reason Code"); VALIDATE("Direct Unit Cost"); // Add the following lines. Description := FromSalesLine.Description; "Description 2" := FromSalesLine."Description 2"; // End of the added lines. END; ...
Vereisten
Hebt u een van de volgende producten geïnstalleerd om deze hotfix:
-
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: 238210
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.