Tento článok sa vzťahuje na Microsoft Dynamics NAV pre všetky krajiny a všetky jazykové locales.
Príznaky
Môžete vytvoriť interné naskladnenie tovaru pomocou nesprávneho množstva, ktorý nie je k dispozícii v systéme Microsoft Dynamics NAV. Tento problém sa vyskytuje v nasledovných produktov:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 Service Pack 1
Riešenie
Informácie o rýchlej oprave
Rýchla oprava je k dispozícii od spoločnosti Microsoft. Je však určená iba opraviť problém popísaný v tomto článku. Použite ju iba v počítačoch s týmto konkrétnym problémom. Môže, že táto rýchla oprava bude ďalej testovaná. Ak vám nespôsobuje tento problém, odporúčame vám počkať na ďalšiu Microsoft Dynamics NAV 2009 service pack alebo ďalšej verzii Microsoft Dynamics NAV, ktorá obsahuje túto rýchlu opravu.
Poznámka: V špeciálnych prípadoch sa poplatky, ktoré sú telefonickú podporu nemusia účtovať ak technickú podporu Professional pre Microsoft Dynamics a súvisiace produkty zistí, že táto konkrétna aktualizácia vyrieši váš problém. Ďalšie otázky a žiadosti o technickú podporu, ktoré sa netýkajú tejto špecifickej aktualizácie, podliehajú bežným sadzbám za poskytovanie technickej podpory.
Informácie o inštalácii
Spoločnosť Microsoft poskytuje príklady programovacieho kódu len ako názornú ukážku bez vyjadrených či predpokladaných záruk. Tie okrem iného zahŕňajú predpokladané záruky obchodovateľnosti alebo vhodnosti na konkrétny účel. Tento článok predpokladá, že ovládate predvádzaný programovací jazyk a nástroje, ktoré sa používajú na vytváranie a ladenie procedúr. Pracovníci technickej podpory spoločnosti Microsoft vám môžu vysvetliť fungovanie konkrétneho postupu, ale neupravia tieto príklady s cieľom poskytnutia pridanej funkčnosti ani nevytvoria procedúry zohľadňujúce vaše konkrétne požiadavky.
Poznámka: Pred inštaláciou tejto rýchlej opravy sa overiť, že všetky Microsoft Navision klienta používatelia odhlásení systému. Toto zahŕňa používateľov klienta Microsoft Navision aplikácie služby (NAS). Mali by ste byť iba klient prihláseného používateľa je pri implementácii túto rýchlu opravu.
Vykonávať túto rýchlu opravu, musíte mať licencie pre vývojárov.
Odporúčame, aby používateľského konta v okne prihlásenia systému Windows alebo v okne prihlásenia do databázy pridelí "SUPER" úlohu ID. Ak používateľské konto nemožno priradiť úlohu ID "SUPER", musíte overiť, že používateľské konto má nasledujúce povolenia:
-
Zmeniť povolenia pre objekt, ktorý sa zmení.
-
Povolenia na vykonanie systému objekt ID 5210 a systém objekt ID 9015 objektu.
Poznámka: Nemusíte mať práva ukladá údaje, pokiaľ budete musieť vykonať opravy údajov.
Zmeny kódu
Poznámka: Vždy skúšobný opravy v prostredí kontrolované pred použitím opravy výroby počítačov.
Ak chcete vyriešiť tento problém, postupujte nasledovne:
-
Zmena kódu v poliach v ". Interné naskladnenie Line"tabuľky (7332) takto:
Nahradenie kód 1...CALCFIELDS("Put-away Qty.");
IF Quantity < "Qty. Put Away" + "Put-away Qty." THEN
FIELDERROR(Quantity,STRSUBSTNO(Text001,"Qty. Put Away" + "Put-away Qty."));
// Delete the following lines.
IF CurrFieldNo = FIELDNO(Quantity) THEN
CheckBinContentQty;
VALIDATE("Qty. Outstanding",(Quantity - "Qty. Put Away"));
"Qty. (Base)" := CalcBaseQty(Quantity);
Status := CalcStatusPutAwayLine;
// End of the lines.
IF Status <> xRec.Status THEN BEGIN
GetInternalPutAwayHeader("No.");
DocStatus := WhseInternalPutAwayHeader.GetDocumentStatus(0);
...Nahradenie kód 1
...CALCFIELDS("Put-away Qty.");
IF Quantity < "Qty. Put Away" + "Put-away Qty." THEN
FIELDERROR(Quantity,STRSUBSTNO(Text001,"Qty. Put Away" + "Put-away Qty."));
// Add the following lines.
"Qty. (Base)" := CalcBaseQty(Quantity);
IF CurrFieldNo = FIELDNO(Quantity) THEN
CheckBinContentQty;
VALIDATE("Qty. Outstanding",(Quantity - "Qty. Put Away"));
Status := CalcStatusPutAwayLine;
// End of the lines.
IF Status <> xRec.Status THEN BEGIN
GetInternalPutAwayHeader("No.");
DocStatus := WhseInternalPutAwayHeader.GetDocumentStatus(0);
...Existujúci kód 2
...OnLookup=BEGIN
SelectLookUp(FIELDNO("Unit of Measure Code"));
END;
// Delete the following line.
}
{ 30 ; ;Qty. per Unit of Measure;Decimal ;InitValue=1;
DecimalPlaces=0:5;
Editable=No }
{ 31 ; ;Variant Code ;Code10 ;TableRelation="Item Variant".Code WHERE (Item No.=FIELD(Item No.));
...Nahradenie kód 2
...OnLookup=BEGIN
SelectLookUp(FIELDNO("Unit of Measure Code"));
END;
// Add the following line.
Editable=No }
{ 30 ; ;Qty. per Unit of Measure;Decimal ;InitValue=1;
DecimalPlaces=0:5;
Editable=No }
{ 31 ; ;Variant Code ;Code10 ;TableRelation="Item Variant".Code WHERE (Item No.=FIELD(Item No.));
... -
Zmena kódu v CheckCurrentLineQty funkcia v ". Interné naskladnenie Line"tabuľky (7332) takto:
Existujúci kód...WhseItemTrackingForm.SetSource(TempWhseWorksheetLine,DATABASE::"Whse. Internal Put-away Line");
WhseItemTrackingForm.InsertItemTrackingLine(TempWhseWorksheetLine,SerialNo,LotNo,ExpirationDate,QtyToEmpty);
END;
BEGIN
END.
}
}
...Nahradenie kódu
...WhseItemTrackingForm.SetSource(TempWhseWorksheetLine,DATABASE::"Whse. Internal Put-away Line");
WhseItemTrackingForm.InsertItemTrackingLine(TempWhseWorksheetLine,SerialNo,LotNo,ExpirationDate,QtyToEmpty);
END;
// Add the following lines.
PROCEDURE CheckCurrentLineQty@25();
VAR
BinContent@1000 : Record 7302;
AvailQtyBase@1001 : Decimal;
BEGIN
GetLocation("Location Code");
IF Location."Bin Mandatory" AND
("Location Code" <> '') AND ("From Bin Code" <> '') AND
("Item No." <> '') AND ("Unit of Measure Code" <> '')
THEN BEGIN
IF Location."Directed Put-away and Pick" THEN
CheckBlocking(BinContent);
AvailQtyBase := BinContent.CalcQtyAvailToPick(0);
IF AvailQtyBase < "Qty. (Base)" THEN
FIELDERROR(
"Qty. (Base)",
STRSUBSTNO(Text002,AvailQtyBase));
END;
END;
// End of the lines.
BEGIN
END.
}
}
... -
Zmena kódu v údaje položky číslo 5 "skladu-Source - vytvoriť dokument" správa (7305) takto:
Existujúci kód...BinContent."Block Movement"::Outbound,BinContent."Block Movement"::All]
THEN
BinContent.FIELDERROR("Block Movement");
END;
WhseWkshLine.SETRANGE("Whse. Document Line No.","Line No.");
IF NOT WhseWkshLine.FIND('-') THEN BEGIN
TESTFIELD("Qty. per Unit of Measure");
...Nahradenie kódu
...BinContent."Block Movement"::Outbound,BinContent."Block Movement"::All]
THEN
BinContent.FIELDERROR("Block Movement");
END;
// Add the following line.
CheckCurrentLineQty;
WhseWkshLine.SETRANGE("Whse. Document Line No.","Line No.");
IF NOT WhseWkshLine.FIND('-') THEN BEGIN
TESTFIELD("Qty. per Unit of Measure");
...
Požiadavky
Musíte mať jednu z nasledovných produktov nainštalovaný chcete použiť túto rýchlu opravu:
-
Microsoft Dynamics NAV 2009 R2
-
Microsoft Dynamics NAV 2009 Service Pack 1
Informácie o odstránení
Nemôžete odstrániť túto rýchlu opravu.
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.
Poznámka: To je "Rýchlo publikovať" článok vytvorené priamo v rámci organizácie technickej podpory spoločnosti Microsoft. Uvedené informácie sa poskytuje ako-v reakcii na naliehavé problémy. Rýchlosťou robiť materiály môžu obsahovať typografické chyby a môžu byť kedykoľvek bez predchádzajúceho upozornenia. Prečítajte si Podmienky používania z iných dôvodov.