Konfiguraciju Sastavnica nije prikazana ispravno u dijalogu „Putem kartice naloga” nakon što ste dodali u koloni „Konfiguracija” na kartici „Pregled” u Microsoft Dynamics AX 2009

Primenjuje se na: Microsoft Dynamics AX 2009 Service Pack 1Microsoft Dynamics AX 2009

Ubrzano objavljene članke pružaju informacije direktno od unutar organizacije Microsoft podrške. Informacije koje se nalaze u ovom dokumentu je kreiran kao odgovor na razvoju ili jedinstvene teme ili cilj je da se dopuni drugih informacija u bazi znanja.

Simptomi


Kada desnom tipkom miša kliknite u okvir za dijalog putem kartice naloga u programu Microsoft Dynamics AX 2009 i Podešavanje da biste dodali kolone " Konfiguracija " karticu " Pregled ", konfiguraciju sastavnica (Sastavnice) nije prikazana ispravno u dijalogu putem kartice naloga .

Uzrok


Do ovog problema dolazi jer Microsoft Dynamics AX ne podržava da dodate izvor odgođeno povezanih podataka za kontrolu za koordinatnu mrežu.

Rešenje


Informacije o prilagodbenom popravku

Podržana hitna ispravka sada je dostupna od korporacije Microsoft. Međutim, to je namenjena isključivo za rešavanje problema opisanog u ovom članku. Primenite je samo na sisteme sa ovim određenim problemom. Ova hitna ispravka možda će se dodatno testirati. Zbog toga, ako niste ozbiljno ugroženi ovaj problem, preporučujemo da sačekate sledeći servisni paket za Microsoft Dynamics AX 2009 ili sledeće verzije koja sadrži ovaj prilagodbeni popravak. Napomena U posebnim slučajevima, troškovi koji se naplaćuju za podršku mogu biti ukinuti ako stručnjaku za tehničku podršku za Microsoft Dynamics i srodne proizvode utvrdi da će određena ispravka rešiti problem. Uobičajeni troškovi podrške važiće za dodatnu podršku pitanja i probleme koji nisu direktno povezani sa datom ispravkom.Ova hitna ispravka će biti uključena u servisni paket 2 za Microsoft Dynamics AX 2009.

Informacije o instalaciji

Pre nego što instalirate taj hitni popravak, uverite se da je Microsoft Dynamics AX klijent korisnici odjavljeni sistem. Treba da si jedini klijent korisnika koji je prijavljen kada primenite ovaj prilagodbeni popravak. Da biste primenili ovaj hitni popravak, morate imati dozvolu za projektovanje.Napomena Preporučuje se da je korisnički nalog u prozoru Windows prijavljivanja ili u prozoru baze podataka prijavljivanja biti član grupe administratori korisnika u Microsoft Dynamics AX.

Kod se menja

