Valutawisselkoersen worden niet correct bijgewerkt wanneer u Microsoft Dynamics CRM met Microsoft Dynamics NAV 2009 R2 integreren via de Connector voor Microsoft Dynamics

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 2597312 - Bekijk de producten waarop dit artikel van toepassing is.
Dit artikel is van toepassing op Microsoft Dynamics NAV voor alle landen en alle taalinstellingen.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

Stel dat u Microsoft Dynamics CRM met Microsoft Dynamics NAV 2009 R2 integreren via de Connector voor Microsoft Dynamics functie Pack 5. Wisselkoersen worden in bepaalde scenario's niet goed bijgewerkt in Microsoft Dynamics CRM.
Als u wisselkoersen in Microsoft Dynamics NAV 2009 R2 bijwerkt, wordt het volgende foutbericht weergegeven:
[Valutawisselkoersen valuta] is een fout opgetreden tijdens het verwerken van ?
TransactionCurrency met ID = <guid>bestaat niet.</guid>
In deze situatie wordt de eerste record van de wisselkoersen van valuta gesynchroniseerd met Microsoft Dynamics CRM. Deze fout treedt op wanneer de volgende records die zijn ingevoerd in de tabel Valutawisselkoers met latere begindatums worden gesynchroniseerd.

Oorzaak

Dit probleem treedt op omdat de laatste gewijzigde Valutawisselkoers, in plaats van de huidige wisselkoers voor de desbetreffende valuta via de Connector voor Microsoft Dynamics voor Microsoft Dynamics CRM wordt gesynchroniseerd.

Oplossing

Informatie over hotfixes

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem dat in dit artikel wordt beschreven. Correctie alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige hinder van dit probleem ondervindt, is het daarom raadzaam te wachten op het volgende servicepack voor Microsoft Dynamics NAV 2009 of de volgende Microsoft Dynamics NAV-versie waarin deze hotfix is opgenomen.

Opmerking In speciale gevallen kunnen kosten die normaal verbonden zijn aan ondersteuningsoproepen, worden geannuleerd als een medewerker van Technical Support voor Microsoft Dynamics en verwante producten bepaalt dat een specifieke update de oplossing van uw probleem. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.

Informatie over de installatie

Microsoft biedt programming voorbeelden ter illustratie alleen, zonder expliciete of impliciete garantie van. Dit omvat, maar is niet beperkt tot impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken en foutopsporing van procedures. Ondersteuningstechnici van Microsoft kunnen helpen verklaren van de functionaliteit van een bepaalde procedure, maar niet deze voorbeelden om extra functionaliteit of het bouwen van procedures om te voldoen aan uw specifieke behoeften passen.

Opmerking Voordat u deze hotfix installeert, moet u controleren dat alle gebruikers van Microsoft Navision-clients zijn afgemeld van het systeem. Dit omvat Microsoft Navision Application Services (NAS) clientgebruikers van de. U moet de alleen clientgebruiker die is aangemeld wanneer u deze hotfix gaat implementeren.

U moet een ontwikkelaarslicentie hebben voor het implementeren van deze hotfix.

Raadzaam dat de gebruikersaccount in het venster Windows-aanmelding of Databaseaanmeldingen de rol-id 'SUPER'. Als de gebruikersaccount niet worden toegewezen als de rol-ID 'SUPER', moet u controleren of de gebruikersaccount de volgende machtigingen heeft:
  • De machtiging wijzigen voor het object dat u wijzigt.
  • De machtiging uitvoeren voor de System Object ID 5210 object en voor de System Object ID 9015 object.


Opmerking U hebt geen rechten om de opgeslagen gegevens hebben, tenzij u gegevens herstellen.

Wijzigingen in de code

