מאמר זה חל על Microsoft Dynamics ניווט עבור כל המדינות והאזורים כל שפה.
מאפייני הבעיה
נניח להוסיף דמי שירות במסמך רכישה ב- Microsoft Dynamics NAV 2009. לאחר מכן, תשנה את סכום מע מ רכישה סטטיסטיקה בטופס או דף. כאשר תפתח את סטטיסטיקת טופס או דף שוב, חישוב מחדש של הערך.
בעיה זו מתרחשת במוצרים הבאים:
-
Microsoft Dynamics NAV 2009 ה-Service Pack 1 (SP1)
-
Microsoft Dynamics R2 2009 סרגל ניווט
פתרון
מידע על תיקונים חמים
תיקון חם נתמך זמין כעת מ- Microsoft. עם זאת, הוא מיועד רק לתיקון הבעיה המתוארת במאמר זה. יש להחיל אותו רק במערכות שהתעוררה בהן בעיה ספציפית זו. תיקון חם זה עשוי לעבור בדיקות נוספות. לכן, אם המערכת שברשותך לא נפגעה באופן חמור מבעיה זו, מומלץ להמתין ל- Microsoft Dynamics NAV 2009 service pack הבאה או גירסת Microsoft Dynamics NAV הבא המכיל תיקון חם זה.
הערה במקרים מיוחדים, שהצגת עבור שיחות עשויים לבטל אם מומחה תמיכה טכנית עבור Microsoft Dynamics ומוצרים קשורים יקבע שעדכון ספציפי יפתור את הבעיה. דמי התמיכה המקובלים יחולו על נוספים שאלות וסוגיות תמיכה אשר אינן מצריכות העדכון הספציפי האמור.
מידע על ההתקנה
מיקרוסופט מציעה דוגמאות תכנות לצורך ההדגמה בלבד, ללא אחריות, בין מפורשת ובין משתמעת. זה כולל, אך אינו מוגבל ל, אחריות מכללא לגבי סחירות או התאמה למטרה מסוימת. מאמר זה מבוסס על ההנחה שאתה מכיר את שפת התכנות המודגמת ובקי בהפעלת הכלים המשמשים ליצירת פרוצדורות ולניפוי שגיאות. מהנדסי התמיכה של Microsoft יכולים לסייע בהסברת הפונקציונליות של פרוצדורה מסוימת, אך הם לא ישנו את הדוגמאות כדי לספק פונקציונליות נוספת או כדי לבנות פרוצדורות שיענו על צרכיך הספציפיים.
הערה לפני התקנת תיקון חם זה, ודא כי כל המשתמשים לקוח Microsoft Navision אינם מחוברים למערכת. זה כולל משתמשים לקוח של שירותי היישום של Microsoft Navision (NAS). אתה אמור להיות לקוח בלבד המשתמש המחובר כאשר ליישם תיקון חם זה.
כדי ליישם תיקון חם זה, דרוש לך רשיון מפתחים.
אנו ממליצים חשבון המשתמש בחלון כניסות Windows או בחלון מסד הנתונים כניסות יוקצו את מזהה תפקיד "סופר". אם חשבון המשתמש אין אפשרות להקצות מזהה תפקיד של "עילי", עליך לוודא כי חשבון משתמש בעל ההרשאות הבאות:
-
שנה את ההרשאה עבור האובייקט שינוי.
-
הרשאת Execute עבור האובייקט 5210 מזהה אובייקט מערכת ועבור האובייקט 9015 מזהה האובייקט של המערכת .
הערה אין לך הרשאות למאגרי נתונים אלא אם כן יש לך לבצע תיקון נתונים.
שינויי קוד
הערה תמיד קוד מחשב פותר בסביבה מבוקרת לפני החלת התיקונים למחשבים הייצור שלך.
כדי לפתור בעיה זו, בצע את הפעולות הבאות:
-
שנה את הקוד בפונקציה UpdateVATAmounts בטבלה קו מכירות (37) כדלקמן:
קוד קיים 1...END;
LOCAL PROCEDURE UpdateVATAmounts@38();
VAR
SalesLine2@1000 : Record 37;
TotalLineAmount@1005 : Decimal;
TotalInvDiscAmount@1004 : Decimal;
TotalAmount@1001 : Decimal;
TotalAmountInclVAT@1002 : Decimal;
TotalQuantityBase@1003 : Decimal;
...קוד החלפה 1
...END;
LOCAL PROCEDURE UpdateVATAmounts@38();
VAR
SalesLine2@1000 : Record 37;
// Add the following line.
CustPostingGr@1009 : Record 92;
// End of the added line.
TotalLineAmount@1005 : Decimal;
TotalInvDiscAmount@1004 : Decimal;
TotalAmount@1001 : Decimal;
TotalAmountInclVAT@1002 : Decimal;
TotalQuantityBase@1003 : Decimal;
...קוד קיים 2
...SalesLine2.SETFILTER(Amount,'>%1',0)
ELSE
SalesLine2.SETFILTER(Amount,'<%1',0);
SalesLine2.SETRANGE("VAT Identifier","VAT Identifier");
SalesLine2.SETRANGE("Tax Group Code","Tax Group Code");
IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
...קוד החלפה 2
...SalesLine2.SETFILTER(Amount,'>%1',0)
ELSE
SalesLine2.SETFILTER(Amount,'<%1',0);
SalesLine2.SETRANGE("VAT Identifier","VAT Identifier");
SalesLine2.SETRANGE("Tax Group Code","Tax Group Code");
// Add the following line.
CustPostingGr.GET(SalesHeader."Customer Posting Group");
// End of the added line.
IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
...קוד קיים 3
...IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
// Delete the following line.
IF "Line No." <> 0 THEN
// End of the deleted line.
IF MODIFY THEN
IF SalesLine2.FINDLAST THEN BEGIN
SalesLine2.UpdateAmounts;
SalesLine2.MODIFY;
END;
...קוד החלפה 3
...IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
// Add the following line.
IF ("Line No." <> 0) AND NOT ((Type = Type::"G/L Account") AND ("No." = CustPostingGr."Service Charge Acc.")) THEN
// End of the added line.
IF MODIFY THEN
IF SalesLine2.FINDLAST THEN BEGIN
SalesLine2.UpdateAmounts;
SalesLine2.MODIFY;
END;
... -
שנה את הקוד בפונקציה UpdateVATAmounts בטבלה שורת הרכישה (39) כדלקמן:
קוד קיים 1...END;
LOCAL PROCEDURE UpdateVATAmounts@38();
VAR
PurchLine2@1000 : Record 39;
TotalLineAmount@1005 : Decimal;
TotalInvDiscAmount@1004 : Decimal;
TotalAmount@1001 : Decimal;
TotalAmountInclVAT@1002 : Decimal;
TotalQuantityBase@1003 : Decimal;
...קוד החלפה 1
...END;
LOCAL PROCEDURE UpdateVATAmounts@38();
VAR
PurchLine2@1000 : Record 39;
// Add the following line.
VendPostingGr@1009 : Record 93;
// End of the added line.
TotalLineAmount@1005 : Decimal;
TotalInvDiscAmount@1004 : Decimal;
TotalAmount@1001 : Decimal;
TotalAmountInclVAT@1002 : Decimal;
TotalQuantityBase@1003 : Decimal;
...קוד קיים 2
...PurchLine2.SETFILTER(Amount,'>%1',0)
ELSE
PurchLine2.SETFILTER(Amount,'<%1',0);
PurchLine2.SETRANGE("VAT Identifier","VAT Identifier");
PurchLine2.SETRANGE("Tax Group Code","Tax Group Code");
IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
...קוד החלפה 2
...PurchLine2.SETFILTER(Amount,'>%1',0)
ELSE
PurchLine2.SETFILTER(Amount,'<%1',0);
PurchLine2.SETRANGE("VAT Identifier","VAT Identifier");
PurchLine2.SETRANGE("Tax Group Code","Tax Group Code");
// Add the following line.
VendPostingGr.GET(PurchHeader."Vendor Posting Group");
// End of the added line.
IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
...קוד קיים 3
...IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
// Delete the following line.
IF "Line No." <> 0 THEN
// End of the deleted line.
IF MODIFY THEN
IF PurchLine2.FINDLAST THEN BEGIN
PurchLine2.UpdateAmounts;
PurchLine2.MODIFY;
END;
...קוד החלפה 3
...IF "Line Amount" = "Inv. Discount Amount" THEN BEGIN
Amount := 0;
"VAT Base Amount" := 0;
"Amount Including VAT" := 0;
// Add the following line.
IF ("Line No." <> 0) AND NOT ((Type = Type::"G/L Account") AND ("No." = VendPostingGr."Service Charge Acc.")) THEN
// End of the added line.
IF MODIFY THEN
IF PurchLine2.FINDLAST THEN BEGIN
PurchLine2.UpdateAmounts;
PurchLine2.MODIFY;
END;
...
דרישות מוקדמות
עליך להגדיר אחד מהמוצרים הבאים מותקנים כדי להחיל תיקון חם זה:
-
Microsoft Dynamics NAV 2009 ה-Service Pack 1 (SP1)
-
Microsoft Dynamics R2 2009 סרגל ניווט
מידע בדבר הסרת ההתקנה
אין אפשרות להסיר את התיקון החם.
מצב
Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.
הערה זהו מאמר "פרסום מהיר" שנוצר ישירות בתוך ארגון התמיכה של Microsoft. המידע הכלול במסמך זה מסופק כמו שהוא כתגובה לבעיות המתעוררות. כתוצאה מהמהירות בביצוע כדי להפוך אותו לזמין, החומרים עשויים לכלול שגיאות טיפוגרפיות וייתכן שיבוצעו בהם שינויים בכל עת ללא הודעה מוקדמת. ראה תנאי השימוש שיקולים נוספים.