"Останні транзакцій немає. застосунок у користувацькі потрібно. Книга запис не [число] "повідомлення про помилку, під час скасування користувач книга запис, у Microsoft Dynamics NAV 2009 року


Ця стаття відноситься до Microsoft Dynamics NAV всі країни і всі мови.

Причини


Розглянемо таку ситуацію, у Microsoft Dynamics NAV-2009 року.
  • У вас є клієнта книга запис, який використовує іноземній валюті.
  • Запис частково застосування запису.
  • Ви запускаєте курси настроїти функцію, в іноземній валюті, який використовує на запис.
  • Ви скасування, користувач книга запис.
У цій ситуації з'являється таке повідомлення про помилку:
Останні транзакцій немає. потрібно в користувацькі застосунку. Книга запис не номер.

Ця проблема виникає в таких продуктів:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 пакет оновлень 1 (SP1)

Вирішення


Відомості про виправлення

Корпорація Майкрософт випустила підтримуване виправлення доступна. Однак, застосовувати лише для вирішення проблеми, описаної в цій статті. Він придатний лише для систем, які зазнають цієї конкретної проблеми. Те, що це виправлення може потребувати додаткового тестування. Таким чином, якщо ви не завдає значної, рекомендовано почекати до виходу чергового пакета оновлень Microsoft Dynamics NAV або наступної версії Microsoft Dynamics NAV, що містить це виправлення.

Примітка. В окремих випадках оплату звернення до служби підтримки може бути скасовано якщо технічної підтримки професійного для Microsoft Dynamics і пов'язані продукти визначає телефонів служби. Плата стягується на додаткові питання і проблеми, які не пов'язані з оновленням.


Відомості про інсталяцію

Корпорація Майкрософт надає приклади програмного коду тільки для ілюстрації, без гарантій – прямих або інших. Це включає, але не обмежується, будь-яких гарантій придатності до продажу та придатності для певної мети. У цій статті припускається, що ви знайомі з, що демонструє мову програмування та інструменти, які використовуються для створення та налагодження процедури. Співробітники служби підтримки корпорації Майкрософт можуть пояснити функціональні особливості кожної конкретної процедури, але вони не будуть змінювати приклади для реалізації додаткових можливостей або створювати процедури на вимогу окремих користувачів.

Примітка. Перш ніж інсталювати це виправлення, переконайтеся, що всі користувачі Microsoft Navision-клієнт відключився системи. Пакет оновлень містить Microsoft Navision застосунок служби (NAS) клієнта користувачів. Ви повинні тільки клієнт користувача, який увійшов до системи, під час виконання цього виправлення.

Щоб застосувати це виправлення, потрібно мати ліцензію для розробників.

Корпорація Майкрософт рекомендує, що обліковий запис користувача Windows, вхід вікна або у вікні бази даних входи призначити "Супер" роль ID. Якщо обліковий запис користувача не призначено роль ID "Супер", необхідно переконатися, що обліковий запис користувача, має такі дозволи:
  • Змінити дозвіл об'єкт, який буде змінити.
  • Права для виконання системи об'єкт з Ідентифікатором 5210 об'єкт а також системи об'єкт з Ідентифікатором 9015 об'єкта.