Opmerking Altijd corrigeert test code in een testomgeving voordat u de correcties in de productieomgeving.
Dit probleem oplossen door de volgende stappen uit:
  1. De volgende code wijzigt in Microsoft Dynamics NAV 2009 R2 van toepassing:
    1. Maak een nieuwe GetCurrencyFactor werken in de tabel Valutawisselkoers (330) als volgt:
      PROCEDURE GetCurrentCurrencyFactor@14(CurrencyCode@1000 : Code[10]) : Decimal;
          BEGIN
            SETRANGE("Currency Code",CurrencyCode);
            IF FINDLAST THEN
              EXIT("Exchange Rate Amount" / "Relational Exch. Rate Amount")
          END;
    2. Maak een nieuwe SetCurrencyFactor werken in de tabel Valutawisselkoers (330) als volgt:
      PROCEDURE SetCurrentCurrencyFactor@15(CurrencyCode@1000 : Code[10];CurrencyFactor@1001 : Decimal);
          VAR
            RateForTodayExists@1002 : Boolean;
          BEGIN
            "Currency Code" := CurrencyCode;
            TESTFIELD("Currency Code");
            RateForTodayExists := GET(CurrencyCode,TODAY);
            "Exchange Rate Amount" := 1;
            "Relational Exch. Rate Amount" := 1 / CurrencyFactor;
            "Adjustment Exch. Rate Amount" := "Exchange Rate Amount";
            "Relational Adjmt Exch Rate Amt" := "Relational Exch. Rate Amount";
           IF RateForTodayExists THEN BEGIN
             "Relational Currency Code" := '';
             MODIFY;
           END ELSE BEGIN
             "Starting Date" := TODAY;
             INSERT;
           END;
          END;
    3. Voeg een nieuwe globale variabele in de vorm van valuta's (5) en geef de variabele als volgt:
      • Naam: CurrencyFactor
      • Gegevenstype: Decimaal
    4. Voeg toe de Wisselkoers veld (46) in het formulier voor valuta's (5).
    5. Voeg een nieuwe lokale variabele in de Wisselkoers - OnValidate trigger in de vorm van valuta's (5) en geef de variabele als volgt:
      • Naam: CurrencyExchangeRate
      • Gegevenstype: Record
      • Subtype: Valutawisselkoers
    6. Voeg de volgende code in de Wisselkoers - OnValidate geactiveerd in de vorm van valuta's (5):
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    7. Voeg een nieuwe lokale variabele in de OnAfterGetRecord trigger in de vorm van valuta's (5) en geef de variabele als volgt:
      • Naam: CurrencyExchangeRate
      • Gegevenstype: Record
      • Subtype: Valutawisselkoers
    8. Voeg de volgende code in de OnAfterGetRecord geactiveerd in de vorm van valuta's (5):
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    9. Voeg een nieuwe globale variabele op de pagina voor valuta's (5) en geef de variabele als volgt:
      • Naam: CurrencyFactor
      • Gegevenstype: Decimaal
    10. Voeg toe de Wisselkoers veld in de pagina voor valuta's (5) en geeft u het veld als volgt:
      • Naam: CurrencyFactor
      • Bijschrift: Wisselkoers
      • Type: Veld
      • SourceExpr.: CurrencyFactor
    11. Voeg een nieuwe lokale variabele in de Wisselkoers - OnValidate trigger in de pagina voor valuta's (5) en geef de variabele als volgt:
      • Naam: CurrencyExchangeRate
      • Gegevenstype: Record
      • Subtype: Valutawisselkoers
    12. Voeg de volgende code in de Wisselkoers - OnValidate geactiveerd op de pagina voor valuta's (5):
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    13. Voeg een nieuwe lokale variabele in de OnAfterGetRecord trigger in de pagina voor valuta's (5) en geef de variabele als volgt:
      • Naam: CurrencyExchangeRate
      • Gegevenstype: Record
      • Subtype: Valutawisselkoers
    14. Voeg de volgende code in de OnAfterGetRecord geactiveerd op de pagina voor valuta's (5):
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    15. Voeg een nieuwe lokale variabele in de UpdateParentIntegrationRecord werken in de codeunit integratie (5150) en geef de variabele als volgt:
      • Naam: Valuta
      • Gegevenstype: Record
      • Subtype: Valuta
    16. Wijzig de code in de UpdateParentIntegrationRecord werken in de codeunit integratie (5150) als volgt:
      Bestaande code
      ...
        DATABASE::"Ship-to Address":
          BEGIN
            FieldRef1 := RecRef.FIELD(1); // "Customer No."
            IF Customer.GET(FieldRef1.VALUE) THEN BEGIN
              ParentRecRef.GETTABLE(Customer);
              InsertUpdateIntegrationRecord(ParentRecRef,TimeStamp);
            END;
          END;
      END;
      Nieuwe code
      ...
       
        DATABASE::"Ship-to Address":
          BEGIN
            FieldRef1 := RecRef.FIELD(1); // "Customer No."
            IF Customer.GET(FieldRef1.VALUE) THEN BEGIN
              ParentRecRef.GETTABLE(Customer);
              InsertUpdateIntegrationRecord(ParentRecRef,TimeStamp);
            END;
          END;
      
      // Add the following lines.
        DATABASE::"Currency Exchange Rate":
          BEGIN
            FieldRef1 := RecRef.FIELD(1); // "Currency Code"
            IF Currency.GET(FieldRef1.VALUE) THEN BEGIN
              ParentRecRef.GETTABLE(Currency);
              InsertUpdateIntegrationRecord(ParentRecRef,TimeStamp);
            END;
          END;
      // End of the lines.
      
      END;
    17. Wijzig de code in de EnableConnector werken in de codeunit integratie (5150) als volgt:
      Bestaande code
      ...
      SetupWebServicePages(FORM::"Ship-to Address",DATABASE::"Ship-to Address");
      SetupWebServicePages(FORM::"Contact Card",DATABASE::Contact);
      
      //Delete the following line.
      SetupWebServicePages(FORM::"Currency Exchange Rates",DATABASE::"Currency Exchange Rate");
      
      SetupWebServicePages(FORM::"Customer Disc. Groups",DATABASE::"Customer Discount Group");
      SetupWebServicePages(FORM::"Item Disc. Groups",DATABASE::"Item Discount Group");
      ...
      Nieuwe code
      ...
      SetupWebServicePages(FORM::"Ship-to Address",DATABASE::"Ship-to Address");
      SetupWebServicePages(FORM::"Contact Card",DATABASE::Contact);
      SetupWebServicePages(FORM::"Customer Disc. Groups",DATABASE::"Customer Discount Group");
      SetupWebServicePages(FORM::"Item Disc. Groups",DATABASE::"Item Discount Group");
      ...
    18. Wijzig de code in de SetupIntegrationTable werken in de codeunit integratie (5150) als volgt:
      Bestaande code
      ...
      InitializeIntegrationRecords(DATABASE::"Unit of Measure");
      InitializeIntegrationRecords(DATABASE::"Ship-to Address");
      InitializeIntegrationRecords(DATABASE::Contact);
      
      //Delete the following line.
      InitializeIntegrationRecords(DATABASE::"Currency Exchange Rate");
      
      InitializeIntegrationRecords(DATABASE::"Customer Discount Group");
      ...
      Nieuwe code
      ...
      InitializeIntegrationRecords(DATABASE::"Unit of Measure");
      InitializeIntegrationRecords(DATABASE::"Ship-to Address");
      InitializeIntegrationRecords(DATABASE::Contact);
      InitializeIntegrationRecords(DATABASE::"Customer Discount Group");
      ...
    19. Wijzig de code in de IsIntergrationRecord werken in de codeunit integratie (5150) als volgt:
      Bestaande code
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      
      //Delete the following line.
      DATABASE::"Currency Exchange Rate",
      
      DATABASE::"Customer Discount Group",
      ...
      Nieuwe code
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      DATABASE::"Customer Discount Group",
      ...
    20. Wijzig de code in de IsIntegrationRecordChild werken in de codeunit integratie Mangement (5150) als volgt:
      Bestaande code
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
      Nieuwe code
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
      
         // Add the following line.
         DATABASE::"Currency Exchange Rate",
      
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
  2. De Connector voor Microsoft Dynamics featurepack 6 te installeren.
    OpmerkingNadat u de Connector voor Microsoft Dynamics functie Pack 6 installeert, moet u deactiveren, de kaart 'NAV valuta wisselkoersen voor valuta' in de Connector en importoverzicht nieuwe 'NAV valuta op valuta', opnieuw de adapterconfiguratie NAV en activeert u vervolgens de nieuwe toewijzing.

Voorwaarden

U moet Microsoft Dynamics NAV 2009 R2 zijn geïnstalleerd om deze hotfix te hebben.

Informatie over verwijderen

U kunt deze hotfix niet verwijderen.

Status

Microsoft heeft bevestigd dat dit een probleem in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is.
Opmerking Dit is een 'Snel publiceren' artikel rechtstreeks vanuit gemaakt binnen de organisatie van de ondersteuning van Microsoft. De informatie in dit document wordt geleverd als-is in reactie op de opkomende problemen. Als gevolg van de snelheid in het beschikbaar te maken, de materialen kunnen typfouten bevatten en kunnen op elk gewenst moment zonder kennisgeving worden gewijzigd. Zie Gebruiksvoorwaarden voor andere overwegingen.

Eigenschappen

Artikel ID: 2597312 - Laatste beoordeling: dinsdag 30 augustus 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Dynamics NAV 2009
Trefwoorden: 
kbqfe kbmbsmigrate kbmbscodefix kberrmsg kbsurveynew kbmt KB2597312 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:2597312

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com