דלג לתוכן הראשי
היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

במהירות מאמרים שפורסמו לספק את המידע ישירות מתוך ארגון התמיכה של Microsoft. המידע הכלול במסמך זה נוצר בתגובה נושאים מתעוררים או ייחודי, או נועד להשלים מידע ידע אחר.

תופעות

בעת לחיצה ימנית על תיבת הדו-שיח של יומן כרטיס נתיב ב- Microsoft Dynamics AX 2009 ולאחר מכן לחץ על התקנה כדי להוסיף עמודה תצורת הכרטיסיה סקירה , התצורה של עץ מוצר (BOM) לא מוצג כראוי בתוך תיבת הדו-שיח של יומן כרטיס נתיב .

סיבה

בעיה זו מתרחשת מאחר Microsoft Dynamics AX אינו תומך הוספת מקור נתונים מקושר מושהית לפקד רשת.

פתרון

מידע על תיקונים חמים

תיקון חם נתמך זמין כעת מ- Microsoft. עם זאת, הוא מיועד רק לתיקון הבעיה המתוארת במאמר זה. יש להחיל אותו רק במערכות שהתעוררה בהן בעיה ספציפית זו. תיקון חם זה עשוי לעבור בדיקות נוספות. לכן, אם המערכת שברשותך לא נפגעה באופן חמור מבעיה זו, מומלץ להמתין למהדורת ה service pack הבאה של Microsoft Dynamics AX 2009 או את הגירסה הבאה, המכילה תיקון חם זה. הערה במקרים מיוחדים, שהצגת עבור שיחות עשויים לבטל אם מומחה תמיכה טכנית עבור Microsoft Dynamics ומוצרים קשורים יקבע שעדכון ספציפי יפתור את הבעיה. דמי התמיכה המקובלים יחולו על נוספים שאלות וסוגיות תמיכה אשר אינן מצריכות העדכון הספציפי האמור.תיקון חם זה מיועד להיכלל עם Service Pack 2 עבור Microsoft Dynamics AX 2009.

מידע על ההתקנה

לפני התקנת תיקון חם זה, ודא כי משתמשים הלקוח של Microsoft Dynamics AX אינם מחוברים למערכת. אתה אמור להיות לקוח בלבד המשתמש המחובר כאשר ליישם תיקון חם זה. כדי ליישם תיקון חם זה, דרוש לך רשיון מפתחים.הערה אנו ממליצים חשבון המשתמש בחלון כניסות Windows או בחלון מסד הנתונים כניסות להיות חבר בקבוצת מנהלים המשתמשים ב- Microsoft Dynamics AX.

שינויי קוד

