"הקו תזכיר חיוב מימון כבר קיים" או הודעת שגיאה "הקו תזכורת קיים כבר" בעת יצירת תזכורת או תזכיר חיוב מימון עבור לקוח ב- Microsoft Dynamics NAV 2009 SP1


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

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


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

פתרון


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

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

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



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

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

הערה לפני התקנת תיקון חם זה, ודא כי כל המשתמשים לקוח Microsoft Navision אינם מחוברים למערכת. זה כולל משתמשים לקוח של שירותי היישום של Microsoft Navision (NAS). אתה אמור להיות לקוח בלבד המשתמש המחובר כאשר ליישם תיקון חם זה.

כדי ליישם תיקון חם זה, דרוש לך רשיון מפתחים.

אנו ממליצים חשבון המשתמש בחלון כניסות Windows או בחלון מסד הנתונים כניסות יוקצו את מזהה תפקיד "סופר". אם חשבון המשתמש אין אפשרות להקצות מזהה תפקיד של "עילי", עליך לוודא כי חשבון משתמש בעל ההרשאות הבאות:
  • שנה את ההרשאה עבור האובייקט שינוי.
  • הרשאת Execute עבור האובייקט 5210 מזהה אובייקט מערכת ועבור האובייקט 9015 מזהה האובייקט של המערכת .


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

שינויי קוד

הערה תמיד קוד מחשב פותר בסביבה מבוקרת לפני החלת התיקונים למחשבים הייצור שלך.
כדי לפתור בעיה זו, בצע את הפעולות הבאות:
  1. שנה את הקוד בפונקציה InsertLines בטבלה כותרת תזכורת(295) כדלקמן:
    קוד קיים
    ...  ReminderLevel."Reminder Terms Code",ReminderLevel."No.","Currency Code")
    ELSE
    CurrencyForReminderLevelFound := FALSE;

    // Delete the following lines.
    IF (NOT CurrencyForReminderLevelFound AND (ReminderLevel."Additional Fee (LCY)" <> 0)) OR
    (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <> 0))
    THEN BEGIN
    ReminderLine.RESET;
    ReminderLine.SETRANGE("Reminder No.","No.");
    ReminderLine.SETRANGE("Line Type",ReminderLine."Line Type"::ReminderLine);
    ReminderLine."Reminder No." := "No.";
    IF ReminderLine.FIND('+') THEN
    NextLineNo := ReminderLine."Line No."
    ELSE
    NextLineNo := 0;
    ReminderLine.SETRANGE("Line Type");
    ReminderLine2 := ReminderLine;
    ReminderLine2.COPYFILTERS(ReminderLine);
    IF ReminderLine2.NEXT <> 0 THEN BEGIN
    LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") DIV 3;
    END ELSE
    LineSpacing := 10000;
    InsertBlankLine(ReminderLine."Line Type"::"Additional Fee");
    // End of the deleted lines.

    NextLineNo := NextLineNo + LineSpacing;
    ReminderLine.INIT;
    ReminderLine."Line No." := NextLineNo;
    ...
    קוד החלפה
    ... ReminderLevel."Reminder Terms Code",ReminderLevel."No.","Currency Code")
    ELSE
    CurrencyForReminderLevelFound := FALSE;

    // Add the following lines.
    IF (NOT CurrencyForReminderLevelFound) OR
    (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <>0))
    THEN BEGIN
    ReminderLine.RESET;
    ReminderLine.SETRANGE("Reminder No.","No.");
    ReminderLine.SETRANGE("Line Type",ReminderLine."Line Type"::ReminderLine);
    ReminderLine."Reminder No." := "No.";
    IF ReminderLine.FIND('+') THEN
    NextLineNo := ReminderLine."Line No."
    ELSE
    NextLineNo := 0;
    ReminderLine.SETRANGE("Line Type");
    ReminderLine2 := ReminderLine;
    ReminderLine2.COPYFILTERS(ReminderLine);
    IF ReminderLine2.NEXT <> 0 THEN BEGIN
    LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") DIV 3;
    END ELSE
    LineSpacing := 10000;
    InsertBlankLine(ReminderLine."Line Type"::"Additional Fee");
    END;
    IF (NOT CurrencyForReminderLevelFound AND (ReminderLevel."Additional Fee (LCY)" <>0)) OR
    (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <> 0))
    THEN BEGIN
    // End of the added lines.

    NextLineNo := NextLineNo + LineSpacing;
    ReminderLine.INIT;
    ReminderLine."Line No." := NextLineNo;
    ...
  2. שנה את הקוד בפונקציה InsertLines בטבלה כותרת התזכיר חיוב מימון(302) כדלקמן:
    קוד קיים
    ...BEGIN
    TESTFIELD("Fin. Charge Terms Code");
    FinChrgTerms.GET("Fin. Charge Terms Code");

    // Delete the following lines.
    IF FinChrgTerms."Additional Fee (LCY)" <> 0 THEN BEGIN
    FinChrgMemoLine.RESET;
    FinChrgMemoLine.SETRANGE("Finance Charge Memo No.","No.");
    FinChrgMemoLine."Finance Charge Memo No." := "No.";
    IF FinChrgMemoLine.FIND('+') THEN
    NextLineNo := FinChrgMemoLine."Line No."
    ELSE
    NextLineNo := 0;
    IF (FinChrgMemoLine.Type <>FinChrgMemoLine.Type::" ") OR
    (FinChrgMemoLine.Description <> '')
    THEN BEGIN
    LineSpacing := 10000;
    InsertBlankLine(FinChrgMemoLine."Line Type"::"Finance Charge Memo Line");
    END;
    // End of the deleted lines.

    NextLineNo := NextLineNo + 10000;
    FinChrgMemoLine.INIT;
    FinChrgMemoLine."Line No." := NextLineNo;
    ...
    קוד החלפה
    ... BEGIN
    TESTFIELD("Fin. Charge Terms Code");
    FinChrgTerms.GET("Fin. Charge Terms Code");

    // Add the following lines.
    FinChrgMemoLine.RESET;
    FinChrgMemoLine.SETRANGE("Finance Charge Memo No.","No.");
    FinChrgMemoLine."Finance Charge Memo No." := "No.";
    IF FinChrgMemoLine.FIND('+') THEN
    NextLineNo := FinChrgMemoLine."Line No."
    ELSE
    NextLineNo := 0;
    IF (FinChrgMemoLine.Type <> FinChrgMemoLine.Type::" ") OR
    (FinChrgMemoLine.Description <>'')
    THEN BEGIN
    LineSpacing := 10000;
    InsertBlankLine(FinChrgMemoLine."Line Type"::"Finance Charge Memo Line");
    END;
    IF FinChrgTerms."Additional Fee (LCY)" <> 0 THEN BEGIN
    // End of the added lines.

    NextLineNo := NextLineNo + 10000;
    FinChrgMemoLine.INIT;
    FinChrgMemoLine."Line No." := NextLineNo;
    ...

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

עליך להיות בעל Microsoft Dynamics NAV 2009 SP1 מותקן כדי להחיל תיקון חם זה.

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

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

מצב


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

הפניות


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