Ātri publicētajos rakstos ir sniegta informācija tieši no Microsoft atbalsta organizācijas. Šeit ietvertā informācija tiek veidota, reaģējot uz jaunām vai unikālām tēmām vai ir paredzēta citas zināšanu bāzes informācijas papildināšanai.
Pazīmes
Ar peles labo pogu noklikšķinot uz Microsoft Dynamics AX 2009 dialoglodziņa Maršruta karšu žurnāls un pēc tam noklikšķinot uz Iestatīšana , lai pievienotu kolonnu Konfigurācija cilnē Pārskats , materiālu komplekta (MK) konfigurācija dialoglodziņā Maršruta kartes žurnāls netiek parādīta pareizi.
Iemesls
Šī problēma rodas, jo Microsoft Dynamics AX neatbalsta aizkavēta saistītā datu avota pievienošanu režģa vadīklai.
Risinājums
Informācija par labojumfailu
Atbalstīts labojumfails tagad ir pieejams no Microsoft. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lietojiet to tikai sistēmām, kurās rodas šī konkrētā problēma. Šim labojumfailam var tikt veiktas papildu pārbaudes. Tāpēc, ja šī problēma jūs nopietni neietekmē, ieteicams gaidīt nākamo Microsoft Dynamics AX 2009 servisa pakotni vai nākamo versiju, kurā ir šis labojumfails.
Piezīme Īpašos gadījumos maksa, kas parasti tiek piemērota par atbalsta zvaniem, var tikt atcelta, ja Microsoft Dynamics un saistīto produktu tehniskā atbalsta speciālists nosaka, ka problēma tiks novērsta, instalējot noteiktu atjauninājumu. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.
Šo labojumfailu ir plānots iekļaut Microsoft Dynamics AX 2009 2. servisa pakotnē.
Informācija par instalāciju
Pirms šī labojumfaila instalēšanas pārliecinieties, vai Microsoft Dynamics AX klienta lietotāji ir atteikušies no sistēmas. Jūs esat vienīgais klienta lietotājs, kurš ir pieteicies, ieviešot šo labojumfailu.
Lai ieviestu šo labojumfailu, ir nepieciešama izstrādātāja licence.
Piezīme Ieteicams, lai lietotāja konts Windows pieteikšanās logā vai datu bāzes pieteikšanās logā būtu Microsoft Dynamics AX administratoru lietotāju grupas dalībnieks.
Koda izmaiņas
Microsoft sniedz programmēšanas piemērus tikai ilustrācijai, bez tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai piemērotībai noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt demonstrējamo programmēšanas valodu un rīkus, kas tiek izmantoti procedūru izveidei un atkļūdošanai. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētās procedūras funkcionalitāti. Tomēr tie nemodificēs šos piemērus, lai nodrošinātu papildu funkcionalitāti vai veidotu procedūras atbilstoši jūsu konkrētajām prasībām. Vienmēr pārbaudiet koda labojumus kontrolētā vidē, pirms tos lietojat ražošanas datoros.
Lai lietotu šo labojumfailu, veiciet tālāk norādītās darbības.
Mainiet kodu metodē datasourceWritePre klasē ProdJournalFormTransRoute, kā norādīts tālāk.
Esošais kodsvoid 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(); }Aizstāšanas kods
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(); }Mainiet kodu metodē laukaModifiedProdReportFinishedPost klasē ProdJournalFormTransRoute šādi:
Esošais kodsvoid 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(); }Aizstāšanas kods
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(); }Mainiet kodu metodē enableFieldsActive veidlapā ProdJournalTransRoute, kā norādīts tālāk.
Esošais kodsvoid 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()); }Aizstāšanas kods
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); } } } }Mainiet rekvizītu vērtību datu avota objektam ProdJournalTransRoute formā ProdJournalTransRoute, kā norādīts tālāk.
- Mainiet rekvizīta LinkType vērtību uz InnerJoin.
- Mainiet rekvizīta DelayActive vērtību uz Nē.
Pievienojiet tālāk norādīto kodu objektā "\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ validateWrite".
public boolean validateWrite() { boolean ret; ; if (inventDim.inventDimId == InventDim::inventDimIdBlank()) return true; ret = super(); return ret; }Mainiet kodu objektā "\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ write" šādi:
Esošais kodsvoid write() { ; prodJournalRoute_ds.write(); }Aizstāšanas kods
void write() { ; prodJournalRoute_ds.write(); // Add the following line. element.enableFieldsActive(); }Mainiet kodu failā "\Forms\ProdJournalTransRoute\DataSources\ProdJournalRoute\Methods\active" šādi:
Esošais kodsint active() { int ret; ret = super(); journalFormTrans.datasourceActivePost(); if (prodJournalRoute.isProjMethodConsumed()) { skipWrite = true; prodJournalRouteProjHour_ds.executeQuery(); prodJournalRouteProjQuantity_ds.executeQuery(); skipWrite = false; } element.enableFieldsActive(); return ret; }Aizstāšanas kods
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; }Mainiet kodu metodē enableFieldsActive veidlapā ProdJournalTransJob šādi:
Esošais kodsvoid 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()); }Aizstāšanas kods
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); } } } }Mainiet datu avota objekta InventDim rekvizītu vērtību veidlapā ProdJournalTransJob šādi:
- Mainiet rekvizīta LinkType vērtību uz InnerJoin.
- Mainiet rekvizīta DelayActive vērtību uz Nē.
Pievienojiet tālāk norādīto kodu objektā "\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ validateWrite".
public boolean validateWrite() { boolean ret; ; if (inventDim.inventDimId == InventDim::inventDimIdBlank()) return true; ret = super(); return ret; }Mainiet kodu objektā "\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ write" šādi:
Esošais kodsvoid write() { ; prodJournalRoute_ds.write(); }Aizstāšanas kods
void write() { ; prodJournalRoute_ds.write(); // Add the following line. element.enableFieldsActive(); }Mainiet kodu "\Forms\ProdJournalTransJob\DataSources\ProdJournalRoute\Methods\active" šādi:
Esošais kodsint active() { int ret; ret = super(); journalFormTrans.datasourceActivePost(); if (prodJournalRoute.isProjMethodConsumed()) { skipWrite = true; prodJournalRouteProjHour_ds.executeQuery(); prodJournalRouteProjQuantity_ds.executeQuery(); skipWrite = false; } element.enableFieldsActive(); return ret; }Aizstāšanas kods
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; }Mainiet ievietošanas metodes kodu tabulā ProdJournalRoute šādi:
Esošais kodsvoid insert() { ttsbegin; if (! this.LineNum) this.LineNum = ProdJournalRoute::lastLineNum(this.JournalId) + 1; if (this.OprFinished) this.JobFinished = NoYes::Yes; this.updateRouteConstantRelease(); super(); ttscommit; }Aizstāšanas kods
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; }Mainiet kodu metodē initValue tabulā ProdJournalRoute, kā norādīts tālāk.
Esošais kodsvoid initValue() { super(); this.TransDate= systemdateget(); }Aizstāšanas kods
void initValue() { super(); this.TransDate= systemdateget(); // Add the following line. this.ProdInventDimId = InventDim::inventDimIdBlank(); }
Priekšnosacījumi
Lai lietotu šo labojumfailu, nav nepieciešami priekšnosacījumi.
Restartēšanas prasības
Pēc šī labojumfaila lietošanas nav jārestartē dators.
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".
KORPORĀCIJA MICROSOFT UN/VAI TĀS PIEGĀDĀTĀJI NESNIEDZ NEKĀDUS APLIECINĀJUMUS VAI GARANTIJAS PAR DOKUMENTOS UN ŠAJĀ TĪMEKĻA VIETNĒ PUBLICĒTAJĀS AR TĀM SAISTĪTAJĀS GRAFIKĀS ("MATERIĀLI") IETVERTĀS INFORMĀCIJAS PIEMĒROTĪBU, UZTICAMĪBU VAI PRECIZITĀTI JEBKĀDIEM MĒRĶIEM.
MATERIĀLOS VAR BŪT TEHNISKAS NEPRECIZITĀTES VAI DRUKAS KĻŪDAS, UN TOS VAR PĀRSKATĪT JEBKURĀ LAIKĀ BEZ IEPRIEKŠĒJA BRĪDINĀJUMA. CIKTĀL TO PIEĻAUJ PIEMĒROJAMIE TIESĪBU AKTI, KORPORĀCIJA MICROSOFT UN/VAI TĀS PIEGĀDĀTĀJI ATTIECĪBĀ UZ MATERIĀLIEM ATSAKĀS NO JEBKĀDIEM TIEŠIEM, NETIEŠIEM VAI AR TIESĪBU AKTIEM NOTEIKTIEM APLIECINĀJUMIEM, GARANTIJĀM UN NOSACĪJUMIEM, TOSTARP, BET NE TIKAI, APLIECINĀJUMIEM, GARANTIJĀM VAI ĪPAŠUMTIESĪBĀM, TIESĪBU NEPĀRKĀPŠANU, APMIERINOŠU STĀVOKLI VAI KVALITĀTI, PIEMĒROTĪBU PĀRDOŠANAI UN PIEMĒROTĪBU NOTEIKTAM MĒRĶIM ATTIECĪBĀ UZ MATERIĀLIEM.