Microsoft obezbeđuje primere programiranja samo radi ilustracije, bez garancije ili podrazumevane. Ovo uključuje, ali nije ograničen na, podrazumevane garancije o mogućnostima prodaje ili prikladnosti za određenu svrhu. Ovaj članak pretpostavlja da ste upoznati sa programskim jezikom koji se prikazuje i sa alatkama koje se koriste za kreiranje i otklanjanja procedure. Inženjeri podrške Microsoft može pomoći u objašnjavanju određene procedure. Međutim, oni neće menjati ove primere da bi obezbedili dodatne funkcije niti kreirati procedure da bi ispunili vaše određene zahteve.Uvek test Šifra rešava u kontrolisanom okruženju prije primjene zakrpe sa računarima u proizvodnji.Da biste primenili ovaj hitni popravak, slijedite ove korake:
  1. Promenite šifru u metod datasourceWritePre u ProdJournalFormTransRoute razredu na sledeći način:postojeća Šifra
    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();}
    Zamena Šifra
    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();}
  2. Promenite šifru u metod fieldModifiedProdReportFinishedPost u ProdJournalFormTransRoute razredu na sledeći način:postojeća Šifra
    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();}
    Zamena Šifra
    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();}
  3. Promenite šifru u metod " enableFieldsActive " u ProdJournalTransRoute obrascu na sledeći način:postojeća Šifra
    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());}
    Zamena Šifra
    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);            }        }    }}
  4. Promenite vrednost svojstva objekta InventDim izvor podataka u obliku ProdJournalTransRoute na sledeći način:
    • Promenite vrednost svojstva LinkType u InnerJoin.
    • Promenite vrednost svojstva DelayActive na ne.
  5. Dodajte sledeći kôd u objektu „\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ validateWrite”.
    public boolean validateWrite(){    boolean ret;    ;    if (inventDim.inventDimId == InventDim::inventDimIdBlank())        return true;    ret = super();        return ret;}
  6. Promenite šifru u objektu „\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ pisanje” na sledeći način:postojeća Šifra
    void write(){    ;    prodJournalRoute_ds.write();}
    Zamena Šifra
    void write(){    ;    prodJournalRoute_ds.write();    // Add the following line.    element.enableFieldsActive();}
  7. Promenite šifru u „\Forms\ProdJournalTransRoute\DataSources\ProdJournalRoute\Methods\active” na sledeći način:postojeća Šifra
    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;}
    Zamena Šifra
    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;}
  8. Promenite šifru u metod " enableFieldsActive " u ProdJournalTransJob obrascu na sledeći način:postojeća Šifra
    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());}
    Zamena Šifra
    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);            }        }    }}
  9. Promenite vrednost svojstva objekta InventDim izvor podataka u obliku ProdJournalTransJob na sledeći način:
    • Promenite vrednost svojstva LinkType u InnerJoin.
    • Promenite vrednost svojstva DelayActive na ne.
  10. Dodajte sledeći kôd u objektu „\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ validateWrite”.
    public boolean validateWrite(){    boolean ret;    ;    if (inventDim.inventDimId == InventDim::inventDimIdBlank())        return true;    ret = super();        return ret;}
  11. Promenite šifru u objektu „\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ pisanje” na sledeći način:postojeća Šifra
    void write(){    ;    prodJournalRoute_ds.write();}
    Zamena Šifra
    void write(){    ;    prodJournalRoute_ds.write();    // Add the following line.    element.enableFieldsActive();}
  12. Promenite šifru u „\Forms\ProdJournalTransJob\DataSources\ProdJournalRoute\Methods\active” na sledeći način:postojeća Šifra
    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;}
    Zamena Šifra
    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;}
  13. Promenite šifru u metod " Umetanje " u tabeli ProdJournalRoute na sledeći način:postojeća Šifra
    void insert(){    ttsbegin;    if (! this.LineNum)        this.LineNum = ProdJournalRoute::lastLineNum(this.JournalId) + 1;    if (this.OprFinished)        this.JobFinished = NoYes::Yes;    this.updateRouteConstantRelease();    super();    ttscommit;}
    Zamena Šifra
    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;}
  14. Promenite šifru u metod InitValue dole navedenog u tabeli ProdJournalRoute na sledeći način:postojeća Šifra
    void initValue(){    super();    this.TransDate= systemdateget();}
    Zamena Šifra
    void initValue(){    super();    this.TransDate= systemdateget();    // Add the following line.    this.ProdInventDimId = InventDim::inventDimIdBlank();}

Preduslovi

Nema posebnih preduvjeta da primijeniti prilagodbeni popravak.

Zahtev za ponovnim pokretanjem

Ne morate ponovo pokrenuti računalo nakon što primijenite ovaj hitni popravak.

Status


Microsoft je potvrdio da je ovo problem kod Microsoft proizvoda koji su navedeni u odeljku „Odnosi se na”.
MICROSOFT I/ILI NJEGOVI DOBAVLJAČI SE NE ZASTUPAJU, NITI O PRIKLADNOSTI, POUZDANOST ILI TAČNOST INFORMACIJA KOJE SE NALAZE U DOKUMENTIMA I POVEZANE GRAFIKE OBJAVLJEN NA OVOJ WEB LOKACIJI („MATERIJALI”) U BILO KOJU SVRHU. MATERIJALI KOJI MOGU DA SADRŽE TEHNIČKE NETOČNOSTI ILI TIPOGRAFSKE GREŠKE I MOŽDA BITI REVIDIRAN U BILO KOM TRENUTKU BEZ PRETHODNE NAJAVE. U MAKSIMALNOJ MERI KOJA JE DOZVOLJENA ZAKONOM, MICROSOFT I/ILI NJEGOVI DOBAVLJAČI DISCLAIM I ISKLJUČITE SVE ZASTUPSTVA, GARANCIJA I USLOVI DA LI EXPRESS, IMPLICITNOM ILI PROPISANOM, UKLJUČUJUĆI ALI NE OGRANIČEN DA ZASTUPSTVA, GARANCIJE, ILI USLOVI ZA NASLOV, NEKRŠENJE, ZADOVOLJAVAJUĆE STANJE ILI KVALITETA, I PRIKLADNOSTI ZA ODREĐENU SVRHU, U ODNOSU NA MATERIJALE.