2013-07-05 15 views
5

Jestem stoi z ciekawym zadaniu: CRM 2011 mam formularz faktury, w której umieszczony subgrid z pozycji faktury linii. Faktura forma żywa linia zawiera pola walutami i wyszukiwanie walut i problem jest to, że wszystkie pola, które związane waluty faktury linii wyświetlane z US Dollar znak „$”, ale wszyscy ich potrzebują, aby wyświetlić znak w zależności od wartości wybranej w polu „dokument waluta” faktury.Crm 2011 pola walutowe nie zmienia symbol waluty

To może być GB funtów i kiedy tworzę podmiot faktury linii tworzą go odnośnika walut wyświetlany jako GB funtów, ale nadal wyświetlane pola walutowe z US Dollar znak „$”. I tylko wtedy, gdy użytkownik zmieni ją na zerową iz powrotem na GB, wprowadzi zmiany.

wyślę id faktura dokument wartościowy walucie i nazwę jako parametry (p_DocumentCurrencyId, p_DocumentCurrencyName) fakturować formę podmiotu wiersza, a następnie wypełnij odnośnika walut na nim jako foloving:

Xrm.Page.getAttribute("transactioncurrencyid").setValue([{ id: parameters["p_DocumentCurrencyId"], name: parameters["p_DocumentCurrencyName"], entityType: "transactioncurrency"}]); 

Proszę o pomoc!

+0

Używasz rodzimych fakturze & invoicedetail podmioty lub podmioty niestandardowych? –

+0

@AndyMeyers: Jednostka faktury jest natywna, a linia faktury jest niestandardowa. – Ihor

Odpowiedz

2

Dobra, znalazłem rozwiązanie przez siebie, tutaj jest. Musimy odzyskać id walut z pola odnośnika walutowym i przekazać go w funkcji thet zwróci obiekt waluty przez ID, na przykład funkcję z SDK:

function retrieveCurrency(CurrencyId) { 
SDK.REST.retrieveRecord(
CurrencyId, 
"TransactionCurrency", 
null,null, 
function (currency) { 
    ChangeCurrencySymbol(currency); 
}, 
errorHandler 
); 
} 

z MS SDK http://msdn.microsoft.com/en-us/library/gg334427.aspx

a funkcja, która będzie być wywoływane z udanej zwrotnego i zrobić wymianę znaków:

function ChangeCurrencySymbol(currencyInfo) { 
if (currencyInfo != null) { 
    var currencySymbol = currencyInfo.CurrencySymbol; 
    // Looping through all currency controls on the form and sets the currency symbol. 
    $.each($("span.ms-crm-Money-CurrencySymbol"), function() 
    { 
     this.textContent = currencySymbol; 
    });   
} 
} 

po moich badań odkryłem, że jest to jedyny sposób, aby dynamicznie zmieniać symbole walut po dodaniu wartości do odnośnika waluty przez javascript aktualne.

Powiązane problemy