Käesolev artikkel kehtib Microsoft Dynamics nav-i kõik riigid ja kõik language locales.
Sümptomid
Oletame, et teil on töö töölehe, millel on rohkem kui ühe üksuse jälgimise üksus Microsoft Dynamics nav-i 2009 read. Kauba sisestamisel töölehe alusele lao kirjed uuendatakse ainult viimase kauba on sisestatud. Seetõttu ei ole tasakaalus lao ja pearaamatu üksus üksuse.
See probleem ilmneb järgmiste toodetega:-
Microsoft Dynamics nav-i 2009 R2
-
Microsoft Dynamics nav-i 2009 Service Pack 1 (SP1)
Lahendus
Kiirparanduse teave
Lasknud välja toetatava käigultparanduse on nüüd Microsoftilt saadaval. Aga see on ette nähtud ainult selles artiklis kirjeldatud probleemi kõrvaldamiseks. Rakendage seda ainult süsteemides, kus ilmneb see konkreetne probleem. Seda käigultparandust võidakse täiendavalt testida. Seega, kui probleem teie tööd tõsiselt ei kahjusta, soovitame oodata järgmist hoolduspaketti Microsoft Dynamics nav-i või järgmise Microsoft Dynamics nav-i versiooni, mis sisaldab seda kiirparandust.
Märkus. Erijuhtudel kulud, mis tekivad teatud palub tühistada saab kui tehniline toetus Professional Microsoft Dynamics ja nendega seotud toodete leiab, et mõni konkreetne värskendus lahendab teie probleemi. Tavaline tugiteenuste kohaldatakse täiendavat tugiteenust vajavatele küsimustele ning probleemidele, mis pole lahendatavad konkreetse värskenduse installimisega.
Installiteave
Microsoft pakub programmeerimisnäiteid ainult artikli illustreerimiseks ilma igasuguse otsese või kaudse garantiita. See hõlmab, kuid ei piirdu kaudseid garantiisid turustatavuse või kindlaks otstarbeks sobivusega. See artikkel eeldab, et olete demonstreeritava programmeerimiskeelega programmeerimise keel ning luua protseduuride ja silumiseks kasutatavate tööriistadega tuttav. Microsofti tugitehnikud võivad aidata mõne konkreetse protseduuri funktsiooni selgitada, kuid ei muuda nad neid näiteid lisafunktsioonide pakkumiseks ega Koosta vastavaid protseduure teie konkreetsetele nõuetele.
Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navision kliendi kasutajat sisse loginud süsteem välja. See hõlmab Microsoft Navision Application teenused (NAS) kliendi kasutajatele. Peaks olema ainult kliendi kasutaja on sisse logitud, kui otsustate seda käigultparandust. Selle kiirparanduse rakendamiseks peab teil olema arendaja litsentsi. Soovitame Windowsi sisselogimise aken või aken andmebaasi logimine kasutajakonto määrata "SUPER" rolli ID. Kui "SUPER" rolli ID-d ei saa määratud kasutajakonto, peate veenduma, et kasutaja konto on järgmised õigused:-
Sa muutuvad objekti Muuda õigusi.
-
Käivita luba süsteemi objekti ID 5210 objekti ja süsteemi objekti ID 9015 objekti.
Märkus. Teil pole õigust andmeid talletab enne, kui olete andmete parandamiseks.
Koodi muudatusi
Märkus. Alati test koodi lahendab kontrollitavas keskkonnas enne rakendamist tootmine arvutite parandused.
Selle probleemi lahendamiseks toimige järgmiselt: luua kohaliku järgmised muutujad:-
Lisage uus Globaalne muutuja tabeli töö rida (210) ja seejärel määrake muutuja järgmiselt:
-
Nimi: WMSManagement
-
Andmetüüp: koodiplokk
-
Alamliiki: WMS haldus (7302)
-
-
Kustuta järgmine kood Aluse tähis atribuudi TableRelation väli (5403) töö töölehe rida tabelis (210):
Bin.Code WHERE (Location Code=FIELD(Location Code));
-
Muuda OnValidate käivitab Bin koodi koodi väli (5403) töö töölehe rida tabelis (210) järgmiselt:
Kood...// Delete the following lines.
TESTFIELD("Location Code"); CheckItemAvailable; // End of the lines. ...Eemaldamise teave
...// Add the following lines.
TESTFIELD("Location Code"); IF "Bin Code" <> '' THEN BEGIN GetLocation("Location Code"); Location.TESTFIELD("Bin Mandatory"); END; TESTFIELD(Type,Type::Item); CheckItemAvailable; WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'') // End of the lines. ... -
Lisage uus kohaliku muutuja Aluse tähis - OnLookup triggerin töö töölehe rida tabelis (210) ja seejärel määrake muutuja järgmiselt:
-
Nimi: BinCode
-
Andmetüüp: kood
-
Pikkus: 20
-
-
Lisage järgmine kood Aluse tähis - OnLookup käivitab töö töölehe rida tabelis (210).
TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code"); IF BinCode <> '' THEN VALIDATE("Bin Code",BinCode); -
Lao töölehe rida tabeli (7311) välja Lähtedokument (25) OptionString atribuudi väärtust muuta järgmisega:
OptionString=, S. järjestuses, S. arve, S. kreeditarve, S. korra, lk tellimus, lk arve, lk kreeditarve, lk korra, Inb. Üleminek Outb. Üleminek Prod. Tarbimise GetLocation, inventuuri. Žurnaali., ümberklassif. Žurnaali., tarbimine žurnaali. väljund žurnaali., Koosluse žurnaali. Serv järjestuses, töö žurnaali. -
Lao töölehe rida tabeli (7311) välja Viide dokumendi (60) OptionString atribuudi väärtust muuta järgmisega:
OptionString= , postitatud saatelehe postitatud lk arve, postitatud Rtrn. saatelehe, lk kreeditarve, postitatud lähetus, postitatud S. arve, postitatud Rtrn. lähetus, postitatud S. kreeditarve, postitatud T. saamisel postitatud T. saadetise postitatud üksuse päevik, Lisateenused, ladustamine, noppimine, liikumine, Koosluse töölehe, töö töölehe -
Lähtedokument välja (25) laokanne tabelis (7312) OptionString atribuudi väärtust muuta järgmisega:
OptionString=, S. järjestuses, S. arve, S. kreeditarve, S. korra, lk tellimus, lk arve, lk kreeditarve, lk korra, Inb. Üleminek Outb. Üleminek Prod. Tarbimise GetLocation, inventuuri. Žurnaali., ümberklassif. Žurnaali., tarbimine žurnaali. väljund žurnaali., Koosluse žurnaali. operaatori tellimuse, töö žurnaali. -
Dokumendi välja (60) laokanne tabelis (7312) OptionString atribuudi väärtust muuta järgmisega:
OptionString= , postitatud saatelehe postitatud lk arve, postitatud Rtrn. saatelehe, lk kreeditarve, postitatud lähetus, postitatud S. arve, postitatud Rtrn. lähetus, postitatud S. kreeditarve, postitatud T. saamisel postitatud T. saadetise postitatud üksuse päevik, Lisateenused, ladustamine, noppimine, liikumine, Koosluse töölehe, töö töölehe -
Asukoha kood juhtelemendi (60) töö töölehe vormil (201) kuvatud atribuudi muutmiseks järgmiselt:
KoodVisible = Yes
Eemaldamise teave
Visible = No
-
Lisage Asukoha kood ja Töö kood vaheline välja Aluse tähis töö töölehe vormil (201) ja seejärel määrake välja järgmised:
...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
InColumnHeading=Yes } // Add the following lines. { 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1; InColumn=Yes; SourceExpr="Bin Code" } { 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102; InColumnHeading=Yes } // End of the lines. { 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1; ... -
Lisa uus Globaalne muutuja töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: asukoht
-
Andmetüüp: kirje
-
Alamliiki: asukoht (14)
-
-
Looge uus theItem žurnaali funktsiooni töö žurnaali.-Post LineCodeunit (1012) järgmiselt:
LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
-
Lisage järgmine kood theItem žurnaali funktsioonis töö žurnaali.-Post LineCodeunit (1012):
IF LocationCode = '' THENCLEAR(Location)
ELSE IF Location.Code <> LocationCode THEN Location.GET(LocationCode); -
Looge uus PostWhseJnlLine funktsiooni töö žurnaali.-Post LineCodeunit (1012) järgmiselt:
LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
-
Looge järgmiste kohalike muutujate PostWhseJnlLine funktsiooni töö žurnaali.-Post LineCodeunit (1012):
-
Lisage kohaliku muutuja PostWhseJnlLine funktsioon töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: WarehouseJournalLine
-
Andmetüüp: kirje
-
Alamliiki: Lao töölehe rida (7311)
-
-
Lisage kohaliku muutuja PostWhseJnlLine funktsioon töö žurnaali.-Post LineCodeunit (1012) ning seejärel määrake muutuja järgmiselt:
-
Nimi: TempWarehouseJournalLine
-
Andmetüüp: ajutine kirje
-
Alamliiki: Lao töölehe rida (7311)
-
-
Lisage kohaliku muutuja PostWhseJnlLine funktsioon töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: ItemTrackingManagement
-
Andmetüüp: koodiplokk
-
Alamliiki: kauba haldus (6500)
-
-
Lisage kohaliku muutuja PostWhseJnlLine funktsioon töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: WMSManagement
-
Andmetüüp: koodiplokk
-
Alamliiki: WMS Management (7302)
-
-
Lisage kohaliku muutuja PostWhseJnlLine funktsioon töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: WhseJnlRegisterLine
-
Andmetüüp: koodiplokk
-
Alatüüpi: Lao. Žurnaali-Line registreerimine (7301)
-
-
-
Lisage järgmine kood PostWhseJnlLine funktsiooni töö žurnaali.-Post LineCodeunit (1012) järgmiselt:
WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
EXIT; Quantity := OriginalQuantity; "Quantity (Base)" := OriginalQuantityBase; GetLocation("Location Code"); IF Location."Bin Mandatory" THEN IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line"); ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE); IF TempWarehouseJournalLine.FIND('-') THEN REPEAT WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE); WhseJnlRegisterLine.RUN(TempWarehouseJournalLine); UNTIL TempWarehouseJournalLine.NEXT = 0; END; END; -
Uue kohaliku muutuja lisada koodi funktsiooni töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: TempTrackingSpecification
-
Andmetüüp: ajutine kirje
-
Alamliiki: jälgimise spetsifikatsiooni (336)
-
-
Uue kohaliku muutuja lisada koodi funktsiooni töö žurnaali.-Post LineCodeunit (1012) ja seejärel määrake muutuja järgmiselt:
-
Nimi: ItemJnlLine2
-
Andmetüüp: kirje
-
Alamliiki: üksuse rea (83)
-
-
Muutke koodi koodi funktsiooni töö žurnaali.-Post LineCodeunit (1012) järgmiselt:
Kood 1...ItemJnlLine.INIT;
ItemJnlLine."Item No." := JobJnlLine2."No."; ...Kood 1
...ItemJnlLine.INIT;
// Add the following line. ItemJnlLine."Line No." := "Line No."; ItemJnlLine."Item No." := JobJnlLine2."No."; ...Kood 2
...ItemLedgEntry.LOCKTABLE;
ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim); END; ...Asendamine kood 2
...ItemLedgEntry.LOCKTABLE;
// Add the following line. ItemJnlLine2 := ItemJnlLine; ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim); // Add the following lines. ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification); PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification); // End of the lines. ... -
Muutke dokumendi parameeter GetSourceDocument funktsiooni lao sisemise OptionString atribuudi väärtus. Halduse koodiplokk (5775) järgmine:
OptionString=, S. järjestuses, S. arve, S. kreeditarve, S. korra, lk tellimus, lk arve, lk kreeditarve, lk korra, Inb. Üleminek Outb. Üleminek Prod. Tarbimise GetLocation, inventuuri. Žurnaali., ümberklassif. Žurnaali., tarbimine žurnaali. väljund žurnaali., Koosluse žurnaali. operaatori tellimuse, töö žurnaali. -
Lao sisemise GetSourceDocument funktsioon koodi muuta. Halduse koodiplokk (5775) järgmiselt:
Kood...EXIT;
END; END; ERROR(Text000); ...Eemaldamise teave
...EXIT;
END; // Add the following lines. DATABASE::"Job Journal Line": BEGIN SourceDocument := SourceDocument::"Job Jnl."; EXIT; END; // End of the lines. END; ERROR(Text000); ... -
Muuta koodi CreateWhseJnlLine funktsiooni WMS Management koodiplokk (7302) järgmised:
Kood...WhseJnlLine."Source Line No." := "Line No.";
END; WhseJnlLine."Source Code" := "Source Code"; WhseJnlLine."Reason Code" := "Reason Code"; WhseJnlLine."Registering No. Series" := "Posting No. Series"; WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" "; // Delete the following line. WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"; WhseJnlLine."Reference No." := "Document No."; ...Eemaldamise teave
...WhseJnlLine."Source Line No." := "Line No.";
// Add the following lines. END ELSE IF "Job No." <> '' THEN BEGIN WhseJnlLine."Source Type" := DATABASE::"Job Journal Line"; WhseJnlLine."Source Subtype" := ItemJnlTemplateType; WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype"); WhseJnlLine."Source No." := "Document No."; WhseJnlLine."Source Line No." := "Line No."; // End of the lines. END;WhseJnlLine."Source Code" := "Source Code"; WhseJnlLine."Reason Code" := "Reason Code"; WhseJnlLine."Registering No. Series" := "Posting No. Series"; WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" "; // Add the following lines. IF "Job No." = '' THEN WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal" ELSE WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal"; // End of the lines. WhseJnlLine."Reference No." := "Document No."; ...ine."Source Code" := "Source Code"; WhseJnlLine."Reason Code" := "Reason Code"; WhseJnlLine."Registering No. Series" := "Posting No. Series"; WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" "; // Add the following lines. IF "Job No." = '' THEN WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal" ELSE WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal"; // End of the lines. WhseJnlLine."Reference No." := "Document No."; ...
Eeltingimused
Teil peab olema üks selle kiirparanduse installinud järgmisi tooteid:
-
Microsoft Dynamics nav-i 2009 R2
-
Microsoft Dynamics nav-i 2009 Service Pack 1 (SP1)
Eemaldamise teave
See käigultparandus ei saa eemaldada.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "Kehtib järgmiste toodete kohta" loetletud Microsofti toodetel.
Märkus. See on "Kiire avaldamise" artikli loonud otse Microsofti tugiteenuse pakkujalt. Siintoodud teave on esitatud lähtudes-olemasoleval kujul vastusena ilmnenud probleemidele. Kiire avaldamise materjalides esineda trükivigu ja võidakse muuta ette teatamata. Vaadake Kasutustingimused muid kaalutlusi.