none
Copiar valor para um campo Lookup RRS feed

  • Pergunta

  • Bom dia a todos,

    Gostaria de saber se há como copiar um valor de um campo Lookup para um outro campo também Lookup em JScript.

    Exemplo:
    crmForm.all.Campo_Lookup1.DataValue[0].name = crmForm.all.Campo_Lookup2.DataValue[0].name;


    Obrigado,
    Bruno Cardoso
    quarta-feira, 3 de junho de 2009 11:38

Respostas

  • Oi Bruno,

    Nunca precisei fazer isso, mas experimente o exemplo abaixo para realizar seu trabalho. Acredito que o "segredo" esteja na forma de leitura no lookup de origem e de definição no lokkup de destino.

    Para leitura:

    var lookupItem = new Array;
    lookupItem = crmForm.all.primarycontactid.DataValue;
    if (lookupItem[0] != null)
    {
       alert(lookupItem[0].name);
       alert(lookupItem[0].id);
       alert(lookupItem[0].typename);
    }

    Observe que há a criação de um array para extrair e para definir o valor.

    var lookupData = new Array();
       var lookupItem= new Object();
       lookupItem.id = '{1AAC1363-01A1-DB11-8432-0003FF9CE217}';
       lookupItem.typename = 'account';
       lookupItem.name = 'A Bike Store';
       lookupData[0] = lookupItem;
       crmForm.all.parentaccountid.DataValue = lookupData;

    Espero que funcione.

    []´s


    Carlos Amorim Junior
    "Trabalhe com amor, divida seu conhecimento com a comunidade."
    Treinamentos, vídeos e artigos sobre CRM ? - http://www.dynamicscrm.com.br
    quarta-feira, 3 de junho de 2009 12:18

Todas as Respostas

  • Oi Bruno,

    Nunca precisei fazer isso, mas experimente o exemplo abaixo para realizar seu trabalho. Acredito que o "segredo" esteja na forma de leitura no lookup de origem e de definição no lokkup de destino.

    Para leitura:

    var lookupItem = new Array;
    lookupItem = crmForm.all.primarycontactid.DataValue;
    if (lookupItem[0] != null)
    {
       alert(lookupItem[0].name);
       alert(lookupItem[0].id);
       alert(lookupItem[0].typename);
    }

    Observe que há a criação de um array para extrair e para definir o valor.

    var lookupData = new Array();
       var lookupItem= new Object();
       lookupItem.id = '{1AAC1363-01A1-DB11-8432-0003FF9CE217}';
       lookupItem.typename = 'account';
       lookupItem.name = 'A Bike Store';
       lookupData[0] = lookupItem;
       crmForm.all.parentaccountid.DataValue = lookupData;

    Espero que funcione.

    []´s


    Carlos Amorim Junior
    "Trabalhe com amor, divida seu conhecimento com a comunidade."
    Treinamentos, vídeos e artigos sobre CRM ? - http://www.dynamicscrm.com.br
    quarta-feira, 3 de junho de 2009 12:18
  • Olá Carlos,

    Primeiramente obrigado pela resposta.

    Porém ainda tenho uma dúvida. Pelo o que eu entendi do exemplo criado um novo objeto e este objeto inserido em lookupData e este por sua vez é atrbuído ao segundo lookup. É isso mesmo?

    No entando eu não entendi exatamente como faço para setar o valor que quero no meu segundo lookup.



    Só mais uma pergunta.
    Não entendi muito bem o que esta linha faz, poderia me explicar por favor?

    crmForm.all.parentaccountid.DataValue = lookupData;

    Mais uma vez obrigado.

    Bruno Cardoso

    quarta-feira, 3 de junho de 2009 14:07
  • Oi Bruno,

    Encontrei um exemplo prático que mostra como utilizar o que escrevi anteriormente.

    http://blogs.msdn.com/paf/archive/2009/04/22/how-to-display-related-entity-fields-in-a-crm-lookup-attribute-instead-of-the-primary-entity-field.aspx

    []´s
    Carlos Amorim Junior
    "Trabalhe com amor, divida seu conhecimento com a comunidade."
    Treinamentos, vídeos e artigos sobre CRM ? - http://www.dynamicscrm.com.br
    quarta-feira, 3 de junho de 2009 16:45
  • Carlos,

    Muito Obrigado! Funcionou perfeitamente.
    quinta-feira, 4 de junho de 2009 14:22