Rabatt på varegebyret som er tilordnet til følgesedler ikke distribueres i henhold til valgte valget til respektive verdiposter i Microsoft Dynamics NAV 2009. Følg trinnene i delen kodeendringer for å løse dette problemet. Dette problemet oppstår i følgende produkter:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
Oppløsning
Informasjon om hurtigreparasjon
En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid bare ment å løse problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på neste oppdateringspakke for Microsoft Dynamics NAV 2009 eller den neste versjonen av Microsoft Dynamics NAV som inneholder denne hurtigreparasjonen.
Obs! I spesielle tilfeller avgifter som vanligvis påløper for støtte samtaler kan avbrytes hvis en kundestøttemedarbeider for Microsoft Dynamics og beslektede produkter avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.Installasjonsinformasjon
Microsoft bruker ment som eksempler, uten garanti, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle stilltiende garantier om salgbarhet eller anvendelighet for særskilte formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre. De endrer imidlertid ikke disse eksemplene for å lage forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke behov.
Obs! Før du installerer denne hurtigreparasjonen, må du kontrollere at alle brukerne i Microsoft Dynamics NAV-klienten er logget av systemet. Dette inkluderer tjenester for Microsoft Dynamics NAV Application Server (NAS). Du skal bare klient-brukeren som er logget på når du implementerer denne hurtigreparasjonen. Hvis du vil implementere denne hurtigreparasjonen, må du ha en utviklerlisens. Vi anbefaler at kontoen i vinduet Windows-pålogging eller i vinduet Database-pålogging være tildelt "SUPER" rolle-ID. Hvis brukerkontoen ikke kan tilordnes "SUPER" rolle-IDen, må du kontrollere at brukerkontoen har følgende tillatelser:-
Endre-tillatelse for objektet du vil endre.
-
Tilgangsnivået for systemet objekt-IDen til 5210 objektet og systemet objekt-ID-9015
-objektet.
Obs! Du har ikke tilgangsrettigheter til datalagre med mindre du har til å utføre data reparasjon.
Kodeendringer
Obs! Alltid løser teste koden i et kontrollert miljø før du installerer hurtigreparasjoner til produksjonsdatamaskiner for.
Hvis du vil løse dette problemet, gjør du følgende:-
Endre koden i egenskapene i mva-Post kodeenheten (80) som følger:
Eksisterende kode 1...PostJobContractLine(JobTaskSalesLine,TempJnlLineDim2);
END; SalesLine.Type::"Charge (Item)": IF Invoice OR ItemChargeAssgntOnly THEN BEGIN // Delete the following line. ItemJnlRollRndg := FALSE; // End of the deleted line. ClearItemChargeAssgntFilter; TempItemChargeAssgntSales.SETCURRENTKEY("Applies-to Doc. Type"); TempItemChargeAssgntSales.SETRANGE("Document Line No.",SalesLine."Line No."); IF TempItemChargeAssgntSales.FINDSET THEN ...Ny kode 1
...PostJobContractLine(JobTaskSalesLine,TempJnlLineDim2);
END; SalesLine.Type::"Charge (Item)": IF Invoice OR ItemChargeAssgntOnly THEN BEGIN // Add the following line. ItemJnlRollRndg := TRUE; // End of the added line. ClearItemChargeAssgntFilter; TempItemChargeAssgntSales.SETCURRENTKEY("Applies-to Doc. Type"); TempItemChargeAssgntSales.SETRANGE("Document Line No.",SalesLine."Line No."); IF TempItemChargeAssgntSales.FINDSET THEN ...Eksisterende kode 2
...GenJnlLineDocNo := TempItemChargeAssgntSales."Applies-to Doc. No.";
CASE TempItemChargeAssgntSales."Applies-to Doc. Type" OF TempItemChargeAssgntSales."Applies-to Doc. Type"::Shipment: BEGIN // Delete the following line. PostItemChargePerShpt(SalesLine); TempItemChargeAssgntSales.MARK(TRUE); END; TempItemChargeAssgntSales."Applies-to Doc. Type"::"Return Receipt": BEGIN ...Ny kode 2
...GenJnlLineDocNo := TempItemChargeAssgntSales."Applies-to Doc. No.";
CASE TempItemChargeAssgntSales."Applies-to Doc. Type" OF TempItemChargeAssgntSales."Applies-to Doc. Type"::Shipment: BEGIN // Add the following lines. PostItemChargePerShpt(SalesLine,SalesLine."Inv. Discount Amount", SalesLine.Quantity,SalesLine."Line Discount Amount",SalesLine."Line Amount"); // End of the added lines. TempItemChargeAssgntSales.MARK(TRUE); END; TempItemChargeAssgntSales."Applies-to Doc. Type"::"Return Receipt": BEGIN ...Eksisterende kode 3
...TempItemChargeAssgntSales.MARK(TRUE);
END; TempItemChargeAssgntSales."Applies-to Doc. Type"::"Return Receipt": BEGIN // Delete the following line. PostItemChargePerRetRcpt(SalesLine); TempItemChargeAssgntSales.MARK(TRUE); END; TempItemChargeAssgntSales."Applies-to Doc. Type"::Order, TempItemChargeAssgntSales."Applies-to Doc. Type"::Invoice: ...Ny kode 3
...TempItemChargeAssgntSales.MARK(TRUE);
END; TempItemChargeAssgntSales."Applies-to Doc. Type"::"Return Receipt": BEGIN // Add the following lines. PostItemChargePerRetRcpt(SalesLine,SalesLine."Inv. Discount Amount", SalesLine.Quantity,SalesLine."Line Discount Amount",SalesLine."Line Amount"); // End of the added lines. TempItemChargeAssgntSales.MARK(TRUE); END; TempItemChargeAssgntSales."Applies-to Doc. Type"::Order, TempItemChargeAssgntSales."Applies-to Doc. Type"::Invoice: ... -
Endre koden i PostItemChargePerShpt -funksjonen i mva-Post kodeenheten (80) som følger:
Eksisterende kode 1...END;
END; END; // Delete the following line. LOCAL PROCEDURE PostItemChargePerShpt@5807(SalesLine@1000 : Record 37); VAR SalesShptLine@1003 : Record 111; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ...Ny kode 1
...END;
END; END; // Add the following line. LOCAL PROCEDURE PostItemChargePerShpt@5807(SalesLine@1000 : Record 37;VAR TotalInvDiscAmtRemaining@1012 : Decimal;VAR TotalQtyRemaining@1013 : Decimal;VAR TotalLineDiscAmtRemaining@1014 : Decimal;VAR TotalLineAmtRemaining@1015 : Decimal); VAR SalesShptLine@1003 : Record 111; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ...Eksisterende kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Delete the following line. AmountToAssign,QtyToAssign); NonDistrQuantity := NonDistrQuantity - ABS(TempItemLedgEntry.Quantity); NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Add the following lines. AmountToAssign,QtyToAssign,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - ABS(TempItemLedgEntry.Quantity); NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Delete the following line. NonDistrAmountToAssign,NonDistrQtyToAssign); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE PostItemCharge(SalesLine, SalesShptLine."Item Shpt. Entry No.",SalesShptLine."Quantity (Base)", ...Ny kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Add the following lines. NonDistrAmountToAssign,NonDistrQtyToAssign,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE PostItemCharge(SalesLine, SalesShptLine."Item Shpt. Entry No.",SalesShptLine."Quantity (Base)", ...Eksisterende kode 4
...END ELSE
PostItemCharge(SalesLine, SalesShptLine."Item Shpt. Entry No.",SalesShptLine."Quantity (Base)", TempItemChargeAssgntSales."Amount to Assign", // Delete the following lines. TempItemChargeAssgntSales."Qty. to Assign"); END; LOCAL PROCEDURE PostItemChargePerRetRcpt@5810(SalesLine@1000 : Record 37); // End of the deleted lines. VAR ReturnRcptLine@1002 : Record 6661; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ...Ny kode 4
...END ELSE
PostItemCharge(SalesLine, SalesShptLine."Item Shpt. Entry No.",SalesShptLine."Quantity (Base)", TempItemChargeAssgntSales."Amount to Assign", // Add the following lines. TempItemChargeAssgntSales."Qty. to Assign",TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); END; LOCAL PROCEDURE PostItemChargePerRetRcpt@5810(SalesLine@1000 : Record 37;VAR TotalInvDiscAmtRemaining@1012 : Decimal;VAR TotalQtyRemaining@1013 : Decimal;VAR TotalLineDiscAmtRemaining@1014 : Decimal;VAR TotalLineAmtRemaining@1015 : Decimal); // End of the added lines. VAR ReturnRcptLine@1002 : Record 6661; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ... -
Endre koden i PostItemChargePerRetRcpt -funksjonen i mva-Post kodeenheten (80) som følger:
Eksisterende kode 1...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Delete the following line. AmountToAssign,QtyToAssign); NonDistrQuantity := NonDistrQuantity - ABS(TempItemLedgEntry.Quantity); NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 1
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Add the following lines. AmountToAssign,QtyToAssign,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - ABS(TempItemLedgEntry.Quantity); NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 2
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Delete the following line. NonDistrAmountToAssign,NonDistrQtyToAssign); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE PostItemCharge(SalesLine, ReturnRcptLine."Item Rcpt. Entry No.",ReturnRcptLine."Quantity (Base)", ...Ny kode 2
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(SalesLine, TempItemLedgEntry."Entry No.",ABS(TempItemLedgEntry.Quantity), // Add the following lines. NonDistrAmountToAssign,NonDistrQtyToAssign,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE PostItemCharge(SalesLine, ReturnRcptLine."Item Rcpt. Entry No.",ReturnRcptLine."Quantity (Base)", ...Eksisterende kode 3
...END ELSE
PostItemCharge(SalesLine, ReturnRcptLine."Item Rcpt. Entry No.",ReturnRcptLine."Quantity (Base)", TempItemChargeAssgntSales."Amount to Assign", // Delete the following line. TempItemChargeAssgntSales."Qty. to Assign") END; LOCAL PROCEDURE PostAssocItemJnlLine@3(QtyToBeShipped@1000 : Decimal;QtyToBeShippedBase@1001 : Decimal) : Integer; VAR ...Ny kode 3
...END ELSE
PostItemCharge(SalesLine, ReturnRcptLine."Item Rcpt. Entry No.",ReturnRcptLine."Quantity (Base)", TempItemChargeAssgntSales."Amount to Assign", // Add the following lines. TempItemChargeAssgntSales."Qty. to Assign",TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining) // End of the added lines. END; LOCAL PROCEDURE PostAssocItemJnlLine@3(QtyToBeShipped@1000 : Decimal;QtyToBeShippedBase@1001 : Decimal) : Integer; VAR ... -
Endre koden i PostItemCharge -funksjonen i mva-Post kodeenheten (80) som følger:
Eksisterende kode 1...TempValueEntryRelation.DELETEALL;
END; END; // Delete the following line. PROCEDURE PostItemCharge@42(SalesLine@1005 : Record 37;ItemEntryNo@1004 : Integer;QuantityBase@1003 : Decimal;AmountToAssign@1002 : Decimal;QtyToAssign@1001 : Decimal); VAR DummyTrackingSpecification@1000 : Record 336; BEGIN WITH TempItemChargeAssgntSales DO BEGIN ...Ny kode 1
...TempValueEntryRelation.DELETEALL;
END; END; // Add the following line. PROCEDURE PostItemCharge@42(SalesLine@1005 : Record 37;ItemEntryNo@1004 : Integer;QuantityBase@1003 : Decimal;AmountToAssign@1002 : Decimal;QtyToAssign@1001 : Decimal;VAR TotalInvDiscAmtRemaining@1006 : Decimal;VAR TotalQtyRemaining@1007 : Decimal;VAR TotalLineDiscAmtRemaining@1008 : Decimal;VAR TotalLineAmtRemaining@1009 : Decimal); VAR DummyTrackingSpecification@1000 : Record 336; BEGIN WITH TempItemChargeAssgntSales DO BEGIN ...Eksisterende kode 2
...SalesLine.Amount :=
CurrExchRate.ExchangeAmtFCYToLCY( UseDate,SalesHeader."Currency Code",TotalChargeAmt,SalesHeader."Currency Factor"); SalesLine."Inv. Discount Amount" := ROUND( // Delete the following lines. SalesLine."Inv. Discount Amount" / SalesLine.Quantity * QtyToAssign, GLSetup."Amount Rounding Precision"); // End of the deleted lines. SalesLine.Amount := ROUND(SalesLine.Amount,GLSetup."Amount Rounding Precision") - TotalChargeAmtLCY; IF SalesHeader."Currency Code" <> '' THEN TotalChargeAmtLCY := TotalChargeAmtLCY + SalesLine.Amount; SalesLine."Unit Cost (LCY)" := ROUND( ...Ny kode 2
...SalesLine.Amount :=
CurrExchRate.ExchangeAmtFCYToLCY( UseDate,SalesHeader."Currency Code",TotalChargeAmt,SalesHeader."Currency Factor"); SalesLine."Inv. Discount Amount" := ROUND( // Add the following lines. TotalInvDiscAmtRemaining / TotalQtyRemaining * QtyToAssign, GLSetup."Amount Rounding Precision"); SalesLine."Line Discount Amount" := ROUND( TotalLineDiscAmtRemaining / TotalQtyRemaining * QtyToAssign, GLSetup."Amount Rounding Precision"); SalesLine."Line Amount" := ROUND( TotalLineAmtRemaining / TotalQtyRemaining * QtyToAssign, GLSetup."Amount Rounding Precision"); TotalInvDiscAmtRemaining := TotalInvDiscAmtRemaining - SalesLine."Inv. Discount Amount"; TotalLineDiscAmtRemaining := TotalLineDiscAmtRemaining - SalesLine."Line Discount Amount"; TotalLineAmtRemaining := TotalLineAmtRemaining - SalesLine."Line Amount"; TotalQtyRemaining := TotalQtyRemaining - QtyToAssign; // End of the added lines. SalesLine.Amount := ROUND(SalesLine.Amount,GLSetup."Amount Rounding Precision") - TotalChargeAmtLCY; IF SalesHeader."Currency Code" <> '' THEN TotalChargeAmtLCY := TotalChargeAmtLCY + SalesLine.Amount; SalesLine."Unit Cost (LCY)" := ROUND( ... -
Endre koden i egenskapene i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...3:
ERROR(Text015); PurchLine.Type::"Charge (Item)": IF Invoice OR ItemChargeAssgntOnly THEN BEGIN // Delete the following line. ItemJnlRollRndg := FALSE; ClearItemChargeAssgntFilter; TempItemChargeAssgntPurch.SETCURRENTKEY("Applies-to Doc. Type"); TempItemChargeAssgntPurch.SETRANGE("Document Line No.",PurchLine."Line No."); IF TempItemChargeAssgntPurch.FINDSET THEN ...Ny kode 1
...3:
ERROR(Text015); PurchLine.Type::"Charge (Item)": IF Invoice OR ItemChargeAssgntOnly THEN BEGIN // Add the following line. ItemJnlRollRndg := TRUE; ClearItemChargeAssgntFilter; TempItemChargeAssgntPurch.SETCURRENTKEY("Applies-to Doc. Type"); TempItemChargeAssgntPurch.SETRANGE("Document Line No.",PurchLine."Line No."); IF TempItemChargeAssgntPurch.FINDSET THEN ...Eksisterende kode 2
...GenJnlLineDocNo := TempItemChargeAssgntPurch."Applies-to Doc. No.";
CASE TempItemChargeAssgntPurch."Applies-to Doc. Type" OF TempItemChargeAssgntPurch."Applies-to Doc. Type"::Receipt: BEGIN // Delete the following line. PostItemChargePerRcpt(PurchLine); TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Transfer Receipt": BEGIN ...Ny kode 2
...GenJnlLineDocNo := TempItemChargeAssgntPurch."Applies-to Doc. No.";
CASE TempItemChargeAssgntPurch."Applies-to Doc. Type" OF TempItemChargeAssgntPurch."Applies-to Doc. Type"::Receipt: BEGIN // Add the following lines. PostItemChargePerRcpt(PurchLine,PurchLine."Inv. Discount Amount", PurchLine.Quantity,PurchLine."Line Discount Amount",PurchLine."Line Amount"); // End of the added lines. TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Transfer Receipt": BEGIN ...Eksisterende kode 3
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Transfer Receipt": BEGIN // Delete the following line. PostItemChargePerTransfer(PurchLine); TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Shipment": BEGIN ...Ny kode 3
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Transfer Receipt": BEGIN // Add the following lines. PostItemChargePerTransfer(PurchLine,PurchLine."Inv. Discount Amount", PurchLine.Quantity,PurchLine."Line Discount Amount",PurchLine."Line Amount"); // End of the added lines. TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Shipment": BEGIN ...Eksisterende kode 4
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Shipment": BEGIN // Delete the following line. PostItemChargePerRetShpt(PurchLine); TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Sales Shipment": BEGIN ...Ny kode 4
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Shipment": BEGIN // Add the following lines. PostItemChargePerRetShpt(PurchLine,PurchLine."Inv. Discount Amount", PurchLine.Quantity,PurchLine."Line Discount Amount",PurchLine."Line Amount"); // End of the added lines. TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Sales Shipment": BEGIN ...Eksisterende kode 5
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Sales Shipment": BEGIN // Delete the following line. PostItemChargePerSalesShpt(PurchLine); TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Receipt": BEGIN ...Ny kode 5
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Sales Shipment": BEGIN // Add the following lines. PostItemChargePerSalesShpt(PurchLine,PurchLine."Inv. Discount Amount", PurchLine.Quantity,PurchLine."Line Discount Amount",PurchLine."Line Amount"); // End of the added lines. TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Receipt": BEGIN ...Eksisterende kode 6
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Receipt": BEGIN // Delete the following line. PostItemChargePerRetRcpt(PurchLine); TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::Order, TempItemChargeAssgntPurch."Applies-to Doc. Type"::Invoice: ...Ny kode 6
...TempItemChargeAssgntPurch.MARK(TRUE);
END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::"Return Receipt": BEGIN // Add the following lines. PostItemChargePerRetRcpt(PurchLine,PurchLine."Inv. Discount Amount", PurchLine.Quantity,PurchLine."Line Discount Amount",PurchLine."Line Amount"); // End of the added lines. TempItemChargeAssgntPurch.MARK(TRUE); END; TempItemChargeAssgntPurch."Applies-to Doc. Type"::Order, TempItemChargeAssgntPurch."Applies-to Doc. Type"::Invoice: ... -
Endre koden i funksjonen PostItemChargePerRcpt i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...END;
END; END; // Delete the following line. LOCAL PROCEDURE PostItemChargePerRcpt@5807(PurchLine@1000 : Record 39); VAR PurchRcptLine@1002 : Record 121; TempItemLedgEntry@1003 : TEMPORARY Record 32; ItemTrackingMgt@1005 : Codeunit 6500; ...Ny kode 1
...END;
END; END; // Add the following line. LOCAL PROCEDURE PostItemChargePerRcpt@5807(PurchLine@1000 : Record 39;VAR TotalInvDiscAmtRemaining@1012 : Decimal;VAR TotalQtyRemaining@1013 : Decimal;VAR TotalLineDiscAmtRemaining@1014 : Decimal;VAR TotalLineAmtRemaining@1015 : Decimal); VAR PurchRcptLine@1002 : Record 121; TempItemLedgEntry@1003 : TEMPORARY Record 32; ItemTrackingMgt@1005 : Codeunit 6500; ...Eksisterende kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. AmountToAssign * Sign,QtyToAssign,PurchRcptLine."Indirect Cost %"); NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. AmountToAssign * Sign,QtyToAssign,PurchRcptLine."Indirect Cost %", TotalInvDiscAmtRemaining,TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,PurchRcptLine."Indirect Cost %"); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Ny kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,PurchRcptLine."Indirect Cost %", TotalInvDiscAmtRemaining,TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Eksisterende kode 4
...PostItemCharge(PurchLine,
PurchRcptLine."Item Rcpt. Entry No.",PurchRcptLine."Quantity (Base)", TempItemChargeAssgntPurch."Amount to Assign" * Sign, TempItemChargeAssgntPurch."Qty. to Assign", // Delete the following lines. PurchRcptLine."Indirect Cost %"); END; LOCAL PROCEDURE PostItemChargePerRetShpt@5811(PurchLine@1000 : Record 39); // End of the deleted lines. VAR ReturnShptLine@1002 : Record 6651; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ...Ny kode 4
...PostItemCharge(PurchLine,
PurchRcptLine."Item Rcpt. Entry No.",PurchRcptLine."Quantity (Base)", TempItemChargeAssgntPurch."Amount to Assign" * Sign, TempItemChargeAssgntPurch."Qty. to Assign", // Add the following lines. PurchRcptLine."Indirect Cost %",TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); END; LOCAL PROCEDURE PostItemChargePerRetShpt@5811(PurchLine@1000 : Record 39;VAR TotalInvDiscAmtRemaining@1012 : Decimal;VAR TotalQtyRemaining@1013 : Decimal;VAR TotalLineDiscAmtRemaining@1014 : Decimal;VAR TotalLineAmtRemaining@1015 : Decimal); // End of the added lines. VAR ReturnShptLine@1002 : Record 6651; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ... -
Endre koden i funksjonen PostItemChargePerRetShpt i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. AmountToAssign * Sign,QtyToAssign,ReturnShptLine."Indirect Cost %"); NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 1
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. AmountToAssign * Sign,QtyToAssign,ReturnShptLine."Indirect Cost %",TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 2
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,ReturnShptLine."Indirect Cost %"); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Ny kode 2
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,ReturnShptLine."Indirect Cost %",TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Eksisterende kode 3
...PostItemCharge(PurchLine,
ReturnShptLine."Item Shpt. Entry No.",-ReturnShptLine."Quantity (Base)", ABS(TempItemChargeAssgntPurch."Amount to Assign") * Sign, TempItemChargeAssgntPurch."Qty. to Assign", // Delete the following lines. ReturnShptLine."Indirect Cost %"); END; LOCAL PROCEDURE PostItemChargePerTransfer@23(PurchLine@1000 : Record 39); // End of the deleted lines. VAR TransRcptLine@1002 : Record 5747; ItemApplnEntry@1003 : Record 339; DummyTrackingSpecification@1001 : Record 336; ...Ny kode 3
...PostItemCharge(PurchLine,
ReturnShptLine."Item Shpt. Entry No.",-ReturnShptLine."Quantity (Base)", ABS(TempItemChargeAssgntPurch."Amount to Assign") * Sign, TempItemChargeAssgntPurch."Qty. to Assign", // Add the following lines. ReturnShptLine."Indirect Cost %",TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); END; LOCAL PROCEDURE PostItemChargePerTransfer@23(PurchLine@1000 : Record 39;VAR TotalInvDiscAmtRemaining@1016 : Decimal;VAR TotalQtyRemaining@1017 : Decimal;VAR TotalLineDiscAmtRemaining@1018 : Decimal;VAR TotalLineAmtRemaining@1019 : Decimal); // End of the added lines. VAR TransRcptLine@1002 : Record 5747; ItemApplnEntry@1003 : Record 339; DummyTrackingSpecification@1001 : Record 336; ... -
Endre koden i funksjonen PostItemChargePerTransfer i thePurch.-bokfører kodeenhet (90) som følger
Eksisterende kode...PurchLine."Bin Code" := '';
PurchLine."Line No." := "Document Line No."; IF TransRcptLine."Item Rcpt. Entry No." = 0 THEN // Delete the following line. PostItemChargePerITTransfer(PurchLine,TransRcptLine) ELSE BEGIN TotalAmountToPostFCY := "Amount to Assign"; IF PurchHeader."Currency Code" <> '' THEN TotalAmountToPostLCY := ...Ny kode
...PurchLine."Bin Code" := '';
PurchLine."Line No." := "Document Line No."; IF TransRcptLine."Item Rcpt. Entry No." = 0 THEN // Add the following lines. PostItemChargePerITTransfer(PurchLine,TransRcptLine,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining) // End of the added lines. ELSE BEGIN TotalAmountToPostFCY := "Amount to Assign"; IF PurchHeader."Currency Code" <> '' THEN TotalAmountToPostLCY := ... -
Endre koden i funksjonen PostItemChargePerITTransfer i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...END;
END; END; // Delete the following line. LOCAL PROCEDURE PostItemChargePerITTransfer@43(PurchLine@1000 : Record 39;TransRcptLine@1017 : Record 5747); VAR TempItemLedgEntry@1016 : TEMPORARY Record 32; ItemTrackingMgt@1001 : Codeunit 6500; Factor@1023 : Decimal; ...Ny kode 1
...END;
END; END; // Add the following line. LOCAL PROCEDURE PostItemChargePerITTransfer@43(PurchLine@1000 : Record 39;TransRcptLine@1017 : Record 5747;VAR TotalInvDiscAmtRemaining@1026 : Decimal;VAR TotalQtyRemaining@1024 : Decimal;VAR TotalLineDiscAmtRemaining@1025 : Decimal;VAR TotalLineAmtRemaining@1030 : Decimal); VAR TempItemLedgEntry@1016 : TEMPORARY Record 32; ItemTrackingMgt@1001 : Codeunit 6500; Factor@1023 : Decimal; ...Eksisterende kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. AmountToAssign,QtyToAssign,0); NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. AmountToAssign,QtyToAssign,0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. NonDistrAmountToAssign,NonDistrQtyToAssign,0); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042); END; ...Ny kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. NonDistrAmountToAssign,NonDistrQtyToAssign,0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042); END; ... -
Endre koden i funksjonen PostItemChargePerSalesShpt i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...ERROR(Text042);
END; END; // Delete the following line. LOCAL PROCEDURE PostItemChargePerSalesShpt@41(PurchLine@1000 : Record 39); VAR SalesShptLine@1002 : Record 111; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ...Ny kode 1
...ERROR(Text042);
END; END; // Add the following line. LOCAL PROCEDURE PostItemChargePerSalesShpt@41(PurchLine@1000 : Record 39;VAR TotalInvDiscAmtRemaining@1012 : Decimal;VAR TotalQtyRemaining@1013 : Decimal;VAR TotalLineDiscAmtRemaining@1014 : Decimal;VAR TotalLineAmtRemaining@1015 : Decimal); VAR SalesShptLine@1002 : Record 111; TempItemLedgEntry@1010 : TEMPORARY Record 32; ItemTrackingMgt@1009 : Codeunit 6500; ...Eksisterende kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. AmountToAssign * Sign,QtyToAssign,0); NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 2
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. AmountToAssign * Sign,QtyToAssign,0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,0); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Ny kode 3
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Eksisterende kode 4
...ELSE
PostItemCharge(PurchLine, SalesShptLine."Item Shpt. Entry No.",-SalesShptLine."Quantity (Base)", TempItemChargeAssgntPurch."Amount to Assign" * Sign, // Delete the following lines. TempItemChargeAssgntPurch."Qty. to Assign",0) END; PROCEDURE PostItemChargePerRetRcpt@37(PurchLine@1001 : Record 39); // End of the deleted lines. VAR ReturnRcptLine@1000 : Record 6661; TempItemLedgEntry@1011 : TEMPORARY Record 32; ItemTrackingMgt@1010 : Codeunit 6500; ...Ny kode 4
...ELSE
PostItemCharge(PurchLine, SalesShptLine."Item Shpt. Entry No.",-SalesShptLine."Quantity (Base)", TempItemChargeAssgntPurch."Amount to Assign" * Sign, // Add the following lines. TempItemChargeAssgntPurch."Qty. to Assign",0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining) END; PROCEDURE PostItemChargePerRetRcpt@37(PurchLine@1001 : Record 39;VAR TotalInvDiscAmtRemaining@1012 : Decimal;VAR TotalQtyRemaining@1013 : Decimal;VAR TotalLineDiscAmtRemaining@1014 : Decimal;VAR TotalLineAmtRemaining@1015 : Decimal); // End of the added lines. VAR ReturnRcptLine@1000 : Record 6661; TempItemLedgEntry@1011 : TEMPORARY Record 32; ItemTrackingMgt@1010 : Codeunit 6500; ... -
Endre koden i funksjonen PostItemChargePerRetRcpt i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. AmountToAssign * Sign,QtyToAssign,0); NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Ny kode 1
...AmountToAssign := ROUND(NonDistrAmountToAssign * Factor,GLSetup."Amount Rounding Precision");
IF Factor < 1 THEN BEGIN PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. AmountToAssign * Sign,QtyToAssign,0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. NonDistrQuantity := NonDistrQuantity - TempItemLedgEntry.Quantity; NonDistrQtyToAssign := NonDistrQtyToAssign - QtyToAssign; NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign; END ELSE // the last time ...Eksisterende kode 2
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Delete the following line. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,0); UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Ny kode 2
...NonDistrAmountToAssign := NonDistrAmountToAssign - AmountToAssign;
END ELSE // the last time PostItemCharge(PurchLine, TempItemLedgEntry."Entry No.",TempItemLedgEntry.Quantity, // Add the following lines. NonDistrAmountToAssign * Sign,NonDistrQtyToAssign,0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining); // End of the added lines. UNTIL TempItemLedgEntry.NEXT = 0; END ELSE ERROR(Text042) ELSE ...Eksisterende kode 3
...ELSE
PostItemCharge(PurchLine, ReturnRcptLine."Item Rcpt. Entry No.",ReturnRcptLine."Quantity (Base)", TempItemChargeAssgntPurch."Amount to Assign" * Sign, // Delete the following line. TempItemChargeAssgntPurch."Qty. to Assign",0) END; LOCAL PROCEDURE PostAssocItemJnlLine@3(QtyToBeShipped@1000 : Decimal;QtyToBeShippedBase@1001 : Decimal) : Integer; VAR ...Ny kode 3
...ELSE
PostItemCharge(PurchLine, ReturnRcptLine."Item Rcpt. Entry No.",ReturnRcptLine."Quantity (Base)", TempItemChargeAssgntPurch."Amount to Assign" * Sign, // Add the following lines. TempItemChargeAssgntPurch."Qty. to Assign",0,TotalInvDiscAmtRemaining, TotalQtyRemaining,TotalLineDiscAmtRemaining,TotalLineAmtRemaining) // End of the added lines. END; LOCAL PROCEDURE PostAssocItemJnlLine@3(QtyToBeShipped@1000 : Decimal;QtyToBeShippedBase@1001 : Decimal) : Integer; VAR ... -
Endre koden i funksjonen PostItemCharge i thePurch.-bokfører kodeenhet (90) som følger:
Eksisterende kode 1...TempValueEntryRelation.DELETEALL;
END; END; // Delete the following line. LOCAL PROCEDURE PostItemCharge@42(PurchLine@1000 : Record 39;ItemEntryNo@1004 : Integer;QuantityBase@1005 : Decimal;AmountToAssign@1006 : Decimal;QtyToAssign@1007 : Decimal;IndirectCostPct@1008 : Decimal); VAR DummyTrackingSpecification@1001 : Record 336; BEGIN WITH TempItemChargeAssgntPurch DO BEGIN ...Ny kode 1
...TempValueEntryRelation.DELETEALL;
END; END; // Add the following line. LOCAL PROCEDURE PostItemCharge@42(PurchLine@1000 : Record 39;ItemEntryNo@1004 : Integer;QuantityBase@1005 : Decimal;AmountToAssign@1006 : Decimal;QtyToAssign@1007 : Decimal;IndirectCostPct@1008 : Decimal;VAR TotalInvDiscAmtRemaining@1009 : Decimal;VAR TotalQtyRemaining@1010 : Decimal;VAR TotalLineDiscAmtRemaining@1011 : Decimal;VAR TotalLineAmtRemaining@1012 : Decimal); VAR DummyTrackingSpecification@1001 : Record 336; BEGIN WITH TempItemChargeAssgntPurch DO BEGIN ...Eksisterende kode 2
...ROUND(
PurchLine.Amount / QuantityBase,GLSetup."Unit-Amount Rounding Precision"); PurchLine."Inv. Discount Amount" := ROUND( // Delete the following lines. PurchLine."Inv. Discount Amount" / PurchLine.Quantity * QtyToAssign, GLSetup."Amount Rounding Precision"); PurchLine."Line Discount Amount" := ROUND( PurchLine."Line Discount Amount" / PurchLine.Quantity * QtyToAssign, GLSetup."Amount Rounding Precision"); // End of the deleted lines. PostItemJnlLine( PurchLine, 0,0, QuantityBase,QuantityBase, ...Ny kode 2
...ROUND(
PurchLine.Amount / QuantityBase,GLSetup."Unit-Amount Rounding Precision"); PurchLine."Inv. Discount Amount" := ROUND( // Add the following lines. TotalInvDiscAmtRemaining / TotalQtyRemaining * QtyToAssign, GLSetup."Amount Rounding Precision"); PurchLine."Line Discount Amount" := ROUND( TotalLineDiscAmtRemaining / TotalQtyRemaining * QtyToAssign, GLSetup."Amount Rounding Precision"); PurchLine."Line Amount" := ROUND( TotalLineAmtRemaining / TotalQtyRemaining * QtyToAssign, GLSetup."Amount Rounding Precision"); TotalInvDiscAmtRemaining := TotalInvDiscAmtRemaining - PurchLine."Inv. Discount Amount"; TotalLineDiscAmtRemaining := TotalLineDiscAmtRemaining - PurchLine."Line Discount Amount"; TotalLineAmtRemaining := TotalLineAmtRemaining - PurchLine."Line Amount"; TotalQtyRemaining := TotalQtyRemaining - QtyToAssign; // End of the added lines. PostItemJnlLine( PurchLine, 0,0, QuantityBase,QuantityBase, ...
Forutsetninger
Du må ha én av de følgende programmene installert for å bruke denne hurtigreparasjonen:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 SP1
Informasjon om fjerning
Du kan ikke fjerne denne hurtigreparasjonen.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Obs! Dette er en "RASKT PUBLISERE" artikkel opprettet direkte fra innenfor organisasjonen Microsoft Kundestøtte. Informasjonen i dette dokumentet tilbys som-er som svar på nye problemer. Som et resultat av hastigheten i å gjøre den tilgjengelig materialene kan inkludere typografiske feil, og den kunne bli revidert når som helst uten varsel. Se Vilkårene for Brukfor andre hensyn.