Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Причини

Після інсталяції останньої версії клієнта рахунків список звіту, якщо стосуються транзакцію платежу, пов'язані з рахунку-фактури і опублікувати її в Італійська версія Microsoft Dynamics NAV, 2009, звіт не показувати оплати. Відображається лише рахунку-фактури ближче. Виконайте дії, описані в розділі зміни коду , щоб вирішити цю проблему. Ця проблема виникає в таких продуктів:

  • Італійська версія Microsoft Dynamics NAV 2009-R2

  • Італійська версія Microsoft Dynamics NAV 2009 пакетом оновлень 1

Вирішення

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

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

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

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

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

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

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

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

  • Змінити дозвіл об'єкт, який буде змінити.

  • Права для виконання системи об'єкт з Ідентифікатором 5210 об'єкт і, код 9015 системи-об'єкт

    об'єкт.

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

Зміни коду

Примітка. Завжди тест код вирішення в середовищі контрольовані перед інсталяцією розглянутого виправлення виробництва комп'ютерів.

Щоб вирішити цю проблему, виконайте такі дії.

  1. Змінити код у звіті про рахунки-список клієнтів (12117), наступним чином:
    Наявний код 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)
    WHERE(Entry Type=CONST(Application));
    OnPreDataItem=BEGIN

    // Delete the following line.
    CustLedgEntry1.COPYFILTER("Posting Date", "Detailed Cust. Ledg. Entry"."Posting Date"); // IT0004
    // End of the deleted line.

    END;

    OnAfterGetRecord=BEGIN
    ...

    Код на заміну 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)
    WHERE(Entry Type=CONST(Application));
    OnPreDataItem=BEGIN

    // Add the following line.
    FindAppliedDtldCustLedgEntry(CustLedgEntry1."Entry No.");
    // End of the added line.

    END;

    OnAfterGetRecord=BEGIN
    ...

    Наявний код 2

    ...     {   END;

    OnAfterGetRecord=BEGIN

    // Delete the following lines.
    IF ("Entry No." = 0) OR ("Unapplied by Entry No." <> 0) OR
    ("Document Type" IN
    ["Document Type"::Payment,"Document Type"::Refund,"Document Type"::Dishonored,"Document Type"::" "])
    THEN
    ShowDetailedCustLedgerEntry := TRUE
    ELSE
    ShowDetailedCustLedgerEntry := FALSE;
    // IT0015.begin
    //VSTF275923 begin
    // VSTF305887.begin
    //IF PrintCustLedgEntry2 THEN
    IF PrintCustLedgEntry2 AND ("Document Type" <> "Document Type"::Payment) THEN
    CurrReport.SKIP;
    // VSTF305887.end
    //CurrReport.SKIP;
    //VSTF275923 end
    // IT0015.end
    CustLedgEntry3.GET("Applied Cust. Ledger Entry No.");
    CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
    // IT0004.begin
    ClosedByAmountLCY := "Amount (LCY)";
    TotalForCustomer += "Amount (LCY)";
    // IT0004.end
    TotalClosedByAmntLCY += "Amount (LCY)"; // IT0005
    // End of the deleted lines.

    END;

    DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);
    ...

    Код на заміну 2

    ...END;

    OnAfterGetRecord=BEGIN

    // Add the following lines.
    IF NOT TempDetailedCustLedgEntryApp.GET("Entry No.") THEN
    CurrReport.SKIP;
    CustLedgEntry3.GET("Cust. Ledger Entry No.");
    CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
    AppliedDocumentTypeText := FORMAT(CustLedgEntry3."Document Type");
    ClosedByAmountLCY := "Amount (LCY)";
    TotalForCustomer -= "Amount (LCY)";
    TotalClosedByAmntLCY -= "Amount (LCY)";
    // End of the added lines.

    END;

    DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);
    ...

    Наявний код 3

    ... SectionWidth=24450;
    SectionHeight=846;
    OnPreSection=BEGIN

    // Delete the following line.
    CurrReport.SHOWOUTPUT(ShowDetailedCustLedgerEntry)
    // End of the deleted line.

    END;

    }
    ...

    Код на заміну 3

    ...SectionWidth=24450;
    SectionHeight=846;
    OnPreSection=BEGIN

    // Add the following lines.
    IF ("Unapplied by Entry No." <> 0) THEN
    CurrReport.SHOWOUTPUT(FALSE);
    // End of the added lines.

    END;

    }
    ...

    Наявний код 4

    ...ForeColor=65535;
    SourceExpr="Document Type" = "Document Type"::Dishonored;
    DataSetFieldName=Document_Type_____Document_Type___Dishonored }

    // Delete the following lines.
    { 1130123;TextBox ;24000;0 ;150 ;423 ;Visible=No;
    SourceExpr=ShowDetailedCustLedgerEntry;
    DataSetFieldName=ShowDetailedCustLedgerEntry }
    // End of the deleted lines.

    }
    }
    { PROPERTIES
    ...

    Заміна з кодом 4

    ... ForeColor=65535;
    SourceExpr="Document Type" = "Document Type"::Dishonored;
    DataSetFieldName=Document_Type_____Document_Type___Dishonored }
    }
    }
    { PROPERTIES
    ...
  2. Змінити код у глобальних змінних, у звіті про рахунки-список клієнтів (12117) наступним чином:
    Наявний код 1

    ...Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';
    Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';
    SalesSetup@1130002 : Record 311;
    EndingDate@1130003 : Date;
    ExposureDate@1130004 : Date;
    OnlyOpened@1130005 : Boolean;
    ...

    Код на заміну 1

    ...  Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';
    Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';
    SalesSetup@1130002 : Record 311;

    // Add the following lines.
    CustLedgEntry3@1130130 : Record 21;
    TempDetailedCustLedgEntryApp@1130131 : TEMPORARY Record 379;
    // End of the added lines.

    EndingDate@1130003 : Date;
    ExposureDate@1130004 : Date;
    OnlyOpened@1130005 : Boolean;
    ...

    Наявний код 2

    ... TotExpAmntForCust@1130011 : Decimal;
    BalanceDue@1130012 : Decimal;
    NULL@1130013 : DateFormula;

    // Delete the following lines.
    CustLedgEntry3@1130130 : Record 21;
    PrintCustLedgEntry2@1130014 : Boolean;
    ShowDetailedCustLedgerEntry@1130015 : Boolean INDATASET;
    // End of the deleted lines.

    BEGIN
    {
    ...

    Код на заміну 2

    ...  TotExpAmntForCust@1130011 : Decimal;
    BalanceDue@1130012 : Decimal;
    NULL@1130013 : DateFormula;

    // Add the following lines.
    PrintCustLedgEntry2@1130014 : Boolean;
    AppliedDocumentTypeText@1130132 : Text[30];

    LOCAL PROCEDURE FindAppliedDtldCustLedgEntry@1130007(CustLedgerEntryNo@1130000 : Integer);
    VAR
    DetailedCustLedgEntry@1130001 : Record 379;
    DetailedCustLedgEntryApplied@1130003 : Record 379;
    BEGIN
    TempDetailedCustLedgEntryApp.RESET;
    TempDetailedCustLedgEntryApp.DELETEALL;

    DetailedCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgerEntryNo);
    DetailedCustLedgEntry.SETRANGE("Entry Type",DetailedCustLedgEntry."Entry Type"::Application);
    DetailedCustLedgEntry.SETRANGE(Unapplied,FALSE);

    DetailedCustLedgEntryApplied.SETRANGE(
    "Entry Type",DetailedCustLedgEntryApplied."Entry Type"::Application);

    IF DetailedCustLedgEntry.FINDSET THEN
    REPEAT
    DetailedCustLedgEntryApplied.SETRANGE(
    "Applied Cust. Ledger Entry No.",DetailedCustLedgEntry."Applied Cust. Ledger Entry No.");
    DetailedCustLedgEntryApplied.SETFILTER(
    "Cust. Ledger Entry No.",'<>%1',CustLedgerEntryNo);
    DetailedCustLedgEntryApplied.SETRANGE(
    "Customer No.",DetailedCustLedgEntry."Customer No.");
    DetailedCustLedgEntryApplied.SETRANGE(
    "Transaction No.",DetailedCustLedgEntry."Transaction No.");
    IF DetailedCustLedgEntryApplied.FINDSET THEN
    REPEAT
    TempDetailedCustLedgEntryApp := DetailedCustLedgEntryApplied;
    IF TempDetailedCustLedgEntryApp.INSERT THEN;
    UNTIL DetailedCustLedgEntryApplied.NEXT = 0;
    UNTIL DetailedCustLedgEntry.NEXT = 0;
    END;
    // End of the added lines.

    BEGIN
    {
    ...
  3. Змінити код у звіті про рахунки-список постачальника облікового запису (12116), наступним чином:
    Наявний код 1

    ... </TableRow>
    </TableRows>
    </Header>
    <Visibility>
    <Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>
    </Visibility>
    </TableGroup>
    </TableGroups>
    <Top>2.22222cm</Top>
    ...

    Код на заміну 1

    ... </TableRow>
    </TableRows>
    </Header>

    // Delete the following lines.
    <Visibility>
    <Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>
    </Visibility>
    // End of the deleted lines.

    </TableGroup>
    </TableGroups>
    <Top>2.22222cm</Top>
    ...

    Наявний код 2

    ...Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">
    <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>
    </Field>
    <Field Name="ShowDetailedCustLedgerEntry">
    <DataField>ShowDetailedCustomerLedgerEntry</DataField>
    </Field>
    </Fields>
    <Query>
    <CommandText />
    ...

    Код на заміну 2

    ...<Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">
    <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>
    </Field>

    // Delete the following lines.
    <Field Name="ShowDetailedCustLedgerEntry">
    <DataField>ShowDetailedCustomerLedgerEntry</DataField>
    </Field>
    // End of the deleted lines.

    </Fields>
    <Query>
    <CommandText />
    ...

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

Ви повинні мати одну з таких продуктів, щоб застосувати це виправлення:

  • Італійська версія Microsoft Dynamics NAV 2009-R2

  • Італійська версія Microsoft Dynamics NAV 2009 пакетом оновлень 1

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

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

Стан

Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".

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

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×