מיקרוסופט מציעה דוגמאות תכנות לצורך ההדגמה בלבד, ללא אחריות, בין מפורשת ובין משתמעת. זה כולל, אך אינו מוגבל ל, אחריות מכללא לגבי סחירות או התאמה למטרה מסוימת. מאמר זה מבוסס על ההנחה שאתה מכיר את שפת התכנות המודגמת ובקי בהפעלת הכלים המשמשים ליצירת פרוצדורות ולניפוי שגיאות. מהנדסי התמיכה של Microsoft יכולים לסייע בהסברת הפונקציונליות של פרוצדורה מסוימת. עם זאת, הם לא ישנו את הדוגמאות כדי לספק פונקציונליות נוספת או כדי לבנות פרוצדורות שיענו על צרכיך הספציפיים.תמיד קוד מחשב פותר בסביבה מבוקרת לפני החלת התיקונים למחשבים הייצור שלך.כדי להחיל תיקון חם זה, בצע את הפעולות הבאות:

  1. לשנות את הקוד בפעולת השירות datasourceWritePre במחלקה ProdJournalFormTransRoute כדלקמן:קוד קיים

    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();}

    קוד החלפה

    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. לשנות את הקוד בפעולת השירות fieldModifiedProdReportFinishedPost במחלקה ProdJournalFormTransRoute כדלקמן:קוד קיים

    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();}

    קוד החלפה

    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. שנה את הקוד בפעולת השירות enableFieldsActive בטופס ProdJournalTransRoute כדלקמן:קוד קיים

    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());}

    קוד החלפה

    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. שנה את הערך של מאפייני אובייקט מקור נתונים InventDim בטופס ProdJournalTransRoute כדלקמן:

    • שנה את הערך של המאפיין LinkTypeInnerJoin.

    • שנה את הערך של המאפיין DelayActiveלא.

  5. הוסף את הקוד הבא של אובייקט "\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ validateWrite".

    public boolean validateWrite(){    boolean ret;    ;    if (inventDim.inventDimId == InventDim::inventDimIdBlank())        return true;    ret = super();        return ret;}
  6. לשנות את הקוד של אובייקט "\Forms\ProdJournalTransRoute\DataSources\InventDim\Methods\ כתיבה" כדלקמן:קוד קיים

    void write(){    ;    prodJournalRoute_ds.write();}

    קוד החלפה

    void write(){    ;    prodJournalRoute_ds.write();    // Add the following line.    element.enableFieldsActive();}
  7. לשנות את הקוד ב- "\Forms\ProdJournalTransRoute\DataSources\ProdJournalRoute\Methods\active" כדלקמן:קוד קיים

    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;}

    קוד החלפה

    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. שנה את הקוד בפעולת השירות enableFieldsActive בטופס ProdJournalTransJob כדלקמן:קוד קיים

    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());}

    קוד החלפה

    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. שנה את הערך של מאפייני אובייקט מקור נתונים InventDim בטופס ProdJournalTransJob כדלקמן:

    • שנה את הערך של המאפיין LinkTypeInnerJoin.

    • שנה את הערך של המאפיין DelayActiveלא.

  10. הוסף את הקוד הבא של אובייקט "\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ validateWrite".

    public boolean validateWrite(){    boolean ret;    ;    if (inventDim.inventDimId == InventDim::inventDimIdBlank())        return true;    ret = super();        return ret;}
  11. לשנות את הקוד של אובייקט "\Forms\ProdJournalTransJob\DataSources\InventDim\Methods\ כתיבה" כדלקמן:קוד קיים

    void write(){    ;    prodJournalRoute_ds.write();}

    קוד החלפה

    void write(){    ;    prodJournalRoute_ds.write();    // Add the following line.    element.enableFieldsActive();}
  12. לשנות את הקוד ב- "\Forms\ProdJournalTransJob\DataSources\ProdJournalRoute\Methods\active" כדלקמן:קוד קיים

    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;}

    קוד החלפה

    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. שנה את הקוד בשיטת הכנס בטבלה ProdJournalRoute כדלקמן:קוד קיים

    void insert(){    ttsbegin;    if (! this.LineNum)        this.LineNum = ProdJournalRoute::lastLineNum(this.JournalId) + 1;    if (this.OprFinished)        this.JobFinished = NoYes::Yes;    this.updateRouteConstantRelease();    super();    ttscommit;}

    קוד החלפה

    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. שנה את הקוד בפעולת השירות initValue בטבלה ProdJournalRoute כדלקמן:קוד קיים

    void initValue(){    super();    this.TransDate= systemdateget();}

    קוד החלפה

    void initValue(){    super();    this.TransDate= systemdateget();    // Add the following line.    this.ProdInventDimId = InventDim::inventDimIdBlank();}

דרישות מוקדמות

אין תנאים מוקדמים נדרשים כדי להחיל תיקון חם זה.

דרישה להפעלה מחדש

אתה לא צריך להפעיל מחדש את המחשב לאחר החלת תיקון חם זה.

מצב

Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.

MICROSOFT ו/או ספקיה להפוך ללא ייצוג או אחריות לגבי ההתאמה, את המהימנות או למידת הדיוק של המידע הכלול במסמכים ופורסמו גרפיקה קרובים באתר אינטרנט זה ("חומרים") לכל מטרה. החומרים עשויים לכלול אי-דיוקים טכניים או שגיאות טיפוגרפיות ו ייתכן שיבוצעו בהם שינויים בכל עת ללא הודעה מוקדמת. עד למידה המירבית המותרת לפי החוק, MICROSOFT ו/או ספקיה מסירים מעצמם ולהשמיט כל ייצוגים, אחריות ותנאים אם EXPRESS, משתמעים או סטטוטוריים, כולל אך לא מוגבל לייצוגים, אחריות, או תנאים של כותרת, תנאי משביע רצון, אי-הפרה או איכות, סחירות והתאמה לתכלית מסוימת, ביחס החומרים.

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×