Výmenných kurzoch sú aktualizované nesprávne, keď môžete integrovať Microsoft Dynamics CRM s Microsoft Dynamics NAV 2009 R2 pomocou konektora pre Microsoft Dynamics

Preklady článku Preklady článku
ID článku: 2597312 - Zobraziť produkty, ktorých sa tento článok týka.
Tento článok sa vzťahuje na Microsoft Dynamics NAV na všetky krajiny a všetky jazykové locales.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

PRIZNAKY

Predpokladajme, integrovať Microsoft Dynamics CRM s Microsoft Dynamics NAV 2009 R2 pomocou konektora pre Microsoft Dynamics Feature Pack 5. V niektorých prípadoch výmenných kurzoch aktualizujú nesprávne v Microsoft Dynamics CRM.
Keď aktualizujete výmenných kurzoch v Microsoft Dynamics NAV 2009 R2, zobrazí sa nasledovné chybové hlásenie:
[Výmenných kurzoch na menu] sa vyskytla chyba počas spracovania...
TransactionCurrency s ID = <guid>neexistuje.</guid>
V tejto situácii je synchronizujú iba prvý záznam o výmenných kurzoch Microsoft Dynamics CRM. Keď systém synchronizuje následné záznamy, ktoré sú zapísané do tabuľky výmenný kurz s neskôr termíny začiatkov, táto chyba vyskytuje.

PRICINA

Tento problém sa vyskytuje, pretože naposledy zmenený výmenný kurz, namiesto aktuálny výmenný kurz pre konkrétne meny, je synchronizovaný s Microsoft Dynamics CRM pomocou konektora pre Microsoft Dynamics.

RIESENIE

Informácie o rýchlej oprave

Podporovaná rýchla oprava je teraz k dispozícii od spoločnosti Microsoft. Len je však určená na odstránenie problému, ktorý je popísaný v tomto článku. Vzťahujú len na systémy, ktoré sú zažíva tento špecifický problém. Táto rýchla oprava môžu obdržať dodatočné testy. Preto, ak ste nie sú vážne ovplyvnené týmto problémom, odporúčame vám počkať na ďalšiu aktualizáciu service pack pre Microsoft Dynamics NAV 2009 alebo ďalšej verzii Microsoft Dynamics NAV, ktorá obsahuje túto rýchlu opravu.

Poznámka V osobitných prípadoch, poplatky, ktoré sú telefonickú podporu nemusia účtovať ak technickú podporu Professional pre Microsoft Dynamics a príbuzné výrobky určuje, že konkrétna aktualizácia vyrieši váš problém. Obvyklé podporné náklady budú vzťahovať na dodatočnú podporu otázkach a problémoch, ktoré nespĺňajú kritériá pre konkrétnu aktualizáciu predmetné.

Informácie o inštalácii

Spoločnosť Microsoft poskytuje príklady programovacieho základňa, bez ľubovoľnej vyjadrenej alebo implicitnej záruky. To zahŕňa, ale nie výhradne, implikovaných záruk obchodovateľnosti alebo vhodnosti na konkrétny účel. Tento článok predpokladá, že ovládate predvádzaný programovací jazyk a nástroje, ktoré sa používajú na vytváranie a ladenie procedúr. Pracovníci technickej podpory spoločnosti Microsoft môžu pomôcť vysvetliť funkčnosť konkrétny postup, ale nie modifikuje tieto príklady poskytovať pridanú funkčnosť alebo výstavbe postupy splniť vaše konkrétne požiadavky.

Poznámka Pred inštaláciou tejto rýchlej opravy sa overiť, že všetky Microsoft Navision klienta používatelia odhlásení systému. Toto zahŕňa Microsoft Navision aplikácie služby (NAS) užívateľov klientskych. Mali by ste byť iba klient prihláseného používateľa je pri implementácii túto rýchlu opravu.

Realizovať túto rýchlu opravu, musíte mať licenciu na vývojára.

Odporúčame, aby konto používateľa v okne prihlásenia systému Windows alebo v okne prihlásenia do databázy bolo pridelené "SUPER" úlohu ID. Ak konto používateľa nemôže byť priradené ID úlohu "SUPER", musíte overiť, že používateľské konto má nasledujúce povolenia:
  • Zmeniť povolenia pre objekt, ktorý vám bude zmena.
  • Spustiť povolenie pre Identifikácia objektu systém 5210 objekt a pre Identifikácia objektu systém 9015 objekt.


Poznámka Nemusíte mať práva na dátach, pokiaľ budete musieť vykonať opravy údajov.

Zmeny kódu

