חל על
Dynamics NAV 2009

מאמר זה חל על Microsoft Dynamics ניווט עבור כל המדינות והאזורים כל שפה.

מאפייני הבעיה

בעת יצירת חוזה שירות (לא כמקדמה) ולשנות את החשבונית לפני הרישום ב- Microsoft Dynamics NAV 2009, אין נתונים לא עקביים בין ערכי ספר ראשי של שירות בספר הראשי. בעיה זו מתרחשת במוצרים הבאים:

  • Microsoft Dynamics R2 2009 סרגל ניווט

  • Microsoft Dynamics NAV 2009 ה-Service Pack 1

פתרון

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

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

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

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

  • שנה את ההרשאה עבור האובייקט שינוי.

  • הרשאת Execute עבור האובייקט 5210 מזהה אובייקט מערכת ועבור האובייקט 9015 מזהה האובייקט של המערכת .

הערה אין לך הרשאות למאגרי נתונים אלא אם כן יש לך לבצע תיקון נתונים.

שינויי קוד

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

  1. שנה את הקוד בטבלת מידות מסמך (357) כדלקמן:קוד קיים 1

    ...      Text005@1009 : TextConst 'ENU=Canceled.';      Text006@1010 : TextConst 'ENU=You may have changed a dimension. Some lines are already shipped. When you post the line with the changed dimension to the general ledger, amounts on the Inventory Interim account will be out of balance when reported per dimension.\\Do you want to update the lines?';    PROCEDURE UpdateGlobalDimCode@25(GlobalDimCodeNo@1000 : Integer;"Table ID"@1001 : Integer;"Document Type"@1002 : Option;"Document No."@1003 : Code[20];"Line No."@1004 : Integer;NewDimValue@1005 : Code[20]);...

    קוד החלפה 1

    ...      Text005@1009 : TextConst 'ENU=Canceled.';      Text006@1010 : TextConst 'ENU=You may have changed a dimension. Some lines are already shipped. When you post the line with the changed dimension to the general ledger, amounts on the Inventory Interim account will be out of balance when reported per dimension.\\Do you want to update the lines?';      Text007@1011 : TextConst 'ENU=You cannot change the dimension because the document is based on a service contract.';    PROCEDURE UpdateGlobalDimCode@25(GlobalDimCodeNo@1000 : Integer;"Table ID"@1001 : Integer;"Document Type"@1002 : Option;"Document No."@1003 : Code[20];"Line No."@1004 : Integer;NewDimValue@1005 : Code[20]);...

    קוד קיים 2

    ...    PROCEDURE VerifyLineDim@5(VAR DocDim@1000 : Record 357);    VAR      SalesLine@1001 : Record 37;      PurchaseLine@1002 : Record 39;    BEGIN      CASE "Table ID" OF        DATABASE::"Sales Line":          BEGIN            IF SalesLine.GET(DocDim."Document Type",DocDim."Document No.",DocDim."Line No.") THEN              IF (SalesLine."Qty. Shipped Not Invoiced" <> 0) OR (SalesLine."Return Rcd. Not Invd." <> 0) THEN                IF NOT CONFIRM(Text004,TRUE,SalesLine.TABLECAPTION) THEN                  ERROR(Text005)          END;        DATABASE::"Purchase Line":          BEGIN            IF PurchaseLine.GET(DocDim."Document Type",DocDim."Document No.",DocDim."Line No.") THEN              IF (PurchaseLine."Qty. Rcd. Not Invoiced" <> 0) OR (PurchaseLine."Return Qty. Shipped Not Invd." <> 0) THEN                IF NOT CONFIRM(Text004,TRUE,PurchaseLine.TABLECAPTION) THEN                  ERROR(Text005)          END;      END;    END;...

    קוד החלפה 2

    ...    PROCEDURE VerifyLineDim@5(VAR DocDim@1000 : Record 357);    VAR      SalesLine@1001 : Record 37;      PurchaseLine@1002 : Record 39;      ServiceHeader@1003 : Record 5900;      ServiceLine@1004 : Record 5902;    BEGIN      CASE "Table ID" OF        DATABASE::"Sales Line":          BEGIN            IF SalesLine.GET(DocDim."Document Type",DocDim."Document No.",DocDim."Line No.") THEN              IF (SalesLine."Qty. Shipped Not Invoiced" <> 0) OR (SalesLine."Return Rcd. Not Invd." <> 0) THEN                IF NOT CONFIRM(Text004,TRUE,SalesLine.TABLECAPTION) THEN                  ERROR(Text005)          END;        DATABASE::"Purchase Line":          BEGIN            IF PurchaseLine.GET(DocDim."Document Type",DocDim."Document No.",DocDim."Line No.") THEN              IF (PurchaseLine."Qty. Rcd. Not Invoiced" <> 0) OR (PurchaseLine."Return Qty. Shipped Not Invd." <> 0) THEN                IF NOT CONFIRM(Text004,TRUE,PurchaseLine.TABLECAPTION) THEN                  ERROR(Text005)          END;        DATABASE::"Service Header":          IF ServiceHeader.GET(DocDim."Document Type",DocDim."Document No.") AND (ServiceHeader."Contract No." <> '') THEN            ERROR(Text007);        DATABASE::"Service Line":          IF ServiceLine.GET(DocDim."Document Type",DocDim."Document No.",DocDim."Line No.") THEN            IF (ServiceLine."Contract No." <> '') THEN              ERROR(Text007);      END;    END;...
  2. שנה את הקוד בטבלה שורת שירות (5902) כדלקמן:קוד קיים 1

    ...               IF (Quantity <> 0) AND ItemExists(xRec."No.") AND                  (("Spare Part Action" = "Spare Part Action"::"Component Replaced") OR                   ("Spare Part Action" = "Spare Part Action"::"Component Installed") OR                   ("Spare Part Action" = "Spare Part Action"::" "))               THEN                 ReserveServLine.VerifyChange(Rec,xRec);             END;    OnDelete=VAR...

    קוד החלפה 1

    ...               IF (Quantity <> 0) AND ItemExists(xRec."No.") AND                  (("Spare Part Action" = "Spare Part Action"::"Component Replaced") OR                   ("Spare Part Action" = "Spare Part Action"::"Component Installed") OR                   ("Spare Part Action" = "Spare Part Action"::" "))               THEN                 ReserveServLine.VerifyChange(Rec,xRec);               IF "Document Type" = ServiceLine."Document Type"::Invoice THEN                 IF ("Appl.-to Service Entry" <> 0) AND ("Contract No." <> '') THEN                   ERROR(Text046);             END;    OnDelete=VAR...

    קוד קיים 2

    ...    { 5   ;   ;Type                ;Option        ;OnValidate=BEGIN                                                                GetServHeader;                                                                TESTFIELD("Qty. Shipped Not Invoiced",0);...

    קוד החלפה 2

    ...    { 5   ;   ;Type                ;Option        ;OnValidate=BEGIN                                                                IF ("Appl.-to Service Entry" <> 0) AND ("Contract No." <> '') THEN                                                                  ERROR(Text046);                                                                GetServHeader;...

    קוד קיים 3

    ...    { 6   ;   ;No.                 ;Code20        ;TableRelation=IF (Type=CONST(" ")) "Standard Text"                                                                 ELSE IF (Type=CONST(G/L Account)) "G/L Account"                                                                 ELSE IF (Type=CONST(Item)) Item                                                                 ELSE IF (Type=CONST(Resource)) Resource                                                                 ELSE IF (Type=CONST(Cost)) "Service Cost";                                                   OnValidate=VAR                                                                ShowLocMessage@1000 : Boolean;                                                              BEGIN                                                                TESTFIELD("Qty. Shipped Not Invoiced",0);...

    קוד החלפה 3

    ...    { 6   ;   ;No.                 ;Code20        ;TableRelation=IF (Type=CONST(" ")) "Standard Text"                                                                 ELSE IF (Type=CONST(G/L Account)) "G/L Account"                                                                 ELSE IF (Type=CONST(Item)) Item                                                                 ELSE IF (Type=CONST(Resource)) Resource                                                                 ELSE IF (Type=CONST(Cost)) "Service Cost";                                                   OnValidate=VAR                                                                ShowLocMessage@1000 : Boolean;                                                              BEGIN                                                                IF ("Appl.-to Service Entry" <> 0) AND ("Contract No." <> '') THEN                                                                  ERROR(Text046);                                                                TESTFIELD("Qty. Shipped Not Invoiced",0);...

    קוד קיים 4

    ...    { 22  ;   ;Unit Price          ;Decimal       ;OnValidate=BEGIN                                                                GetServHeader;                                                                IF ("Unit Price" > ServHeader."Max. Labor Unit Price") AND...

    קוד החלפה 4

    ...    { 22  ;   ;Unit Price          ;Decimal       ;OnValidate=BEGIN                                                                GetServHeader;                                                                IF ("Appl.-to Service Entry" > 0) AND (CurrFieldNo <> 0) THEN                                                                  ERROR(Text046,FIELDCAPTION("Unit Price"));                                                                IF ("Unit Price" > ServHeader."Max. Labor Unit Price") AND...

    קוד קיים 5

    ...      Text043@1097 : TextConst 'ENU=You cannot change the value of the %1 field manually if %2 for this line is %3';      Text044@1012 : TextConst 'ENU=Do you want to split the resource line and use it to create resource lines\for the other service items with divided amounts?';      Text045@1099 : TextConst 'ENU=You cannot delete this service line because one or more service entries exist for this line.';...

    קוד החלפה 5

    ...      Text043@1097 : TextConst 'ENU=You cannot change the value of the %1 field manually if %2 for this line is %3';      Text044@1012 : TextConst 'ENU=Do you want to split the resource line and use it to create resource lines\for the other service items with divided amounts?';      Text045@1099 : TextConst 'ENU=You cannot delete this service line because one or more service entries exist for this line.';     Text046@1100 : TextConst 'ENU=You cannot modify the document because it is based on a service contract.';...

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

עליך להגדיר אחד מהמוצרים הבאים מותקנים כדי להחיל תיקון חם זה:

  • Microsoft Dynamics R2 2009 סרגל ניווט

  • Microsoft Dynamics NAV 2009 ה-Service Pack 1

מידע בדבר הסרת ההתקנה

אין אפשרות להסיר את התיקון החם.

מצב

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

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

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

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

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