Inquiridor
Campo Moeda não reconhecido ou não alterável - Produto fora do catálogo

Pergunta
-
Bom Dia,
Estou com uma dificuldade em relação a produtos da oportunidade onde o TODOS os campos com configuração de tipo "moeda" não conseguem reconhecer a moeda configurada no sistema. Há somente uma moeda configurada no sistema.
Isto ocorre ao tentar cadastrar produto fora de catálogo. Detalhe: O campo "moeda" está em branco e bloqueado para preenchimento. Ao tentar preencher os demais campos, aparece mensagem de erro, informando "Será necessária uma moeda se houver um valor em um campo monetário. Selecione uma moeda e tente novamente".
Obrigado.
- Editado Bruno Gomes Oliveira quinta-feira, 3 de novembro de 2016 12:18
Todas as Respostas
-
Boas Bruno,
Qual é a versão do CRM que tens? Quando crias a oportunidade ele não está a preencher com a moeda? Ou é apenas quando adicionas um produto manualmente?
Espero ter ajudado.
Se respondi a sua pergunta por favor marque como resposta e\ou como útil.
Pedro Azevedo Dynamics Crm Specialist 4.0\2011\2013\2015\2016 and CRM Online
-
-
Olá Bruno,
O campo de Moeda é obrigatório por padrão nessa entidade, por conta dos cálculos envolvendo o valor e o valor (base), nos casos nos quais você não quer que o usuário precise informar qual moeda ele está utilizando, você pode utilizar um workflow síncrono para definir sempre a moeda Real.
[MCP | MCSA Microsoft SQL Server 2012 | MCTS Microsoft Dynamics CRM 2011]
-
-
Bruno,
Isso pode estar ocorrendo por ele estar somente leitura ou bloqueado no formulário, você consegue editar o formulário e nas propriedades do campo deixa-lo editável? Se sim, faz isso e depois tenta fzaer o workflow, caso contrário posta aqui um print para tentarmos te ajudar.
[MCP | MCSA Microsoft SQL Server 2012 | MCTS Microsoft Dynamics CRM 2011]
-
-
Bruno,
Tenta colocar o script abaixo no evento OnChange do campo Produto Fora do Catálogo, substituindo o trecho com GUID da Moeda pelo valor do GUID no seu ambiente.
function definirMoeda(){ // Pega o valor do campo Produto fora do catalogo var produtoForaCatalogo = Xrm.Page.data.entity.attributes.get("productdescription").getValue(); // Verifica se foi preenchido, se sim define a moeda para Real. if(produtoForaCatalogo != null){ SetLookupValue("transactioncurrencyid", {GUID da Moeda}, "Real", "transactioncurrency"); // Forca salvar o valor do campo desabilitado. Xrm.Page.data.entity.attributes.get("transactioncurrencyid").setSubmitMode("always"); } } // Funcao para auxiliar na definicao de campos do tipo lookup function SetLookupValue(fieldName, id, name, entityType) { if (fieldName != null) { var lookupValue = new Array(); lookupValue[0] = new Object(); lookupValue[0].id = id; lookupValue[0].name = name; lookupValue[0].entityType = entityType; Xrm.Page.getAttribute(fieldName).setValue(lookupValue); } }
[MCP | MCSA Microsoft SQL Server 2012 | MCTS Microsoft Dynamics CRM 2011]
- Sugerido como Resposta Azevedo PedroMVP sexta-feira, 4 de novembro de 2016 15:03
-
-
Bruno,
Para localizar o GUID da moeda você deve abrir o cadastro dela que fica em Configurações > Gerenciamento de Negócios > Moedas e pegar a URL, com a URL você extrai o guid pegando a parte que fica no trecho abaixo:
id=%7b[GUID]%7d
Ou você pode utilizar o procedimento no link abaixo para pegar o GUID:
http://mrcrm.com.br/index.php/2016/09/09/atalhos-parte-3/
[MCP | MCSA Microsoft SQL Server 2012 | MCTS Microsoft Dynamics CRM 2011]
-
Mesmo fazendo esse código não funcionou e se eu adiciono o evento ao campo moeda ele dá erro de permissão
- Editado Bruno Gomes Oliveira sexta-feira, 4 de novembro de 2016 18:57
-
-
-
Bruno,
Vc consegue descrever um passo a passo da operação que está tentando realizar? Se puder grava os passos com o psr.exe, preciso entender melhor que formulários vc está utilizando.
Se conseguir gravar os passos com o psr manda no email marcos.rocha@outlook.com.br
[MCP | MCSA Microsoft SQL Server 2012 | MCTS Microsoft Dynamics CRM 2011]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sugerido como Resposta Marcos Rocha segunda-feira, 7 de novembro de 2016 14:52
- Não Sugerido como Resposta Marcos Rocha segunda-feira, 7 de novembro de 2016 14:52
-
Bruno,
Por favor, substitui a função abaixo no evento OnChange do campo "productdescription".
Obs.: Já coloquei o GUID, vi no print que você enviou.
function definirMoeda(){ // Pega o valor do campo Produto fora do catalogo var produtoForaCatalogo = Xrm.Page.getAttribute("productdescription").getValue(); // Verifica se foi preenchido, se sim define a moeda para Real. if(produtoForaCatalogo != null){ SetLookupValue("transactioncurrencyid", "{7B851D62-CD97-E511-80D5-0050569E5434}", "Real", "transactioncurrency"); // Forca salvar o valor do campo desabilitado. Xrm.Page.getAttribute("transactioncurrencyid").setSubmitMode("always"); } } // Funcao para auxiliar na definicao de campos do tipo lookup function SetLookupValue(fieldName, id, name, entityType) { if (fieldName != null) { var lookupValue = new Array(); lookupValue[0] = new Object(); lookupValue[0].id = id; lookupValue[0].name = name; lookupValue[0].entityType = entityType; Xrm.Page.getAttribute(fieldName).setValue(lookupValue); } }
[MCP | MCSA Microsoft SQL Server 2012/2014 | Microsoft Dynamics CRM Consultant]
-
-
-
-
-
-
Boas Bruno,
Espero que entretanto o seu problema tenha sido resolvido.
Espero ter ajudado.
Se respondi a sua pergunta por favor marque como resposta e\ou como útil.Pedro Azevedo Dynamics Crm Specialist 4.0\2011\2013\2015\2016 and CRM Online