Poznámka Vždy kódom testu stanovuje v kontrolovanom prostredí pred použijete opravy do počítačov výroby.
Ak chcete vyriešiť tento problém, postupujte nasledovne:
  1. Uplatňovať tieto zmeny kódu Microsoft Dynamics NAV 2009 R2:
    1. Vytvorte nový GetCurrencyFactor Funkcia v tabuľke výmenný kurz (330) takto:
      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. Vytvorte nový SetCurrencyFactor Funkcia v tabuľke výmenný kurz (330) takto:
      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. Pridať novú globálnu premennú v menách podobe (5) a potom zadajte premennej takto:
      • meno: CurrencyFactor
      • Údajový typ: Desatinný
    4. Pridať Faktor meny (46) pole podobu menách (5).
    5. Pridať nový lokálnej premennej v Faktor meny - overovanie spúšť v menách forme (5) a potom zadajte premennej takto:
      • meno: CurrencyExchangeRate
      • Údajový typ: Záznam
      • Podtyp: Výmenný kurz
    6. Pridajte nasledujúci kód v Faktor meny - overovanie spúšť v menách forme (5):
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    7. Pridať nový lokálnej premennej v OnAfterGetRecord spúšť v menách forme (5) a potom zadajte premennej takto:
      • meno: CurrencyExchangeRate
      • Údajový typ: Záznam
      • Podtyp: Výmenný kurz
    8. Pridajte nasledujúci kód v OnAfterGetRecord spúšť v menách forme (5):
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    9. Pridanie novej globálnej premennej v menách stránku (5) a potom zadajte premennej takto:
      • meno: CurrencyFactor
      • Údajový typ: Desatinný
    10. Pridať Faktor meny pole meny stránke (5) a potom zadajte oblasti takto:
      • meno: CurrencyFactor
      • Popis: Faktor meny
      • Typ: Pole
      • SourceExpr.: CurrencyFactor
    11. Pridať nový lokálnej premennej v Faktor meny - overovanie spúšť v menách stránku (5) a potom zadajte premennej takto:
      • meno: CurrencyExchangeRate
      • Údajový typ: Záznam
      • Podtyp: Výmenný kurz
    12. Pridajte nasledujúci kód v Faktor meny - overovanie spúšť v menách stránku (5):
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    13. Pridať nový lokálnej premennej v OnAfterGetRecord spúšť v menách stránku (5) a potom zadajte premennej takto:
      • meno: CurrencyExchangeRate
      • Údajový typ: Záznam
      • Podtyp: Výmenný kurz
    14. Pridajte nasledujúci kód v OnAfterGetRecord spúšť v menách stránku (5):
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    15. Pridať nový lokálnej premennej v UpdateParentIntegrationRecord funkciu riadenia integrácie procedúra (5150) a potom zadajte premennej takto:
      • meno: Meny
      • Údajový typ: Záznam
      • Podtyp: Meny
    16. Zmena kódu v UpdateParentIntegrationRecord Funkcia v manažmentu integrácie procedúra (5150) takto:
      Existujúci kód
      ...
        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;
      Nahradenie kód
      ...
       
        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. Zmena kódu v EnableConnector Funkcia v manažmentu integrácie procedúra (5150) takto:
      Existujúci kód
      ...
      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");
      ...
      Nahradenie kód
      ...
      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. Zmena kódu v SetupIntegrationTable Funkcia v manažmentu integrácie procedúra (5150) takto:
      Existujúci kód
      ...
      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");
      ...
      Nahradenie kód
      ...
      InitializeIntegrationRecords(DATABASE::"Unit of Measure");
      InitializeIntegrationRecords(DATABASE::"Ship-to Address");
      InitializeIntegrationRecords(DATABASE::Contact);
      InitializeIntegrationRecords(DATABASE::"Customer Discount Group");
      ...
    19. Zmena kódu v IsIntergrationRecord Funkcia v manažmentu integrácie procedúra (5150) takto:
      Existujúci kód
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      
      //Delete the following line.
      DATABASE::"Currency Exchange Rate",
      
      DATABASE::"Customer Discount Group",
      ...
      Nahradenie kód
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      DATABASE::"Customer Discount Group",
      ...
    20. Zmena kódu v IsIntegrationRecordChild Funkcia v integrácii Mangement procedúra (5150) takto:
      Existujúci kód
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
      Nahradenie kód
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
      
         // Add the following line.
         DATABASE::"Currency Exchange Rate",
      
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
  2. Nainštalujte konektor pre Microsoft Dynamics Feature Pack 6.
    PoznámkaPo nainštalovaní konektora Microsoft Dynamics Feature Pack 6, musia deaktivovať "NAV výmenných kurzov na mien" Mapa konektor a importovať nové "NAV meny na menu" mapa, znova spustite Konfigurácia adaptéra NAV a potom aktivovať novej mape.

Predpoklady

Musíte mať nainštalovaný na tejto rýchlej Microsoft Dynamics NAV 2009 R2.

Informácie o odinštalovaní

Nemôžete odstrániť túto rýchlu opravu.

STAV

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti „vzťahuje sa na".
Poznámka To je "Rýchlo uverejniť" článok vytvorené priamo zo v rámci organizácie podpory spoločnosti Microsoft. Informácie obsiahnuté v tomto dokumente sa poskytuje ako-je v reakcii na vznikajúce problémy. Z dôvodu rýchlosti v jeho sprístupňovanie materiály môžu zahŕňať typografické chyby a môže revidovať kedykoľvek bez predchádzajúceho upozornenia. Pozri Podmienky používania pre iné hľadiská.

Vlastnosti

ID článku: 2597312 - Posledná kontrola: 30. augusta 2011 - Revízia: 3.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Dynamics NAV 2009
Kľúčové slová: 
kbqfe kbmbsmigrate kbmbscodefix kberrmsg kbsurveynew kbmt KB2597312 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:2597312

Odošlite odozvu

 

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