Rýchlo publikované články poskytujú informácie priamo z v rámci organizácie technickej podpory spoločnosti Microsoft. Informácie v tomto dokumente vytvorené s ohľadom na najnovšie alebo jedinečné témy, alebo je určený na doplnenie iné informácie databázy Knowledge Base.
Príznaky
Kliknite pravým tlačidlom myši v okne denníka smerovanie karty v Microsoft Dynamics AX 2009 a kliknite na položku Nastavenie pridať stĺpec ConfigurationPrehľad kartu, konfigurácia Súpiska materiálov (Kusovník) sa nezobrazuje v cesta karta denník dialógové okno.
Príčina
Tento problém sa vyskytuje, pretože Microsoft Dynamics AX, pridáte zdroj oneskorené prepojených údajov mriežky ovládacieho prvku.
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 AX 2009 service pack alebo ďalšej verzii, 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.Táto rýchla oprava sa plánuje ako súčasť balíka Service Pack 2 pre systém Microsoft Dynamics AX 2009.
Informácie o inštalácii
Pred inštaláciou tejto rýchlej opravy sa overiť, Microsoft Dynamics AX klienta používatelia odhlásení systému. 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.Poznámka: Odporúčame, aby používateľského konta v okne prihlásenia systému Windows alebo v okne prihlásenia do databázy je členom skupiny Administrators používateľov v systéme Microsoft Dynamics AX.
Zmeny kódu
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 môžu vysvetliť fungovanie konkrétneho postupu. Ale nemôžu tieto príklady poskytovať pridanú funkčnosť alebo konštrukčné procedúry zohľadňujúce vaše konkrétne požiadavky.Vždy skúšobný opravy v prostredí kontrolované pred použitím opravy výroby počítačov.Ak chcete použiť túto rýchlu opravu, postupujte nasledovne:
-
Zmeniť kód datasourceWritePre metóda ProdJournalFormTransRoute triedy takto:existujúci kód
void datasourceWritePre(){ ; if (prodJournalRoute.ProdPickList && prodJournalRoute.OprPriority && !prodJournalRoute.ProdPickListJournalId) prodJournalRoute.ProdPickList = NoYes::No; if (prodJournalRoute.ProdReportFinished) prodJournalRoute.ProdInventDimId = InventDim::findOrCreate(inventDim).InventDimId; else // Modify the following line. prodJournalRoute.ProdInventDimId = ''; prodJournalRoute.ProdInventDimId = ''; super();}
Nahradenie kódu
void datasourceWritePre(){ ; if (prodJournalRoute.ProdPickList && prodJournalRoute.OprPriority && !prodJournalRoute.ProdPickListJournalId) prodJournalRoute.ProdPickList = NoYes::No; if (prodJournalRoute.ProdReportFinished) prodJournalRoute.ProdInventDimId = InventDim::findOrCreate(inventDim).InventDimId; else // The following line is modified. prodJournalRoute.ProdInventDimId = InventDim::inventDimIdBlank(); prodJournalRoute.ProdInventDimId = ''; super();}
-
Zmeniť kód fieldModifiedProdReportFinishedPost metóda ProdJournalFormTransRoute triedy takto:existujúci kód
void fieldModifiedProdReportFinishedPost(){ InventDim emptyInventDim; ; if (prodJournalRoute.ProdReportFinished) { if (! prodJournalRoute.ProdInventDimId) inventDim_ds.create(); inventDim.data(InventDim::find(ProdTable::find(prodJournalRoute.ProdId).InventDimId)); } else inventDim.data(emptyInventDim); inventDim_ds.setCurrent();}
Nahradenie kódu
void fieldModifiedProdReportFinishedPost(){ // Add the following line. InventDim emptyInventDim = InventDim::find(InventDim::inventDimIdBlank()); InventDim emptyInventDim; ; if (prodJournalRoute.ProdReportFinished) { if (! prodJournalRoute.ProdInventDimId) inventDim_ds.create(); inventDim.data(InventDim::find(ProdTable::find(prodJournalRoute.ProdId).InventDimId)); } else inventDim.data(emptyInventDim); inventDim_ds.setCurrent();}
-
Zmeniť kód enableFieldsActive metóda ProdJournalTransRoute forme takto:existujúci kód
void enableFieldsActive(){ prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,EmplId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryHoursId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryQtyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectHour.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectQuantity.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed());}
Nahradenie kódu
void enableFieldsActive(){ // Add the following lines. int i; container enabledDimFields = InventDim::dimEnabledFieldList(); container dimFields = InventDim::dimFieldList(); ; prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,EmplId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryHoursId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryQtyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectHour.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectQuantity.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); // Add the following lines. for(i = 0; i < conlen(dimFields) ; i++) { if (inventDim_DS.object(conpeek(dimFields, i))) { if (prodJournalRoute.ProdInventDimId == InventDim::inventDimIdBlank()) { inventDim_DS.object(conpeek(dimFields,i)).enabled(false); } else { inventDim_DS.object(conpeek(dimFields,i)).enabled(confind(enabledDimeFields,i) != 0); } } }}
-
Zmeňte hodnotu vlastnosti objektu InventDim zdroja údajov vo formulári ProdJournalTransRoute takto:
-
Zmeňte hodnotu LinkType vlastnosť InnerJoin.
-
Zmeňte hodnotu DelayActive vlastnosť č.
-
-
Pridajte nasledovný kód do objektu "\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ validateWrite".
public boolean validateWrite(){ boolean ret; ; if (inventDim.inventDimId == InventDim::inventDimIdBlank()) return true; ret = super(); return ret;}
-
Zmena kódu v objekte "\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ napíšte" takto:existujúci kód
void write(){ ; prodJournalRoute_ds.write();}
Nahradenie kódu
void write(){ ; prodJournalRoute_ds.write(); // Add the following line. element.enableFieldsActive();}
-
Zmena kódu "\Forms\ProdJournalTransRoute\DataSources\ProdJournalRoute\Methods\active" takto:existujúci kód
int active(){ int ret; ret = super(); journalFormTrans.datasourceActivePost(); if (prodJournalRoute.isProjMethodConsumed()) { skipWrite = true; prodJournalRouteProjHour_ds.executeQuery(); prodJournalRouteProjQuantity_ds.executeQuery(); skipWrite = false; } element.enableFieldsActive(); return ret;}
Nahradenie kódu
int active(){ int ret; // Add the following lines. ; journalFormTrans.updateDesign(InventDimFormDesignUpdate::Init); ret = super(); journalFormTrans.datasourceActivePost(); if (prodJournalRoute.isProjMethodConsumed()) { skipWrite = true; prodJournalRouteProjHour_ds.executeQuery(); prodJournalRouteProjQuantity_ds.executeQuery(); skipWrite = false; } element.enableFieldsActive(); return ret;}
-
Zmeniť kód enableFieldsActive metóda ProdJournalTransJob forme takto:existujúci kód
void enableFieldsActive(){ prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,EmplId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryHoursId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryQtyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectHour.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectQuantity.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed());}
Nahradenie kódu
void enableFieldsActive(){ // Add the following lines. int i; container enabledDimFields = InventDim::dimEnabledFieldList(); container dimFields = InventDim::dimFieldList(); ; prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,EmplId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryHoursId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRoute_ds.object(fieldnum(ProdJournalRoute,CategoryQtyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectHour.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjHour_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); projectQuantity.visible(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjLinePropertyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); prodJournalRouteProjQuantity_ds.object(fieldnum(ProdJournalRouteProj,ProjSalesCurrencyId)).mandatory(prodJournalRoute.isProjMethodConsumed()); // Add the following lines. for(i = 0; i < conlen(dimFields) ; i++) { if (inventDim_DS.object(conpeek(dimFields, i))) { if (prodJournalRoute.ProdInventDimId == InventDim::inventDimIdBlank()) { inventDim_DS.object(conpeek(dimFields,i)).enabled(false); } else { inventDim_DS.object(conpeek(dimFields,i)).enabled(confind(enabledDimeFields,i) != 0); } } }}
-
Zmeňte hodnotu vlastnosti objektu InventDim zdroja údajov vo formulári ProdJournalTransJob takto:
-
Zmeňte hodnotu LinkType vlastnosť InnerJoin.
-
Zmeňte hodnotu DelayActive vlastnosť č.
-
-
Pridajte nasledovný kód do objektu "\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ validateWrite".
public boolean validateWrite(){ boolean ret; ; if (inventDim.inventDimId == InventDim::inventDimIdBlank()) return true; ret = super(); return ret;}
-
Zmena kódu v objekte "\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ napíšte" takto:existujúci kód
void write(){ ; prodJournalRoute_ds.write();}
Nahradenie kódu
void write(){ ; prodJournalRoute_ds.write(); // Add the following line. element.enableFieldsActive();}
-
Zmena kódu "\Forms\ProdJournalTransJob\DataSources\ProdJournalRoute\Methods\active" takto:existujúci kód
int active(){ int ret; ret = super(); journalFormTrans.datasourceActivePost(); if (prodJournalRoute.isProjMethodConsumed()) { skipWrite = true; prodJournalRouteProjHour_ds.executeQuery(); prodJournalRouteProjQuantity_ds.executeQuery(); skipWrite = false; } element.enableFieldsActive(); return ret;}
Nahradenie kódu
int active(){ int ret; // Add the following lines. ; journalFormTrans.updateDesign(InventDimFormDesignUpdate::Init); ret = super(); journalFormTrans.datasourceActivePost(); if (prodJournalRoute.isProjMethodConsumed()) { skipWrite = true; prodJournalRouteProjHour_ds.executeQuery(); prodJournalRouteProjQuantity_ds.executeQuery(); skipWrite = false; } element.enableFieldsActive(); return ret;}
-
Zmena kódu postup vloženia tabuľky ProdJournalRoute takto:existujúci kód
void insert(){ ttsbegin; if (! this.LineNum) this.LineNum = ProdJournalRoute::lastLineNum(this.JournalId) + 1; if (this.OprFinished) this.JobFinished = NoYes::Yes; this.updateRouteConstantRelease(); super(); ttscommit;}
Nahradenie kódu
void insert(){ ttsbegin; if (! this.LineNum) this.LineNum = ProdJournalRoute::lastLineNum(this.JournalId) + 1; if (this.OprFinished) this.JobFinished = NoYes::Yes; // Add the following lines. if(!this.ProdInventDimId) this.ProdInventDimId = InventDim::inventDimIdBlank(); this.updateRouteConstantRelease(); super(); ttscommit;}
-
Zmena kódu v metóde initValue v tabuľke ProdJournalRoute takto:existujúci kód
void initValue(){ super(); this.TransDate= systemdateget();}
Nahradenie kódu
void initValue(){ super(); this.TransDate= systemdateget(); // Add the following line. this.ProdInventDimId = InventDim::inventDimIdBlank();}
Požiadavky
Neexistujú žiadne požiadavky na rýchlu opravu.
Požiadavka na reštartovanie
Po použití tejto rýchlej opravy nie je potrebné reštartovať počítač.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
SPOLOČNOSŤ MICROSOFT ANI JEJ DODÁVATELIA SA ŽIADNE ZÁRUKY O VHODNOSTI, SPOĽAHLIVOSTI ALEBO PRESNOSTI INFORMÁCIÍ OBSIAHNUTÝCH V DOKUMENTOCH A SÚVISIACICH GRAFICKÝCH PRVKOCH PUBLIKOVANÝCH NA TEJTO WEBOVEJ LOKALITE ("MATERIÁLOCH") NA ÚČELY. MATERIÁLY MÔŽU OBSAHOVAŤ TECHNICKÉ NEPRESNOSTI ALEBO TLAČOVÉ CHYBY A MÔŽU BYŤ KEDYKOĽVEK BEZ PREDCHÁDZAJÚCEHO UPOZORNENIA. V MAXIMÁLNOM ROZSAHU POVOLENOM ZÁKONOM, SPOLOČNOSŤ MICROSOFT A JEJ DODÁVATELIA ZRIEKAJÚ A VYLÚČIŤ VŠETKY VYHLÁSENIA, ZÁRUKY A PODMIENKY, ČI UŽ VYJADRENÝCH, PREDPOKLADANÝCH ALEBO ZÁKONNÝCH, VRÁTANE, ALE NIE JE OBMEDZENÝ NA POŽIADAVKY, ZÁRUKY ALEBO PODMIENKY NÁZOV NEPORUŠENIA CUDZÍCH PRÁV, NEPOŠKODENIA STAVU ALEBO KVALITY, OBCHODOVATEĽNOSTI A VHODNOSTI NA URČITÝ ÚČEL S OHĽADOM NA MATERIÁLY.