|
|
|
|
|
|
|
|
|
|
|
|
|
| Olá Pessoal, Normalmente todas as postagens desse site são dedicadas ao Dynamics CRM, mas hoje vou fazer algo diferente e dedicar essa a todos vocês que acompanham meu trabalho e me ajudam a fazer desse espaço um repositório de informações e troca de conhecimentos a respeito desse produto. No último dia 01/07 recebi a notícia de que havia sido nomeado o primeiro MVP de Dynamics CRM no Brasil (depois vi que sou o primeiro da América Latina). Para quem não sabe o que significa o título de MVP, abaixo transcrevo trechos dos site da Microsoft Brasil e Microsoft Estados Unidos, respectivamente: “Os MVPs (Most Valuable Professionals) Microsoft são pessoas reconhecidas, confiáveis e acessíveis, que têm experiência em um ou mais produtos Microsoft® e que participam ativamente de comunidades on-line e off-line com o intuito de compartilhar seu conhecimento e experiência com outros clientes Microsoft. Os clientes desejam um acervo rico de conhecimentos e experiências da vida real quando recorrem a conselhos e feedbacks. Os MVPs ajudam a satisfazer essa necessidade, capacitando de forma independente os clientes nas comunidades técnicas, tanto on-line como off-line. O feedback do cliente é vital para o desenvolvimento de produtos e de R&D (recursos e desenvolvimento). Os MVPs representam uma parte importante desse circuito de feedback, já que proporcionam outro canal para que a Microsoft escute o cliente.” “The Microsoft Most Valuable Professional (MVP) is an award presented by Microsoft for the employees or individuals or consultants working outside Microsoft. Microsoft MVPs are exceptional technical community leaders from around the world who have been awarded for voluntarily providing technical expertise towards technical communities supporting Microsoft products or technologies. An MVP is awarded for contributions over the past year.” MVP –> “Independent Experts. Real World Answers.” Minha vibração com a nomeação foi muito grande! É claro que as contribuições que faço através do website e dos fórums Tecnhet e MSDN onde sou moderador são totalmente voluntárias e não objetivam nada em troca. Verdadeiramente faço porque gosto. Acredito que na vida tudo o que fazemos com amor só pode gerar bons frutos, e esse está sendo um deles. Agradeço a todos que me incentivam a continuar esse trabalho e renovo com vocês meu compromisso de permanecer firme como ponto de apoio no que puder colaborar. Abaixo o link do site global de MVPs onde consta meu perfil e dos outros MVPs em Dynamics CRM ao redor do mundo(apenas 43). https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&competency=Dynamics+CRM&page=5 []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?." http://www.dynamicscrm.com.br 
|
| Olá, Essa semana precisei fazer uma sugestão de hardware para um cliente que migrará seu atual cenário com Dynamics CRM 3.0 para a versão 4.0, onde no processo também aumentará o número de usuários que farão acesso ao sistema. Essa discussão de qual hardware utilizar é bem complexa, pois depende de variáveis que tem valores distintos de empresa para empresa, como: número de workflows, quantidade de execução de relatórios, número de usuários e transações concorrentes, número plugions com integrações, etc. É uma seara onde não costumo palpitar sem conhecer profundamente o ambiente em questão para não sugerir um equipamento que não atenderá as necessidades do cliente. Encontrei, no entanto, duas documentações da Microsoft que através de um teste genérico conseguiram reproduzir um ambiente com 500(CRM 4) e 250(CRM 3) usuários concorrentes através dos quais apresentam uma configuração de hardware para essas situações. Seguem os links: CRM 4 com 500 usuários concorrentes: http://www.microsoft.com/downloads/details.aspx?FamilyID=3bf7ecda-7eaf-4f1c-bbfe-cae19bc8bb78&displaylang=en CRM 3 com 250 usuários concorrentes: http://www.microsoft.com/downloads/details.aspx?familyid=E835C764-AE63-4876-87DA-786464EE7269&displaylang=en Vale a pena ler! []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?." http://www.dynamicscrm.com.br |
| Olá, Quem já teve a oportunidade de instalar o update rollup 11 para o Client Outlook do Dynamics CRM 4, deve ter observado que uma das funcionalidades adicionadas foi no ribbon. De fato, estava feio e pouco produtivo acessar as funcionalidades através do menu add-ins. Para quem ainda não viu, abaixo uma imagem de como ficou. Então, como sugestão: mantenha-s sempre atualizado com o último rollup. []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?." http://www.dynamicscrm.com.br |
| Olá, Complementando a pontagem anterior sobre os conectores de telefonia, acabou de sair mais um acelerador para o Dynamics CRM voltado para contact centers. A idéia é melhorar a experiência de trabalho de profissionais de atendimento com funcionalidades de centralização e integração com o Dynamics CRM. Aqui, destaco o framework de desenvolvimento fornecido para integração com centrais telefônicas. Vale a pena conferir. http://crmcca.codeplex.com/ []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?" http://www.dynamicscrm.com.br |
| Olá, A Microsoft tem conseguido ótimos níveis de adoção do Dynamics CRM pelo mundo. Isso é explicado pelo estudo publicado pelo Gartner sobre o quadrante mágico desse segmento(http://www.gartner.com/technology/media-roducts/reprints/microsoft/vol9/article3/article3.html). Em vista disso, muitos fabricantes têm se voltado a oferecer suporte à plataforma para não ficarem de fora da nova onde de estratégias de CRM que vem se espalhando. A prova disso é a Cisco, com um conector para suas centrais(http://www.ciscopros.info/en/US/products/ps6713/index.html) , a Panasonic(http://www.panasonic.com/business/office/telephone-systems/includes/pdf/KX-TDE_Family_brochure.pdf) e outros fabricantes independentes como a Lambert(http://www.livecrm.it/telephone-integration-crm-hosting.aspx) que oferecem suporte as centrais mais comuns de mercado como Nortel, Alcatel, Siemens, Avaya, 3Com, entre outras. E pasmem, já existem até integrações com Asterix(http://www.fileheap.com/software-star-outlook-dialer-free-edition--download-26956.html) e Skype(http://www.camrivox.com/news/2009/camrivox-extends-skype-crm-space/)! Vale lembrar que a Microsoft disponibilizou o seu conector para o Office Communications Server(http://www.dynamicscrm.com.br/mscrm/ocs/57) o qual já tive a oportunidade de experimentar. Minha experiência com ele foi muito boa, mas guardarei os detalhes para uma postagem específica. []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?" http://www.dynamicscrm.com.br |
| Olá, Uma das dúvidas recorrentes nos fórums de Dynamics CRM é o funcionamento do seu processo de vendas. As dúvidas aparecem porque os usuários vêem nos formulários um atributo chamado “Fase de Pipeline” mas não notam nenhuma mudança mesmo que se alterem valores de outros atributos ou criem-se atividades. Na verdade, o atributo da “Fase de Pipeline” apenas existe, mas precisa de estímulos para ser alimentado, como por exemplo, workflows. Isso acontece porque cada empresa encara as fases do pipeline de uma forma, logo, cada uma deve definir os percentuais de conclusão para cada momento. Explicando um pouco melhor, imagine que para a Empresa A, entregar uma cotação para o cliente significa que está com 30% de chances de fechamento do negócio, e que se a cotação virar proposta e for para a avaliação da área jurídica a probabilidade aumenta para 80%. Já para a empresa B, pode ser que o fato de enviar uma cotação a probabilidade de fechamento seja de 80%. Isso varia de empresa para empresa. Abaixo, um link para download de um workflow que exemplifica a automatização de um processo de vendas. Download Após importá-lo para seu CRM, entre na entidade oportunidade e adicione ao formulário o atributo “Fase de Pipeline” e publique as alterações. A idéia é montar um fluxo que modifique a fase do pipeline de acordo com determinados eventos, como mostra a imagem abaixo:
O Dynamics CRM provê a estrutura de controle, mas não amarra uma regra. O ideal é que cada empresa cria a sua. []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?" http://www.dynamicscrm.com.br |
| Olá Pessoal, Um amigo desenvolvedor me procurou com dúvidas sobre como publicar páginas customizadas para serem exibidas em Iframes dentro do Dynamics CRM. De fato, existem muitas informações desencontradas na internet e por isso resolvi registrar aqui meu passo-a-passo sobre esse assunto. Antes de mais nada, vamos entender alguns conceitos e a forma suportada dessa atividade: 1 – O Dynamics CRM é uma aplicação WEB que possui seu arquivo web.config que não deve ser alterado. 2 – As aplicações customizadas devem ser colocadas dentro de “Unidade:\arquivos de programas\Microsoft Dynamics CRM\CRMWeb\ISV\<Organização>\<Aplicação>”. 3 – Através do IIS, criamos um diretório virtual na pasta da aplicação fazendo uso do mesmo application pool do CRM. 4 – Abaixo um modelo de arquivo web.config de uma aplicação customizada: <?xml version="1.0"?> <configuration> <appSettings> <add key="CRMService.CrmServiceWsdl" value="http://crm4demo:5555/MSCrmServices/2007/CrmService.asmx"/> <add key="CRMDiscoveryService.crmdiscoveryservice" value="http://crm4demo:5555/mscrmservices/2007/ad/crmdiscoveryservice.asmx"/> <add key="Organization" value="Contoso"/> <add key="ServiceURL" value="http://crm4demo:5555/mscrmservices/2007/crmservice.asmx"/> </appSettings> <connectionStrings/> <system.web> <httpModules> <remove name ="CrmAuthentication"/> <remove name ="MapOrg"/> </httpModules> <pages enableSessionState="true" enableViewState="true" /> <customErrors mode="Off" /> <compilation debug="true" /> <authentication mode="Windows"/> <identity impersonate="true"/> </system.web> </configuration> As chaves <remove name ="CrmAuthentication"/> e <remove name ="MapOrg"/> servem para remover a herança de módulos http que serão chamados para controlar multi-organização e que não são necessários em aplicações customizadas. As chaves <authentication mode="Windows"/> e <identity impersonate="true"/> servem para manter a integridade da autenticação. A chave <pages enableSessionState="true" enableViewState="true" /> é usada para manter a sessão de objetos em memória. 5 – Os arquivos compilados devem permanecer dentro da pasta Bin existente na aplicação customizada ou em casos específicos, adicionadas ao GAC(Unidade:\Windows\Assembly), mas não colocadas na pasta Bin do website do CRM, pois na aplicação de rollups, podem ser apagados. 6 – Para que as páginas customizadas sejam acessíveis no client offline do Outlook, devem também ser copiadas para “Unidade:\Arquivos de Programas\Microsoft Dynamics CRM\Client\res\web\ISV\<Organização>\<Aplicação>”. Parece muita coisa, mas no dia-a-dia é bem compreensível. []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?" http://www.dynamicscrm.com.br |
| Olá Pessoal, Desde que algumas redes sociais têm aberto suas APIs, temos a oportunidade de fazer integrações bem legais com o Dynamics CRM, as quais nos permitem irmos mais além e proporcionarmos uma experiência diferenciada para o usuário. Nesse aspecto, vale ressaltar um dos pilares do produto que é a extensibilidade. É bem verdade que vários dos concorrentes do Dynamics CRM garantem que não trazem estratégias enlatadas onde a empresa precisa se adaptar a elas, mas pelo que tenho visto no mercado, as adaptações são demoradas, dolorosas e caras. Como diferencial, o Dynamics CRM oferece opções de customização do lado cliente e servidor, permitindo que de maneira muito fácil, consigamos que o produto atenda as necessidades da empresa. Abaixo, um código em JScript que acessa a API do Linkedin e cria no formulário de Conta no Dynamics CRM uma exepriência diferenciada: Segue o código que deve ser implementado no evento “on-load” do formulário: function LinkedInLoader(crmFormField) { var ll = this; ll.scriptSource = 'http://www.linkedin.com/companyInsider?script&useBorder=yes' ll.field = crmFormField; ll.container = crmFormField.parentNode; ll.nameToSearch = crmFormField.DataValue; ll.spanId = ll.field.id + '_linkedin'; if (ll.container != null) { var span = document.createElement('span'); span.id = ll.field.id + '_linkedin'; var td1 = document.createElement('td'); td1.innerHTML = ll.container.innerHTML; var td2 = document.createElement('td'); td2.appendChild(span); td2.style.width = '15px'; var tr = document.createElement('tr'); tr.appendChild(td1); tr.appendChild(td2); var table = document.createElement('table'); table.width = '100%'; table.style.tableLayout = 'fixed'; table.cellSpacing = 0; table.cellPading = 0; table.appendChild(tr); ll.container.innerHTML = table.outerHTML; } ll.ApplyCorrections = function() { var div = document.getElementById('company-insider-info-window'); if (div != null) div.style.height = '275px'; else window.setTimeout(ll.ApplyCorrections, 500); } ll.Enable = function() { new LinkedIn.CompanyInsiderPopup(ll.spanId, ll.nameToSearch); new LinkedIn.CompanyInsiderStylesheet(); var span = document.getElementById(ll.spanId); if (span != null) span.attachEvent('onclick', ll.ApplyCorrections); } ll.OnScriptReadyState = function() { if ((event.srcElement.readyState == 'complete') || (event.srcElement.readyState == 'loaded')) { ll.Enable(); } } ll.Load = function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = ll.scriptSource; script.onreadystatechange = ll.OnScriptReadyState; document.getElementsByTagName('head')[0].appendChild(script); } } if (crmForm.FormType != 1) { // Define o campo que traz o nome da empresa. Mude de acordo com o utilizado no seu CRM. var linkedInLoader = new LinkedInLoader(crmForm.all.name); linkedInLoader.Load(); } Simples não é? []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?” http://www.dynamicscrm.com.br |
| Olá Pessoal, Navegando pela grande rede, descobri um website que se entitula um motor de pesquisa para manuais, ebooks, catálogos, etc. Fazendo uma busca, encontrei diversos ebooks sobre o Dynamics CRM. Sinceramente, não sei nada sobre os direitos autorais. Mesmo assim, segue o link da minha pesquisa: http://www.pdfgeni.com/book/dynamics-CRM-pdf.html []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?” http://www.dynamicscrm.com.br |
| Olá, Abaixo mais uma oportunidade de trabalho enviada para divulgação. “A BBKO Consulting, empresa reconhecida no mercado de TI pelo desenvolvimento de sistemas na plataforma SAP, oferece aos seus consultores a oportunidade de trabalhar em um ambiente construtivo, motivador e voltado para a superação de novos desafios. Neste momento, estamos ampliando nossa equipe de trabalho e gostaríamos de contar com sua participação. Estamos à procura de profissionais com o seguinte perfil: Consultor CRM Microsoft Dynamics Sênior (1 vaga) Trata-se de uma proposta para atuação em nossa equipe de projeto. Contratação: PJ Local: São Paulo Contratação por prazo indeterminado. Contato: elaine.silva@bbko.com.br” []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?” http://www.dynamicscrm.com.br |
| Olá, O time de produto do Microsoft Forefront está conduzindo uma pesquisa para identificar quais aplicações você gostaria de ter protegidas e como gostaria de protegê-las. Um dos perfis de usuários que eles gostariam de ouvir nessa pesquisa são os do Dynamics CRM. Aproveite a chance de participar respondendo o questionário que servirá de base para que o time do Forefront tome decisões para as próximas implementações. A pesquisa toda não leva mais do que 10 minutos. Participe! http://www.surveymonkey.com/s/forefrontsurvey []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?” http://www.dynamicscrm.com.br |
| Olá, Na semana passada, ajudei um colega que estava com problemas na instalação do Dynamics CRM 4(Windows 2008 + SQL 2008). Na última tela, aquela que faz o checklist dos pré-requisitos, mostrava que o reporting services não estava informado corretamente, pois exigia uma URL segura(SSL). Algo parecido com a mensagem abaixo: Setup failed to validate specified Reporting Services Report Server <ReportServerURL>. Error: The operation you are attempting requires a secure connection (HTTPS). Mesmo depois de examinar as configurações do reporting services e ter certeza de que nada forçava o uso de uma URL segura, o erro persistia. Foi então que resolvi examinar o arquivo RSreportServer.config que fica dentro de C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer. Lá, uma propriedade chamada “SecureConnectionLevel” define o formato de acesso a URL do reporting. Nesse caso estava definida como 2, que significa segura(SSL). Mudei para o valor 0 e tudo se resolveu. Após, acabei achando um artigo que trata dessa situação: http://support.microsoft.com/kb/2011889 []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?” http://www.dynamicscrm.com.br |
| Olá, Algumas pessoas têm me procurado para anunciar oportunidades para o público de Dynamics CRM no site. Como a finalidade aqui é a difusão de qualquer assunto relacionado, estou pensando até em criar uma área para isso, o que acham? Aos interessados na publicação de oportunidades, enviem um email para amorim@habilsoft.com.br para que eu providencie suas credenciais de acesso. Enquanto não crio essa área, vou publicando por aqui mesmo. A Ci&T empresa certificada CMMi5 (www.cit.com.br) está com uma oportunidade para desenvolvimento de carreira para um profissional nível Junior e que tenha disponibilidade para trabalhar em Campinas! Implementador .NET: - imprescindível conhecimento em .NET (VB, ASP ou C#) e Oracle/PL/SQL. - desejável experiência atendendo a usuários finais (1o e 2o atendimento). - conhecimento ou experiência com Dynamics CRM será considerado um diferencial importante! Interessados na oportunidade enviar cv anexado para gcarvalho@ciandt.com com titulo Dynamics CRM! []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?” http://www.dynamicscrm.com.br |
| Olá Pessoal, Hoje me deparei com um problema incomum. Criei uma página customizada(aspx) para ser exibida dentro de um frame em um formulário do CRM. A idéia era simples: criar uma maneira mais prática de inserir faturas a partir de dentro do pedido. Esse formulário também informaria o valor do pedido que ainda não foi faturado, conforme abaixo: Segui todas as boas práticas na publicação como a utilização da pasta ISV, referências do webservice, recomentações do web.config, etc. Depois de publicado, no entanto, eu obtinha um erro: 'Microsoft.Crm.WebServices.Crm2007.CookieAndSoapHeaderAuthenticationProvider, Microsoft.Crm.WebServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' doesn't exist Depois de pesquisar algum tempo, descobri que a DLL referente a chamada dos webservices não estava devidamente registrada no GAC então, a solução foi adicioná-la na pasta c:\windows\assembly. Lembrando que a DLL em questão está em C:\Program Files\Microsoft Dynamics CRM\Setup. []´s Carlos Amorim Junior "Já ajudou a comunidade hoje?" http://www.dynamicscrm.com.br |
| Olá, Como qualquer trabalhador, eu também precisava de férias, por isso meus posts ficaram um pouco parados. De volta à vida(sé é que profissionais de TI têm uma), vamos explorar um tópico muito importante e às vezes mal compreendido por falta de informações: as permissões. Quando criamos um perfil de acesso, nos deparamos com as permissões no Dynamics CRM em cada entidade. Privilégios de “leitura” e “escrita” são facilmente entendidos, mas e em relação aos de “adicionar” e “adicionar a”? Para que servem? Qual a diferença? Para responder essas dúvidas, transcrevo um trecho extraído to próprio MSDN http://msdn.microsoft.com/en-us/library/bb955128.aspx Read ReadAccess Controls whether the user can read an entity instance. Write WriteAccess Controls whether the user can update an entity instance. Assign AssignAccess Controls whether the user can assign an entity instance to another user. Append AppendAccess Controls whether the user can attach another entity instance to the specified entity instance. The Append and Append To access rights actually work in combination with one another. Every time that a user attaches one entity instance to another, the user must have both rights. For example, when you attach a note to a case, you must have the Append access right on the note and the Append To access right on the case for the operation to work. Append To AppendToAccess Controls whether the user can append the entity instance in question to another entity instance. The Append and Append To access rights work in combination with one another. Every time that a user attaches one entity instance to another, the user must have both rights. For example, when you attach a file to a note, you must have the Append access right on the file attachment and the Append To access right on the note for the operation to work. Share ShareAccess Controls whether the user can share an entity instance with another user or team. Sharing gives another user access to an entity instance. For more information, see Sharing. Delete DeleteAccess Controls whether you can delete an entity instance. A seguir, um complemento as informações acima: http://msdn.microsoft.com/en-us/library/bb955133.aspx O entendimento desses privilégios é fundamental pelos administradores do Dynamics CRM. []´s Carlos Amorim Junior "Trabalhe com amor, divida seu conhecimento com a comunidade." http://www.dynamicscrm.com.br |
|
|
|
|
|
|
|
|
 |
 |
 |
 |
|