מאפייני הבעיה
לאחר התקנת KB2982157, אם תשתמש בתכונה מע מ מפורטת יחד עם שותף אחד יותר, הסכומים מסכם עבור כל שותף ללא עובר איפוס לאפס בגירסת Microsoft Dynamics NAV 2009 R2 הונגרית. בצע את השלבים במקטע קוד שינויים כדי לפתור בעיה זו. בעיה זו מתרחשת במוצרים הבאים:
-
גירסת Microsoft Dynamics NAV 2009 R2 הונגרית
פתרון
מידע על תיקונים חמים
תיקון חם נתמך זמין כעת מ- Microsoft. עם זאת, הוא מיועד רק לתיקון הבעיה המתוארת במאמר זה. יש להחיל אותו רק במערכות שהתעוררה בהן בעיה ספציפית זו. תיקון חם זה עשוי לעבור בדיקות נוספות. לכן, אם המערכת שברשותך לא נפגעה באופן חמור מבעיה זו, מומלץ להמתין ל- Microsoft Dynamics NAV 2009 service pack הבאה או גירסת Microsoft Dynamics NAV הבא המכיל תיקון חם זה.
הערה במקרים מיוחדים, שהצגת עבור שיחות עשויים לבטל אם מומחה תמיכה טכנית עבור Microsoft Dynamics ומוצרים קשורים יקבע שעדכון ספציפי יפתור את הבעיה. דמי התמיכה המקובלים יחולו על נוספים שאלות וסוגיות תמיכה אשר אינן מצריכות העדכון הספציפי האמור.מידע על ההתקנה
מיקרוסופט מציעה דוגמאות תכנות לצורך ההדגמה בלבד, ללא אחריות, בין מפורשת ובין משתמעת. זה כולל, אך אינו מוגבל ל, אחריות מכללא לגבי סחירות או התאמה למטרה מסוימת. מאמר זה מבוסס על ההנחה שאתה מכיר את שפת התכנות המודגמת ובקי בהפעלת הכלים המשמשים ליצירת פרוצדורות ולניפוי שגיאות. מהנדסי התמיכה של Microsoft יכולים לסייע בהסברת הפונקציונליות של פרוצדורה מסוימת. עם זאת, הם לא ישנו את הדוגמאות כדי לספק פונקציונליות נוספת או כדי לבנות פרוצדורות שיענו על צרכיך הספציפיים.
הערה לפני התקנת תיקון חם זה, ודא כי כל המשתמשים לקוח Microsoft Dynamics NAV אינם מחוברים למערכת. זה כולל שירותי Microsoft Dynamics NAV יישום שרת (NAS). אתה אמור להיות לקוח בלבד המשתמש המחובר כאשר ליישם תיקון חם זה. כדי ליישם תיקון חם זה, דרוש לך רשיון מפתחים. אנו ממליצים חשבון המשתמש בחלון כניסות Windows או בחלון מסד הנתונים כניסות יוקצו את מזהה תפקיד "סופר". אם חשבון המשתמש אין אפשרות להקצות מזהה תפקיד של "עילי", עליך לוודא כי חשבון משתמש בעל ההרשאות הבאות:-
שנה את ההרשאה עבור האובייקט שינוי.
-
הרשאת Execute עבור האובייקט 5210 מזהה אובייקט מערכת ועבור 9015 מזהה אובייקט מערכת
אובייקט.
הערה אין לך הרשאות למאגרי נתונים אלא אם כן יש לך לבצע תיקון נתונים.
שינויי קוד
הערה תמיד קוד מחשב פותר בסביבה מבוקרת לפני החלת התיקונים למחשבים הייצור שלך.
כדי לפתור בעיה זו, בצע את הפעולות הבאות:-
שינוי הקוד ב הדוח מפורטות הצהרת מע מ (14522) כדלקמן:
קוד קיים...PartnerId := PartnerBuffer."Partner ID";
PartnerVatId := PartnerBuffer."VAT Registration No."; PartnerName := GetPartnerName(PartnerType,PartnerId); Buffer.RESET; SetBufferFilters(PartnerType,PartnerId,PartnerVatId); ...קוד החלפה
...PartnerId := PartnerBuffer."Partner ID";
PartnerVatId := PartnerBuffer."VAT Registration No."; PartnerName := GetPartnerName(PartnerType,PartnerId); // Add the following line. PartnerBufferIsSet := TRUE; // End of the added line. Buffer.RESET; SetBufferFilters(PartnerType,PartnerId,PartnerVatId); ... -
שינוי בקוד במשתני הכללית הדוח מפורטות הצהרת מע מ (14522) כדלקמן:
קוד קיים 1...VAR
CompanyInfo@1170000002 : Record 79; Buffer@1170000007 : TEMPORARY Record 14550; PartnerBuffer@1170000008 : TEMPORARY Record 14551; PartnerName@1170000012 : Text[250]; PartnerVatId@1170000013 : Text[30]; ...קוד החלפה 1
...VAR
CompanyInfo@1170000002 : Record 79; Buffer@1170000007 : TEMPORARY Record 14550; // Add the following line. TempBuffer@1170000059 : TEMPORARY Record 14550; // End of the added line. PartnerBuffer@1170000008 : TEMPORARY Record 14551; PartnerName@1170000012 : Text[250]; PartnerVatId@1170000013 : Text[30]; ...קוד קיים 2
...VatAmount6@1170000050 : Decimal;
TotalOf1365Mline@1170000057 : TextConst 'ENU=Total of %1 line %2'; TotalOf1365M@1170000058 : TextConst 'ENU=Total of %1'; PROCEDURE SetBuffer@1170000000(VAR Buff@1170000000 : Record 14550;StartPeriod@1170000001 : Date;EndPeriod@1170000002 : Date;VATThresholdAmt@1170000003 : Decimal); BEGIN ...קוד החלפה 2
...VatAmount6@1170000050 : Decimal;
TotalOf1365Mline@1170000057 : TextConst 'ENU=Total of %1 line %2'; TotalOf1365M@1170000058 : TextConst 'ENU=Total of %1'; // Add the following line. PartnerBufferIsSet@1170000056 : Boolean; // End of the added line. PROCEDURE SetBuffer@1170000000(VAR Buff@1170000000 : Record 14550;StartPeriod@1170000001 : Date;EndPeriod@1170000002 : Date;VATThresholdAmt@1170000003 : Decimal); BEGIN ... -
שנה את הקוד בפונקציה CalcPartnerTotals ב הדוח מפורטות הצהרת מע מ (14522) כדלקמן:
קוד קיים... LOCAL PROCEDURE CalcPartnerTotals@1170000006(VAR Buff@1170000003 : Record 14550;VAR NumInvoices@1170000001 : Integer;VAR VatBase@1170000002 : Decimal;VAR VatAmount@1170000004 : Decimal);
BEGIN // Delete the following lines. NumInvoices := Buff.COUNT; IF Buff.FINDSET THEN REPEAT VatBase += ConvertToThousands(Buff."VAT Base"); VatAmount += ConvertToThousands(Buff."VAT Amount"); UNTIL Buff.NEXT = 0; END; LOCAL PROCEDURE CalcAllTotals@1170000015(); // End of the deleted lines. ...קוד החלפה
...LOCAL PROCEDURE CalcPartnerTotals@1170000006(VAR Buff@1170000003 : Record 14550;VAR NumInvoices@1170000001 : Integer;VAR VatBase@1170000002 : Decimal;VAR VatAmount@1170000004 : Decimal);
BEGIN // Add the following lines. VatBase := 0; VatAmount := 0; NumInvoices := Buff.COUNT; IF Buff.FINDSET THEN BEGIN IF Buff."1365M" THEN BEGIN IF PartnerBufferIsSet THEN BEGIN Buff.CALCSUMS("VAT Base", "VAT Amount"); VatBase := ConvertToThousands(Buff."VAT Base"); VatAmount := ConvertToThousands(Buff."VAT Amount"); END ELSE BEGIN REPEAT VatAmount += CalcPartnerSubTotal(Buff."VAT Registration No."); UNTIL Buff.NEXT = 0; END; END ELSE REPEAT VatBase += ConvertToThousands(Buff."VAT Base"); VatAmount += ConvertToThousands(Buff."VAT Amount"); UNTIL Buff.NEXT = 0; END; END; LOCAL PROCEDURE CalcPartnerSubTotal@1170000004(VATRegNo@1170000000 : Text[20]) VatAmount : Decimal; VAR Buffer2@1170000001 : Record 14550; EntryNo@1170000002 : Integer; BEGIN TempBuffer.RESET; TempBuffer.SETRANGE("VAT Registration No.",VATRegNo); IF NOT TempBuffer.FINDFIRST THEN BEGIN EntryNo := 0; TempBuffer.RESET; IF TempBuffer.FINDLAST THEN EntryNo := TempBuffer.EntryNo + 1; TempBuffer.INIT; TempBuffer.EntryNo := EntryNo; TempBuffer."VAT Registration No." := VATRegNo; TempBuffer.INSERT; Buffer2.RESET; Buffer2.SETRANGE("1365M-01"); Buffer2.SETRANGE("1365M-01K"); Buffer2.SETRANGE("1365M-02"); Buffer2.SETRANGE("1365M-02K"); Buffer2.SETRANGE("1365M",TRUE); Buffer2.SETRANGE("K-Correction Type"); Buffer2.SETRANGE("VAT Registration No.",VATRegNo); IF Buffer2.FINDSET THEN REPEAT VatAmount += Buffer2."VAT Amount"; UNTIL Buffer2.NEXT = 0; EXIT(ConvertToThousands(VatAmount)); END; END; LOCAL PROCEDURE CalcAllTotals@1170000015(); // End of the added lines. ...
דרישות מוקדמות
עליך להגדיר אחד מהמוצרים הבאים מותקנים כדי להחיל תיקון חם זה:
-
גירסת Microsoft Dynamics NAV 2009 R2 הונגרית
בנוסף, יש לך KB2982157 ו- MSDNAV2009R2ItemizedVAtHungary מותקן.
מידע בדבר הסרת ההתקנה
אין אפשרות להסיר את התיקון החם.
מצב
Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.
הערה זהו מאמר "פרסום מהיר" שנוצר ישירות בתוך ארגון התמיכה של Microsoft. המידע הכלול במסמך זה מסופק כמו שהוא כתגובה לבעיות המתעוררות. כתוצאה מהמהירות בביצוע כדי להפוך אותו לזמין, החומרים עשויים לכלול שגיאות טיפוגרפיות וייתכן שיבוצעו בהם שינויים בכל עת ללא הודעה מוקדמת. ראה תנאי השימוששיקולים נוספים.