A função fRMoeda foi criada para retornar um array com o nome da moeda e de sua respectiva taxa
/* +------------------+---------------------------------------------------------+ !Modulo ! Diversos ! +------------------+---------------------------------------------------------+ !Nome ! fRMoeda ! +------------------+---------------------------------------------------------+ !Descricao ! Função para retornar a descricao e o valor da taxa da ! ! ! moeda informada ! +------------------+---------------------------------------------------------+ !Data de Criacao ! 03/01/2011 ! +------------------+---------------------------------------------------------+ */ User Function fRMoeda(nMoeda) Local nValor := 1 Local aMoedas := {} Local aRetorno:= {} Local nCodMoe := 0 Local lAchou := .F. Local i Local oError := ErrorBlock({|e|MsgAlert("Mensagem de Erro: " +chr(10)+ e:Description)}) aMoedas := StrTokArr(GvGetMoedas(),";") Begin Sequence For i := 1 to len(aMoedas) nCodMoe := Int(Val(Substr(Alltrim(aMoedas[i]),1,1))) if(nCodMoe==nMoeda) aadd(aRetorno,{Substr(aMoedas[i],at("=",aMoedas[i])+1,10),RecMoeda(dDataBase,StrZero(nMoeda,2))}) lAchou := .T. exit Endif Next if lAchou==.F. aadd(aRetorno,{"MOEDA INEXISTENTE",0.00}) Endif End Sequence ErrorBlock(oError) Return(aRetorno) //Usando a função #Include "protheus.ch" User Function ftmoeda(nMoeda) Local cDescri := "" Local nTaxa := 0 aRetorno:= U_fRMoeda(nMoeda) cDescri := aRetorno[1,1] nTaxa := iif(Empty(aRetorno[1,2]),0,aRetorno[1,2]) MsgInfo("Moeda: " + cDescri + " - Taxa: " + Transform(nTaxa,PesqPict("SM2","M2_MOEDA1"))) Return