Inquiridor
Customização em C#

Pergunta
-
Pessoal,
Gostaria de fazer o seguinte codido em C#
if (crmForm.new_picklist1.DataValue == 1)
crmForm.new_status.DataValue == "Reservado";
Este codigo foi feito em JavaScript mas gostaria de fazer em c#.
Já consegui criar registros etc, mas não consegui fazer com que ao alterar o valor de um campo um outro campo receba um valor (em c#, pois em javascript é tranquilo).
Todas as Respostas
-
Luiz,
para vc acesar esse campo novo que vc criou através do C#, é necessário que vc instancie a classe referente à entidade aonde esse campo foi criado.
Após criar um objeto dessa classe, vc terá disponível as propriedades (get e set) para poder manipular os mesmos.
Caso a entidade seja sua (customizada), vc deverá usar a classe DynamicEntity, pois esta permite que vc instancie objetos de entidades próprias.
Pedro.
-
Caro Luiz,
Na verdade, existem alguns pontos importantes na sua dúvida, que merecem ser esclarecidos:
a) A classe .net, que você precisaria acessar, para modificar as características dos campos do CRM, é uma classe interna e fechada (a classe da dialog box do CRM), ou seja, em princípio você não vai poder injetar código nela (até existe como fazer isto, mas não é recomendado, pois sua instalação de CRM perderá o suporte da Microsoft.)
b) As formas de extensão suportadas são: .net CallOuts, Workflows e client side scripting;
c) Pelo que vi em uma outra thread callouts você já experimentou (e deve ter notado que não consegue cumprir este propósito);
d) A forma suportada que você tem disponível para injetar código na sua dialog box, interagindo com os campos é via javascript mesmo. Além disto, mesmo que existissem outras formas, esta seria a mais recomendada, principalmente por conta do desempenho, visto que elimina um round-trip até o servidor. Se você precisa preencher algum campo, com um conteúdo gerado no servidor, vindo do sql, do próprio crm, ou de qualquer outra fonte, utilize o xmldom, e chamadas assíncronas até uma página escrita em C#, como você deseja e trate o resultado com javascript. Além de estar aderente aos padrões de desenvolvimento do Dynamics CRM, você pode ter o melhor desempenho, pois não precisará ler a página toda do servidor, limitando-se somente a informação que necessita (usando diversos conceitos de AJAX).
Espero ter ajudado,
Sérgio Pinheiro, MCSD Charter Member (since 1995), MCSE+I, MCDBA, MCP+SB, MCT
MCTS: Microsoft Office SharePoint Server 2007 Charter Member (since 2006)
MCTS: Microsoft SharePoint Portal Server 2003
MCTS: SQL Server 2005
MCTS: Windows Mobile 5.0 Application Development
Microsoft Certified Business Management Solutions Professional
Microsoft Certified Business Management Solutions Specialist: Microsoft Dynamics CRM
Lead Software Architect
dot-insight technologies
São Paulo: (11) 3522-4966 | RJ: (21) 4063-9970 | Brasília: (61) 4063-9686 | BH: (31) 4063-8283Microsoft Gold Certified Partner - Microsoft Business Solution - Dynamics CRM
Microsoft Dynamics CRM - http://www.dot-insight.net/microsoft/crmEspecialistas Microsoft - http://www.dot-insight.net/microsoft/especialistas
https://www.tudoseu.com.br/loja-microsoft/
http://www.tudoseu.com.br/dotsearch.aspx?searchterms=dynamics- Editado Sérgio Pinheiro, DevOps and Analytics Expert quarta-feira, 29 de maio de 2013 00:15