Kad esat sarežģītāku procesu vietā Microsoft Dynamics NAV 2009 poļu valodā, valūtas kursa izmaiņu nedarbojas. Šī problēma rodas ar šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2 poļu valodā

  • Microsoft Dynamics NAV 2009. gada 1. servisa pakotne (SP1) poļu valodā

Risinājums

Informācija par labojumfailu

Pašlaik korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Izmantojiet to tikai tām sistēmām, kurām ir radusies tieši šī problēma. Iespējams, tiks veikta šī labojumfaila papildu testēšana. Tādēļ, ja jums ir šī problēma nerada nopietnus traucējumus, ieteicams nogaidīt, līdz tiks izlaista nākamā servisa pakotne Microsoft Dynamics NAV 2009 vai nākamo Microsoft Dynamics NAV versiju, kurā ir iekļauts šis labojumfails.

Piezīme. Īpašos gadījumos standarta izmaksas par atbalsta zvaniem nav jāsedz, ja tehniskā atbalsta speciālists Microsoft Dynamics un saistītiem produktiem nosaka, ka šo problēmu novērsīs noteikts atjauninājums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

Informācija par instalēšanu

Microsoft piedāvā programmēšanas piemērus tikai uzskatāmībai, nesniedzot nekādas tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai atbilstību noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt programmēšanas valodu, kas tiek aprakstīta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot kādas noteiktas procedūras funkcionalitāti. Taču viņi nemainīs šos piemērus, lai sniegtu skaidrākus, un neveidos jaunas procedūras, kas atbilstu īpašām prasībām.

Piezīme. Pirms šī labojumfaila instalēšanas pārliecinieties, vai, ka visi Microsoft Dynamics NAV klienta lietotāji ir atteikušies sistēmu. Tas ietver Microsoft Dynamics NAV lietojumprogrammu serveris (NAS) pakalpojumus. Jums ir jābūt tikai klienta lietotājam, kurš ir pieteicies datorā, kad izmantojat šo labojumfailu.

Lai ieviestu šo labojumfailu, datorā jābūt instalētai izstrādātāja licenci.

Ieteicams, ka lietotāja konts tiek atvērts logs Windows lietotājvārdi vai logā datu bāzes lietotājvārdi piešķirt "SUPER" lomas ID. Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, ir jāpārbauda lietotāja konts ir šādas atļaujas:

  • Objektu, kad tiks mainīts modificēt atļaujas.

  • Izpildes atļauja objekta objekta ID 5210 sistēmas un sistēmas objekta ID 9015

    objektu.

Piezīme. Jums nav tiesības datu krātuvju vien veikt datu labošana.

Koda izmaiņas

Piezīme. Vienmēr pārbaudes kods novērš kontrolētā vidē pirms lietojat datoru ražošanas labojumus.