Примітка. Маєте відповідних прав у сховища даних, якщо не потрібно виконати дані відновлення не потрібно.

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.
Щоб вирішити цю проблему, виконайте такі дії.
  1. Змін у звіті про налаштування курси (595), функція AdjustCustomerLedgerEntry наступним чином:
    Наявний код 1
    ...AdjAmount := AdjAmount + OldAdjAmount;
    TempDtldCustLedgEntry."Amount (LCY)" := -OldAdjAmount;
    TempDtldCustLedgEntry."Entry Type" := TempDtldCustLedgEntry."Entry Type"::"Unrealized Gain";
    HandleCustDebitCredit(
    Amount,"Amount (LCY)",Correction,TempDtldCustLedgEntry."Amount (LCY)");
    TempDtldCustLedgEntry.INSERT;
    NewEntryNo := NewEntryNo + 1;
    AdjExchRateBufferUpdate(
    "Currency Code",Customer."Customer Posting Group",

    // Delete the following line.
    0,0,-OldAdjAmount,0,-OldAdjAmount,DimEntryNo,PostingDate2,Customer."IC Partner Code");

    Adjust := FALSE;
    END;
    END;
    END;
    END;
    IF OldAdjAmount < 0 THEN BEGIN
    ...
    Код на заміну 1
    ...AdjAmount := AdjAmount + OldAdjAmount;
    TempDtldCustLedgEntry."Amount (LCY)" := -OldAdjAmount;
    TempDtldCustLedgEntry."Entry Type" := TempDtldCustLedgEntry."Entry Type"::"Unrealized Gain";
    HandleCustDebitCredit(
    Amount,"Amount (LCY)",Correction,TempDtldCustLedgEntry."Amount (LCY)");
    TempDtldCustLedgEntry.INSERT;
    NewEntryNo := NewEntryNo + 1;
    AdjExchRateBufferUpdate(
    "Currency Code",Customer."Customer Posting Group",

    // Add the following line.
    0,0,-OldAdjAmount,-OldAdjAmount,0,DimEntryNo,PostingDate2,Customer."IC Partner Code");

    Adjust := FALSE;
    END;
    END;
    END;
    END;
    IF OldAdjAmount < 0 THEN BEGIN
    ...
    Наявний код 2
    ...AdjAmount := OldAdjAmount + AdjAmount;
    TempDtldCustLedgEntry."Amount (LCY)" := -OldAdjAmount;
    TempDtldCustLedgEntry."Entry Type" := TempDtldCustLedgEntry."Entry Type"::"Unrealized Loss";
    HandleCustDebitCredit(
    Amount,"Amount (LCY)",Correction,TempDtldCustLedgEntry."Amount (LCY)");
    TempDtldCustLedgEntry.INSERT;
    NewEntryNo := NewEntryNo + 1;
    AdjExchRateBufferUpdate(
    "Currency Code",Customer."Customer Posting Group",

    // Delete the following line.
    0,0,-OldAdjAmount,-OldAdjAmount,0,DimEntryNo,PostingDate2,Customer."IC Partner Code");

    Adjust := FALSE;
    END;
    END;
    END;
    END;
    IF NOT Adjust THEN BEGIN
    ...
    Код на заміну 2
    ...AdjAmount := OldAdjAmount + AdjAmount;
    TempDtldCustLedgEntry."Amount (LCY)" := -OldAdjAmount;
    TempDtldCustLedgEntry."Entry Type" := TempDtldCustLedgEntry."Entry Type"::"Unrealized Loss";
    HandleCustDebitCredit(
    Amount,"Amount (LCY)",Correction,TempDtldCustLedgEntry."Amount (LCY)");
    TempDtldCustLedgEntry.INSERT;
    NewEntryNo := NewEntryNo + 1;
    AdjExchRateBufferUpdate(
    "Currency Code",Customer."Customer Posting Group",

    // Add the following line.
    0,0,-OldAdjAmount,0,-OldAdjAmount,DimEntryNo,PostingDate2,Customer."IC Partner Code");

    Adjust := FALSE;
    END;
    END;
    END;
    END;
    IF NOT Adjust THEN BEGIN
    ...
  2. Змінити код функції FindLastTransactionNo в codeunit-CustEntry, застосування додано записи (226) наступним чином:
    Наявний код
    ...// Delete the following lines.
    DtldCustLedgEntry.SETCURRENTKEY("Cust. Ledger Entry No.","Entry Type");
    DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntryNo);
    LastTransactionNo := 0;
    IF DtldCustLedgEntry.FIND('-') THEN
    REPEAT
    IF (DtldCustLedgEntry."Transaction No." > LastTransactionNo) AND NOT DtldCustLedgEntry.Unapplied THEN
    LastTransactionNo := DtldCustLedgEntry."Transaction No.";
    UNTIL DtldCustLedgEntry.NEXT = 0;
    EXIT(LastTransactionNo);
    // End of the lines.
    ...
    Заміна код
    ...// Add the following lines. 
    WITH DtldCustLedgEntry DO BEGIN
    SETCURRENTKEY("Cust. Ledger Entry No.","Entry Type");
    SETRANGE("Cust. Ledger Entry No.",CustLedgEntryNo);
    SETRANGE(Unapplied,FALSE);
    SETFILTER("Entry Type",'<>%1&<>%2',"Entry Type"::"Unrealized Loss","Entry Type"::"Unrealized Gain");
    LastTransactionNo := 0;
    IF FINDSET THEN
    REPEAT
    IF LastTransactionNo < "Transaction No." THEN
    LastTransactionNo := "Transaction No.";
    UNTIL NEXT = 0;
    END;
    EXIT(LastTransactionNo);
    //End of the lines.
    ...
  3. Змінити код функції FindLastTransactionNo в codeunit-VendEntry, застосування додано записи (227) наступним чином:
    Наявний код
    ...// Delete the following lines.
    DtldVendLedgEntry.SETCURRENTKEY("Vendor Ledger Entry No.","Entry Type");
    DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendLedgEntryNo);
    LastTransactionNo := 0;
    IF DtldVendLedgEntry.FIND('-') THEN
    REPEAT
    IF (DtldVendLedgEntry."Transaction No." > LastTransactionNo) AND NOT DtldVendLedgEntry.Unapplied THEN
    LastTransactionNo := DtldVendLedgEntry."Transaction No.";
    UNTIL DtldVendLedgEntry.NEXT = 0;
    EXIT(LastTransactionNo);
    // End of the lines.
    ...
    Заміна код
    ...// Add the following lines. 
    WITH DtldVendLedgEntry DO BEGIN
    SETCURRENTKEY("Vendor Ledger Entry No.","Entry Type");
    SETRANGE("Vendor Ledger Entry No.",VendLedgEntryNo);
    SETRANGE(Unapplied,FALSE);
    SETFILTER("Entry Type",'<>%1&<>%2',"Entry Type"::"Unrealized Loss","Entry Type"::"Unrealized Gain");
    LastTransactionNo := 0;
    IF FINDSET THEN
    REPEAT
    IF LastTransactionNo < "Transaction No." THEN
    LastTransactionNo := "Transaction No.";
    UNTIL NEXT = 0;
    END;
    EXIT(LastTransactionNo);
    //End of the lines.
    ...

Попередні вимоги

Ви повинні мати одну з таких продуктів, щоб застосувати це виправлення:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 пакет оновлень 1 для

Відомості про видалення

Це виправлення не можна видалити.

Стан


Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".
Примітка. Це "Швидка публікація" статті, надана службою підтримки корпорації Майкрософт. Відомості в цій статті надано без змін у відповідь на повідомлення про проблеми. З огляду на швидкість публікації матеріали можуть містити орфографічні помилки. Їх може бути змінено в будь-який час без повідомлення. Щоб отримати додаткові відомості, див. Умови використання.