none
Fluxos Personalizados - CRM/2011 onprimise RRS feed

  • Pergunta

  • Ola, pessoal.

    Ja desenvolvi alguns fluxos personalisados via código, mais apenas no CRM 2015. Porém no CRM 2011, para um mesmo assembly, não consigo registrar mais de uma etapa, nem que seja na mesma entidade. Alguem sabe como  resolver isto?

    A primeira Classe abaixo executa perfeitamente e aparece na interface gráfica para ser selecionada.

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.Activities; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Query; using Microsoft.Xrm.Sdk.Workflow; using Microsoft.Xrm.Sdk.Client; namespace FluxoEmCcamp { public class CartaWs : CodeActivity { protected override void Execute(CodeActivityContext executionContext) { IWorkflowContext contexto = executionContext.GetExtension<IWorkflowContext>(); IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>(); IOrganizationService service = serviceFactory.CreateOrganizationService(contexto.InitiatingUserId); ITracingService trace = executionContext.GetExtension<ITracingService>(); trace.Trace("@@@@@@@@@ CRIOU VARIAVEIS PRINCIPAIS"); string resposta = "BLA " + usuario_reference.Get(executionContext).Name; parametro_assunto.Set(executionContext, resposta); } [Output("Parametro Assunto")] [Default("BLA BLA")] public OutArgument<string> parametro_assunto { get; set; } [Input("Parametro Usuario")] [ReferenceTarget("systemuser")] public InArgument<EntityReference> usuario_reference { get; set; } } }

    //================================================= SEGUNDA Classe

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    using System.Activities;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Xrm.Sdk.Query;
    using Microsoft.Xrm.Sdk.Workflow;
    using Microsoft.Xrm.Sdk.Client;


    namespace FluxoEmCcamp
    {
        class Etapa2Carta : CodeActivity
        {
            protected override void Execute(CodeActivityContext executionContext)
            {

                IWorkflowContext contexto = executionContext.GetExtension<IWorkflowContext>();

                IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();

                IOrganizationService service = serviceFactory.CreateOrganizationService(contexto.InitiatingUserId);

                ITracingService trace = executionContext.GetExtension<ITracingService>();

                trace.Trace("@@@@@@@@@ CRIOU VARIAVEIS PRINCIPAIS 2");

                //Esta etapa não aparece na interface gráfica
            }

            [Output("Parametro Contato - Saída")]
            [Input("Parametro Contato -Entrada")]
            [ReferenceTarget("contact")]
            public InOutArgument<EntityReference> contato_reference { get; set; }
        }
    }

    Ja a segunda Classe, é bem simples tambem e não é mostrada na interface gráfica. OBS: as duas estão no mesmo Assembley, tenho essa necessidade para organizar nossos projetos aqui na empresa.

    Na imagem acima so aparec uma classe das mencionadas. Preciso das duas disponíveis




    quinta-feira, 26 de novembro de 2015 17:09

Respostas

  • Boas Wagner,

    Penso que aqui o caso é só mesmo colocares public atrás da class Etapa2Class:

    public class Etapa2Carta : CodeActivity
    {
    ...
    }

    Também me costuma acontecer com os plugins :)

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    sexta-feira, 27 de novembro de 2015 00:14
  • Na verdade Azevedo, não sei porque aparece Isolate, pois registrei em 'None' as etapas. Só que descobri que alem da dica que você deu acima(que estava super certa), meu monitor de vídeo tem que estar na 'Orientação Retrato' para que eu visualize na interface gráfica do navegador todas etpas daquele Assembly.

    Esta sendo um caso específico aqui na empresa, onde um cliente nosso so usa o Internet Explorer, e no meu monitor so consigo ver se estiver com a tela virada (em pé, pois meu monitor permite ser girado).

    No mais muito obrigado pela Ajuda, estava correto de qualquer maneira.

    quinta-feira, 3 de dezembro de 2015 17:32

Todas as Respostas

  • Boas Wagner,

    Penso que aqui o caso é só mesmo colocares public atrás da class Etapa2Class:

    public class Etapa2Carta : CodeActivity
    {
    ...
    }

    Também me costuma acontecer com os plugins :)

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    sexta-feira, 27 de novembro de 2015 00:14
  •  Azevedo

    Admito que foi um erro de principiante, também ja tive esse problema com Plugins kkkk.

    Porém agora aparece  a segunda etapa no Plugin Registration mas não na interface gráfica.

    Será que estou errando em mais alguma coisa?

    sexta-feira, 27 de novembro de 2015 13:48
  • Boas Wagner,

    Você registou o Etapa2Carta como isolatable por alguma razão?

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    quarta-feira, 2 de dezembro de 2015 17:57
  • Na verdade Azevedo, não sei porque aparece Isolate, pois registrei em 'None' as etapas. Só que descobri que alem da dica que você deu acima(que estava super certa), meu monitor de vídeo tem que estar na 'Orientação Retrato' para que eu visualize na interface gráfica do navegador todas etpas daquele Assembly.

    Esta sendo um caso específico aqui na empresa, onde um cliente nosso so usa o Internet Explorer, e no meu monitor so consigo ver se estiver com a tela virada (em pé, pois meu monitor permite ser girado).

    No mais muito obrigado pela Ajuda, estava correto de qualquer maneira.

    quinta-feira, 3 de dezembro de 2015 17:32