Lai novērstu šo problēmu, rīkojieties šādi:

  1. Nomainiet šo kodu rekvizītos atskaitē aprēķināt Exchange atšķirības (12302) šādi:
    Kods

    ...CaptionML=[ENU=Calculate Exchange Differences;
    PLK=Kalkulacja r��nic kursowych];
    ProcessingOnly=Yes;
    }
    DATAITEMS
    {
    ...

    Aizstāšanas kodu

    ...CaptionML=[ENU=Calculate Exchange Differences;
    PLK=Kalkulacja r��nic kursowych];
    ProcessingOnly=Yes;
    OnPreReport=BEGIN
    GLSetup.GET;
    END;

    }
    DATAITEMS
    {
    ...
  2. Nomainiet šo kodu atskaitē aprēķināt Exchange atšķirības (12302) šādi:
    Kods 1

    ...OnAfterGetRecord=VAR
    ApplBankAccountLedgerEntry@1000 : Record 271;
    AmountLCY@1001 : Decimal;
    BEGIN
    IF ((Amount < 0) OR (Amount = 0)) THEN
    CurrReport.SKIP;
    ...

    Aizstāšanas kods = 1

    ...OnAfterGetRecord=VAR
    ApplBankAccountLedgerEntry@1000 : Record 271;
    AmountLCY@1001 : Decimal;
    DiffGains@1170001 : Decimal;
    DiffLosses@1170002 : Decimal;
    BEGIN
    IF ((Amount < 0) OR (Amount = 0)) THEN
    CurrReport.SKIP;
    ...

    Kods 2.

    ...IF ((Amount < 0) OR (Amount = 0)) THEN
    CurrReport.SKIP;

    ExchRate := "Amount (LCY)" / Amount;
    RemainingAmount := Amount - "Applied Amount";
    ...

    Aizstāšanas kods 2.

    ...IF ((Amount < 0) OR (Amount = 0)) THEN
    CurrReport.SKIP;

    DiffGains := 0;
    DiffLosses := 0;
    ExchRate := "Amount (LCY)" / Amount;
    RemainingAmount := Amount - "Applied Amount";
    ...

    Kods 3

    ...ExchDiff := -(AppAmount * ExchRate - (AmountLCY * (AppAmount / BankAccLedgEntry.Amount)));

    BankAccLedgEntry."Difference Amount" := BankAccLedgEntry."Difference Amount" + ExchDiff;
    BankAccLedgEntry."Applied Amount" := BankAccLedgEntry."Applied Amount" + AppAmount;
    BankAccLedgEntry."Remaining Amount" := BankAccLedgEntry."Remaining Amount" - AppAmount;
    ...

    Aizstāšanas kodu 3.

    ...ExchDiff := -(AppAmount * ExchRate - (AmountLCY * (AppAmount / BankAccLedgEntry.Amount)));

    IF ExchDiff < 0 THEN
    ExchDiff := CalcRoundedAmount(ExchDiff,DiffGains);
    IF ExchDiff > 0 THEN
    ExchDiff := CalcRoundedAmount(ExchDiff,DiffLosses);

    BankAccLedgEntry."Difference Amount" := BankAccLedgEntry."Difference Amount" + ExchDiff;
    BankAccLedgEntry."Applied Amount" := BankAccLedgEntry."Applied Amount" + AppAmount;
    BankAccLedgEntry."Remaining Amount" := BankAccLedgEntry."Remaining Amount" - AppAmount;
    ...
  3. Nomainiet šo kodu, globālo mainīgo atskaitē aprēķināt Exchange atšķirības (12302) šādi:
    Kods

    ...VAR
    BankAccLedgEntry@1470000 : Record 271;
    BankAccLedgEntry2@1470003 : Record 271;
    ExchRate@1170000 : Decimal;
    ExchDiff@1170002 : Decimal;
    SumApplied@1170003 : Decimal;
    ...

    Aizstāšanas kodu

    ...VAR
    BankAccLedgEntry@1470000 : Record 271;
    BankAccLedgEntry2@1470003 : Record 271;
    GLSetup@1470103 : Record 98;
    ExchRate@1170000 : Decimal;
    ExchDiff@1170002 : Decimal;
    SumApplied@1170003 : Decimal;
    ...
  4. Nomainiet šo kodu CalcRoundedAmount funkciju aprēķināt valūtas kursa starpības ziņojumā (12302) šādi:
    Kods

    ...Recalculate := Recalculate_new;
    END;

    BEGIN
    END.
    }
    ...

    Aizstāšanas kodu

    ...Recalculate := Recalculate_new;
    END;

    LOCAL PROCEDURE CalcRoundedAmount@91(Amount@1000 : Decimal;VAR Remainder@1001 : Decimal) : Decimal;
    VAR
    AmountRnded@1002 : Decimal;
    BEGIN
    Amount := Amount + Remainder;
    AmountRnded := ROUND(Amount,GLSetup."Amount Rounding Precision");
    Remainder := Amount - AmountRnded;
    EXIT(AmountRnded);
    END;

    BEGIN
    END.
    }
    ...


Priekšnosacījumi

Datorā ir jābūt instalētai kādai no lai lietotu šo labojumfailu šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2 poļu valodā

  • Microsoft Dynamics NAV 2009 SP1 poļu valodā

Informācija par noņemšanu

Nevar noņemt šo labojumfailu.

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Piezīme. Šis ir STEIDZAMI PUBLICĒJAMS raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šajā rakstā ietvertā informācija ir sniegta, reaģējot uz nesen konstatētām problēmām. Tā kā šis raksts ir tapis pieejams neilgā laikā, materiālos var būt pareizrakstības kļūdas un tās var tikt labotas jebkurā laikā bez paziņojuma. Skatīt Lietošanasciti apsvērumi.

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?

Paldies par jūsu atsauksmēm!

×