Denne artikkelen gjelder for Microsoft Dynamics NAV for indiske (språk i).
Symptomer
Anta at du bokfører en delvis returforsendelse for en bestilling i den indiske versjonen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1). Når du bokfører kjøpskreditnotaen som er opprettet ved hjelp av funksjonen Hent returseddellinjer , vil du oppdage at det gjenværende antallet i posten RG 23 D er feil.
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, men de endrer 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 brukere av Microsoft Navision-klienten er logget av systemet. Dette inkluderer Microsoft Navision Application tjenester (NAS) client-brukere. 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 -objekt.
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:
-
Legg til følgende global variabel i Salgslinje-tabellen (37):
-
Navn: ExecuteExcise
-
DataType: boolsk
-
-
Legg til følgende variabel i funksjonen CalculateStructuresi tabellen Salgslinje(37):
-
Navn: DetailRG23D
-
DataType: Post. 16533
Endre koden som følger:... END;
UNTIL StrOrderDetails.NEXT = 0;
END;
SalesLine.MODIFY;
UNTIL SalesLine.NEXT = 0;
// Add the following l ines.
IF NOT ExecuteExcise THEN BEGIN
DetailRG23D.RESET;
DetailRG23D.SETRANGE("Document Type","Document Type");
DetailRG23D.SETRANGE("Order No.","No.");
DetailRG23D.SETRANGE("Document No.",'');
DetailRG23D.DELETEALL;
END;
// End of the added lines.
... -
-
Legg til følgende variabel i funksjonen CheckAvailableQtyForReturni tabellen Salgslinje(37):
-
Navn: RG23D2
-
DataType: Post. 16537
Endre koden som følger:... IF RG23D.FINDSET THEN
REPEAT
// Delete the following line.
QtyAllocated += ABS(RG23D.Quantity);
// End of the deleted line.
// Add the following lines.
RG23D2.GET(RG23D."Ref. Entry No.");
RG23D2.CALCFIELDS("Remaining Quantity");
QtyAllocated += ABS(RG23D2.Quantity - RG23D2."Remaining Quantity");
// End of the added lines.
UNTIL RG23D.NEXT = 0;
... -
-
Opprette funksjonen SetExecuteExcisei tabellen Salgslinje(37). Deretter legge til følgende Parameter:
-
Navn: ExecuteExcise2
-
DataType: boolsk
Legg til følgende kode:ExecuteExcise := ExecuteExcise2;
-
-
Legg til følgende global variabel i tabellen Bestillingslinje(39):
-
Navn: ExecuteExcise
-
DataType: boolsk
-
-
Legg til følgende variabel i funksjonen CalculateStructuresi tabellen Bestillingslinje(39):
-
Navn: DetailRG23D
-
DataType: Post. 16533
Endre koden som følger:... END;
UNTIL StrOrderDetails.NEXT = 0;
END;
PurchLine.MODIFY;
UNTIL PurchLine.NEXT = 0;
// Add the following lines.
IF NOT ExecuteExcise THEN BEGIN
DetailRG23D.RESET;
DetailRG23D.SETRANGE("Document Type","Document Type");
DetailRG23D.SETRANGE("Order No.","No.");
DetailRG23D.SETRANGE("Document No.",'');
DetailRG23D.DELETEALL;
END;
// End of the added lines.
END;
END;
END;
... -
-
Opprette funksjonen SetExecuteExcisei tabellen Bestillingslinje(39). Deretter legge til følgende Parameter:
-
Navn: ExecuteExcise2
-
DataType: boolsk
Legg til følgende kode:ExecuteExcise := ExecuteExcise2;
-
-
Endre koden i egenskapenei den Salg - Postkodeenhet (80) som følger:
... SalesLine.GetSalesPriceExclusiveTaxes(SalesHeader);
SalesLine.UpdateSalesLinesPIT(SalesHeader);
END;
IF Structure <> '' THEN BEGIN
// Add the following lines.
SalesLine.SetExecuteExcise(
("Document Type" IN ["Document Type"::"Credit Memo","Document Type"::Invoice]) OR
(("Document Type" IN ["Document Type"::"Return Order",
"Document Type"::Order]) AND
Invoice));
// End of the added lines.
SalesLine.CalculateStructures(SalesHeader);
SalesLine.AdjustStructureAmounts(SalesHeader);
SalesLine.UpdateSalesLines(SalesHeader);
CheckVATSettled(SalesHeader);
END;
... -
Endre koden i egenskapenei den innkjøp-Postkodeenhet (90) som følger:
... TESTFIELD("Document Date");
IF GenJnlCheckLine.DateNotAllowed("Posting Date") THEN
FIELDERROR("Posting Date",Text045);
IF Structure <> '' THEN BEGIN
// Add the following lines.
PurchLine.SetExecuteExcise(("Document Type" = "Document Type"::"Credit Memo") OR
(("Document Type" = "Document Type"::"Return Order") AND Invoice));
// End of the added lines.
PurchLine.CalculateStructures(PurchHeader);
COMMIT;
CheckVATSettled;
PurchLine.AdjustStructureAmounts(PurchHeader);
PurchLine.UpdatePurchLines(PurchHeader);
...
Forutsetninger
Du må ha den indiske versjonen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) installert for å bruke denne hurtigreparasjonen.
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".
Referanser
VSTF DynamicsNAV SE: 209399
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 Bruk for andre hensyn.