none
Conversão Cliente Potencial para Conta RRS feed

  • Pergunta

  • Bom dia!

    Preciso que ao Converter um ClientePotencial para uma Conta, esta seja criada com um determinado campo já setado.

    Ou seja, ao converter um Cliente Potencial para Conta além dos campos vindos do próprio Lead, também seja setado no campo "Tipo de Relação" (picklist) o valor "Prospect".

    Tentei fazer via Workflow mas não encontrei algo como "Ao Converter um Lead para Conta..." e setar as propriedades desta nova Conta.

     

    Valeu!!!

    Fabio

    sexta-feira, 27 de agosto de 2010 14:26

Respostas

  • Fabio ,

     

    Realmente não existe esse tipo de chamada no Workflow (apenas no Plugin).

     

    Quando você converte um Cliente Potencial em Conta, ele preenche um campo na Conta chamado 'Cliente Potencial Originador' (originatingleadid).

    Então por workflow você tem que colocar na criação do registro de conta e colocar uma condição...

    • Se o campo Cliente Potencial Originador contém dados,
    • Atualiza registro (em definir propriedade você seta o campo picklist com valor desejado)

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves sexta-feira, 27 de agosto de 2010 16:53
    • Marcado como Resposta Fabio Nav sexta-feira, 27 de agosto de 2010 17:44
    sexta-feira, 27 de agosto de 2010 16:53

Todas as Respostas

  • Fabio ,

     

    Realmente não existe esse tipo de chamada no Workflow (apenas no Plugin).

     

    Quando você converte um Cliente Potencial em Conta, ele preenche um campo na Conta chamado 'Cliente Potencial Originador' (originatingleadid).

    Então por workflow você tem que colocar na criação do registro de conta e colocar uma condição...

    • Se o campo Cliente Potencial Originador contém dados,
    • Atualiza registro (em definir propriedade você seta o campo picklist com valor desejado)

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves sexta-feira, 27 de agosto de 2010 16:53
    • Marcado como Resposta Fabio Nav sexta-feira, 27 de agosto de 2010 17:44
    sexta-feira, 27 de agosto de 2010 16:53
  • Blz Vou tentar...

     

    Brigadao!

    Abraço

    Fabio

    sexta-feira, 27 de agosto de 2010 17:00
  • Blz!!!

     

    Deu certo sim...porém ao converter existe a opção "Abrir registros recém criados". Ao abrir não aparece de primeira o campo desejado, mas ao fechar a conta recém aberta e clicar novamente para abri-la pela Grid de Contas, ai sim aparece a conta com o campo desejado já setado... rsrs esquisito neh...

     

    Mesmo assim valeu...deu certo
    Brigadão!

    Abraço

    Fabio

    sexta-feira, 27 de agosto de 2010 17:44
  • Boa!

     

    A explicação é que o workflow trabalha de forma assíncrona, ou seja, ele vai executar quando tiver recurso para isso... por isso que em determinadas situações é bom utilizar o Plugin, pois a executação pode ser sincrona...

     

    Abraço,

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves sexta-feira, 27 de agosto de 2010 18:07
    sexta-feira, 27 de agosto de 2010 18:07
  • Entendido!

    Para fazer um plugin para esse caso, eu teria que pegar o evento de criação de uma Conta e verificar se o campo "Cliente Potencial Originador" é diferente de vazio correto?

     

    Mas como fazer para verificar pelo plugin a hora em que uma Conta é criada? Teria um exemplo? ai eu daria as pancadas por aqui rsrsr.

     

    Valeu!!!

    Abraço

    sexta-feira, 27 de agosto de 2010 18:58
  • Isso você coloca na hora de registrar o plugin... 

     

    Por exemplo, você pode registrar o plugin na criação da conta, sendo que pode ser registrado para execução antes ou depois da transação no banco.

     

    Da uma estudada no SDK, tem muito exemplos lá... inclusive de como registrar... por exemplo, inserir um campo antes da transação (exemplo do SDK):

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.Crm.Sdk;
    using Microsoft.Crm.SdkTypeProxy;
    
    namespace Microsoft.Crm.Sdk.PreAccountPluginSample
    {
    	public class PreAccountPluginSample: IPlugin
    	{
    		/// <summary>
    		/// This sample automatically sets the Account Number of a new Account to a random number
    		/// </summary>
    		public void Execute(IPluginExecutionContext context)
    		{
    			// Verify we have an entity to work with
    			if (context.InputParameters.Properties.Contains("Target") &&
    				context.InputParameters.Properties["Target"] is DynamicEntity)
          {
            // Obtain the target business entity from the input parmameters.
    				DynamicEntity entity = (DynamicEntity)context.InputParameters.Properties["Target"];
    
            // Verify that the entity represents an account.
            if (entity.Name == EntityName.account.ToString()) 
            {
    					// If Account Number was not set, generate a new Account Number
    					// Use "contains" because the indexer will throw if the column is not found
    					if (entity.Properties.Contains("accountnumber") == false)
    					{
    						Random rndgen = new Random();
    						
    						StringProperty accountNumber = new StringProperty("accountnumber", rndgen.Next().ToString());
    						entity.Properties.Add(accountNumber);
    					}
    					else 
    					{
    						// Throw an error, because Account Numbers must be system generated
                throw new InvalidPluginExecutionException("The Account Number can only be set by the system");
    					}					
    				}
    			}
    		}
    	}
    }
    

     

    Abraço,

     

     


    Ricardo Alves
    www.ricardoalves.me
    • Sugerido como Resposta RicardoAlves sexta-feira, 27 de agosto de 2010 19:19
    sexta-feira, 27 de agosto de 2010 19:19