Ta članek velja za Microsoft Dynamics NAV za te države in jezikovne območne nastavitve.
- angleščina (Kanada) (en-ca)
- angleščina (Združene države) (sl)
- španščini (Mehika) (es-mx)
- francoščina (Kanada) (fr-ca)
Znaki
Predpostavimo, da ustvarite opravilo, ki uporablja metodo dokončane pogodbe v teku (WIP) v severnoameriški različici programa Microsoft Dynamics NAV 2009. Funkcijo »Objavi izgubo« zaženete v opravilu, ne da bi najprej zagnali funkcijo izračunane izgube v opravilu. V tem primeru je dvojnik vnosov NV, ki so knjiženi za prejšnje obdobje, knjižen nepravilno. Ko torej zaženete poročilo o bilanci stanja za prejšnje obdobje, se prikaže podvojeno stanje NV.
Ta težava se pojavi v teh izdelkih:
- Severnoameriška različica programa Microsoft Dynamics NAV 2009 R2
- Severnoameriška različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
Rešitev
Informacije o sprotnem popravku
Podprt sprotni popravek je zdaj na voljo pri Microsoftu. Vendar pa je namenjen le odpravljanju težave, ki je opisana v tem članku. Uporabite ga samo za sisteme, ki imajo to težavo. Ta sprotni popravek bo morda dodatno preučen. Če vas ta težava ne prizadene, priporočamo, da počakate na naslednji servisni paket za Microsoft Dynamics NAV ali naslednjo različico sistema Microsoft Dynamics NAV, ki vsebuje ta sprotni popravek.
Opomba V posebnih primerih se lahko stroški, ki običajno nastanejo za klice podpore, prekličejo, če strokovnjak za tehnično podporo za Microsoft Dynamics in sorodne izdelke ugotovi, da bo določena posodobitev odpravila vašo težavo. Običajni stroški podpore bodo veljali za dodatna vprašanja o podpori in težave, ki ne izpolnjujejo pogojev za določeno zadevno posodobitev.
Informacije o namestitvi
Microsoft ponuja primere programiranja samo za ponazoritev, brez izrecnega ali implicitnega jamstva. To vključuje, vendar ni omejeno na, implicitna jamstva primernosti za prodajo ali primernost za določen namen. V tem članku je predvideno, da ste seznanjeni s programskim jezikom, ki je prikazan, in z orodji, ki se uporabljajo za ustvarjanje in odpravljanje napak v postopkih. Microsoftovi inženirji za podporo vam lahko pomagajo razložiti funkcionalnost določenega postopka, vendar teh primerov ne bodo spremenili, da bi zagotovili dodano funkcionalnost ali ustvarili postopke, ki ustrezajo vašim posebnim zahtevam.
Opomba Preden namestite ta sprotni popravek, preverite, ali so vsi uporabniki odjemalca Microsoft Navision odjavljeni iz sistema. To vključuje uporabnike odjemalcev Microsoft Navision Application Services (NAS). Pri uvedbi tega sprotnega popravka bi morali biti edini uporabnik odjemalca, ki je prijavljen.
Če želite izvesti ta sprotni popravek, morate imeti licenco za razvijalce.
Priporočamo, da se uporabniškemu računu v oknu »Prijave v sistem Windows« ali v oknu »Prijave v zbirko podatkov« dodeli ID vloge »SUPER«. Če uporabniškemu računu ni mogoče dodeliti ID-ja vloge »SUPER«, morate preveriti, ali ima uporabniški račun ta dovoljenja:
- Dovoljenje »Spremeni« za predmet, ki ga boste spremenili.
- Dovoljenje za izvajanje za predmet ID sistemskega objekta 5210 in za predmet ID sistemskega objekta 9015.
Opomba Ni vam treba imeti pravic do shramb podatkov, razen če morate opraviti popravilo podatkov.
Spremembe kode
Opomba Popravke kode vedno preskusite v nadzorovanem okolju, preden jih uporabite v proizvodnih računalnikih.
Če želite odpraviti to težavo, sledite tem korakom:
Dodajte novo funkcijo »DeleteEntriesForJob« v tabelo »Vnos NV poslov« (1004), kot sledi:
PROCEDURE DeleteEntriesForJob@1001(Job@1002 : Record 167); SETCURRENTKEY("Job No."); SETRANGE("Job No.",Job."No."); IF NOT ISEMPTY THEN DELETEALL(TRUE);Spremenite kodo v funkciji CalcGLWIP v kodni enoti »Job Calculate WIP« (1000) na naslednji način:
Obstoječa koda... GLEntry.FIND('+'); JobWIPGLEntry."G/L Entry No." := GLEntry."Entry No."; DimMgt.CopyLedgEntryDimToLedgEntryDim(DATABASE::"Job WIP Entry", JobWIPEntry."Entry No.", DATABASE::"Job WIP G/L Entry", JobWIPGLEntry."Entry No."); JobWIPGLEntry.INSERT; UNTIL JobWIPEntry.NEXT = 0; END;Nadomestna koda
... GLEntry.FIND('+'); JobWIPGLEntry."G/L Entry No." := GLEntry."Entry No."; DimMgt.CopyLedgEntryDimToLedgEntryDim(DATABASE::"Job WIP Entry", JobWIPEntry."Entry No.", DATABASE::"Job WIP G/L Entry", JobWIPGLEntry."Entry No."); JobWIPGLEntry.INSERT; UNTIL JobWIPEntry.NEXT = 0; END; // Add the following line. DeleteWIP(Job);Dodajte novo funkcijo »DeleteWIP« v kodo »Job Calculate WIP« (1000). To naredite tako:
Dodajte novo lokalno spremenljivko v funkcijo »DeleteWIP« v kodni enoti »Job Calculate WIP« (1000) in nato določite spremenljivko, kot sledi:
- Ime: JobTask
- DataType: Zapis
- Podvrsta: Opravilo ( 1001)
Dodajte novo lokalno spremenljivko v funkcijo »DeleteWIP« v kodni enoti »Job Calculate WIP« (1000) in nato določite spremenljivko, kot sledi:
- Ime: JobWIPEntry
- DataType: Zapis
- Podvrsta: Vnos WIP opravila (1004)
Dodajte novo lokalno spremenljivko v funkcijo »DeleteWIP« v kodni enoti »Job Calculate WIP« (1000) in nato določite spremenljivko, kot sledi:
- Ime: JobLedgerEntry
- DataType: Zapis
- Podvrsta: Vnos v knjigo poslov (169)
V funkcijo DeleteWIP v kodni enoti »Job Calculate WIP« (1000) dodajte naslednjo kodo:
PROCEDURE DeleteWIP@1001(Job@1002 : Record 167); VAR JobTask@1003 : Record 1001; JobWIPEntry@1004 : Record 1004; JobLedgerEntry@1005 : Record 169; JobTask.SETRANGE("Job No.",Job."No."); IF JobTask.FIND('-') THEN REPEAT JobTask.InitWIPFields; UNTIL JobTask.NEXT = 0; JobWIPEntry.DeleteEntriesForJob(Job); JobLedgerEntry.SETRANGE("Job No.",Job."No."); JobLedgerEntry.MODIFYALL("Amt. to Post to G/L",0);
Pogoji
Če želite uporabiti ta sprotni popravek, morate imeti nameščenega enega od teh izdelkov:
- Severnoameriška različica programa Microsoft Dynamics NAV 2009 R2
- Severnoameriška različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
Podatki o odstranitvi
Tega sprotnega popravka ne morete odstraniti.
Stanje
Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.
Opomba To je članek »FAST PUBLISH«, ustvarjen neposredno v Microsoftovi organizaciji za podporo. Informacije, ki jih vsebuje ta dokument, so na voljo kot odgovor na nastajajoča vprašanja. Zaradi hitrosti dajanja na voljo lahko gradivo vsebuje tipografske napake in jih je mogoče kadar koli brez predhodnega obvestila revidirati. Za druge pomisleke glejte Pogoje uporabe .