none
Campo "Cliente" do formulário "Atividade de Serviço" RRS feed

  • Pergunta

  •                Olá pessoal!

            Desculpe a pergunta idiota... mas não encontro o campo "customers" na entidade "ServiceAppointment". Este campo existe no formulário mas não encontro na view. Qual campo representa o cliente ou customers? Alguém sabe?

                                       Agradeço a atenção de todos!
     
    Att,
    Ivan Luís Duarte

    Vamos compartilhar! "Quem amarra conhecimento promove a ignorância!"
    quinta-feira, 21 de maio de 2009 21:00

Respostas

  •                     Carlos,

              Acabo de descrobrir onde está o nome do cliente. Está em ActivityParty no atributo PartyId.
              Só que caí em outro problema. Este mesmo atributo é usado para guardar os recursos utilizados na atividade, como por exemplo uma máquina ou um funcionário. Como posso diferenciar um cliente de um recurso dentro desta tabela!? Sabe qual atributo informa isso!?
                       
                               Obrigado pela sua atenção!
    Att,
    Ivan Luís Duarte

    Vamos compartilhar! "Quem amarra conhecimento promove a ignorância!"
    • Marcado como Resposta Ivan Duarte sexta-feira, 22 de maio de 2009 19:52
    sexta-feira, 22 de maio de 2009 15:00
  •                  Carlos,
            Encontrei o atributo que indica que o "ActivityParty" é um cliente. É o atributo ParticipationTypeMask com o valor  11. Abaixo tem um script que traz os id(PartyId) e nomes(PartyIdName) clientes do "ServiceAppointment".
                         Obrigado pela sua atenção!
    SELECT sa.ActivityId, sa.subject, ap.ParticipationTypeMask, ap.PartyId, ap.PartyIdName
    	FROM serviceappointment AS sa
    	LEFT OUTER JOIN ActivityParty AS ap
    		ON sa.ActivityId = ap.ActivityId
    		AND ap.ParticipationTypeMask = 11
    

    Att,
    Ivan Luís Duarte

    Vamos compartilhar! "Quem amarra conhecimento promove a ignorância!"
    • Marcado como Resposta Ivan Duarte sexta-feira, 22 de maio de 2009 19:52
    sexta-feira, 22 de maio de 2009 19:52

Todas as Respostas

  • Olá Ivan,

    Usei a query abaixo certa vez em um relatório customizado. Espero que seja isso que você precisa.

    select
      ib.ticketnumber as 'Código da Ocorrência',
      ib.Title as 'Título da Ocorrência',
      ib.description as 'Descrição da Ocorrência',
      ib.createdon as 'Criação da Ocorrência',
      (select name from accountbase where accountid = ib.accountid) as 'Cliente',
      (select fullname from contactbase where contactid = ib.responsiblecontactid) as 'Contato Responsável'
    from
      incidentbase as ib
     
    []´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
    quinta-feira, 21 de maio de 2009 21:19
  •                   Olá Carlos!
              Primeiramente, obrigado pela sua resposta!
              Na verdade estou precisando do cliente da entidade ServiceAppointment, e nela não encontro nenhum contactid ou accountid e pior... nem o tal customerid que está no formulário. Antes usavamos o campo "Referente a" para indicar o cliente. Mas agora estamos precisando do "referente a" para outra coisa e os nossos relatórios que traziam os clientes como sendo este campo deverão ser alterados para buscar o cliente do campo "customerid". Então a pergunta é... Qual atributo da tabela representa o id do cliente? Ou qual join devo fazer para conseguir este id!?
               Pode me ajudar!? Não encontro o atributo correto. É estranho o campo customerid estar no formulário e não estar na tabela!

                            Obrigado pela atenção!
    Att,
    Ivan Luís Duarte

    Vamos compartilhar! "Quem amarra conhecimento promove a ignorância!"
    sexta-feira, 22 de maio de 2009 13:32
  • Oi Ivan,

    Acho que entendi a dificuldade. Veja se o exemplo abaixo pode servir de começo para você:

    select
      (select name from accountbase where accountid = ib.accountid) as 'Cliente',
      (select fullname from contactbase where contactid = ib.responsiblecontactid) as 'Contato Responsável',
      apb.subject as 'Título da Atividade',
      ib.TicketNumber as 'Ticket'
    from
      activitypointerbase as apb
      inner join incidentbase as ib
      on apb.regardingobjectid = ib.incidentid
      left join serviceappointmentbase as sab
      on apb.ActivityId = sab.ActivityId

    []´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
    sexta-feira, 22 de maio de 2009 14:27
  •                     Carlos,

              Acabo de descrobrir onde está o nome do cliente. Está em ActivityParty no atributo PartyId.
              Só que caí em outro problema. Este mesmo atributo é usado para guardar os recursos utilizados na atividade, como por exemplo uma máquina ou um funcionário. Como posso diferenciar um cliente de um recurso dentro desta tabela!? Sabe qual atributo informa isso!?
                       
                               Obrigado pela sua atenção!
    Att,
    Ivan Luís Duarte

    Vamos compartilhar! "Quem amarra conhecimento promove a ignorância!"
    • Marcado como Resposta Ivan Duarte sexta-feira, 22 de maio de 2009 19:52
    sexta-feira, 22 de maio de 2009 15:00
  •                  Carlos,
            Encontrei o atributo que indica que o "ActivityParty" é um cliente. É o atributo ParticipationTypeMask com o valor  11. Abaixo tem um script que traz os id(PartyId) e nomes(PartyIdName) clientes do "ServiceAppointment".
                         Obrigado pela sua atenção!
    SELECT sa.ActivityId, sa.subject, ap.ParticipationTypeMask, ap.PartyId, ap.PartyIdName
    	FROM serviceappointment AS sa
    	LEFT OUTER JOIN ActivityParty AS ap
    		ON sa.ActivityId = ap.ActivityId
    		AND ap.ParticipationTypeMask = 11
    

    Att,
    Ivan Luís Duarte

    Vamos compartilhar! "Quem amarra conhecimento promove a ignorância!"
    • Marcado como Resposta Ivan Duarte sexta-feira, 22 de maio de 2009 19:52
    sexta-feira, 22 de maio de 2009 19:52