none
CrmService: Cambio del numero dell'offerta

    Domanda

  • Ciao a tutti, ho la necessità di registrare tramite webservice una nuova offerta con un numero offerta ben definito. L'offerta a sua volta deve dipendere da una nuova opportunità.

    Così ho fatto prima l'opportunità:

    Dim opp As New opportunity
    With opp
       .ownerid =
    New Owner
       .ownerid.Value = ownerid
       [...]
    End With

    e poi una richiesta di creazione dell'offerta per l'opportunità:

    ' Create the request.
    Dim generate As New GenerateQuoteFromOpportunityRequest()
    ' Determines the columns that will be transferred
    generate.ColumnSet = New AllColumns()
    ' OpportunityId is the Guid of the opportunity generating the quote
    generate.OpportunityId = guidOpportunity
    ' Execute the request.
    Dim generated As GenerateQuoteFromOpportunityResponse = CType(service.Execute(generate), GenerateQuoteFromOpportunityResponse)

    Ora ho tento di modificare il numero dell'offerta, ma oramai quando accedo alla quote tramite

    Dim
    quote As quote = generated.BusinessEntity

    sebbene la proprietà quotenumber sembri in read/write, non viene salvata alcuna modifica all'update dell'oggeto quote; per altro ho avuto conferma che questa proprietà ha senso se viene creata una nuova offerta, ma non può essere modificata per offerte esistenti.

    Qualcuno sa indicarmi come fare a settarla prima che l'offerta venga salvata?
    Grazie sin d'ora!
    Alessandro

    sabato 11 luglio 2009 22:57

Risposte

  • Ciao Alessandro,
    ti confermo che il quotenumber è un campo speciale e può essere modificato soltanto in fase di creazione del record. Questo è il motivo per cui non riesci a modificarlo successivamente alla creazione. Per poterlo cambiare devi usare un plugin che intercetti l'evento e vada ad applicare il giusto valore alla proprietà.

    ti segnalo questo post [1] dove c'è un'esempio di creazione di un plugin, proprio in relazione al caso del "quotenumber"

    spero ti possa essere utile. Se hai dubbi fammi sapere.
    ciao
    Roberto



    [1] http://crmscape.blogspot.com/2009/02/ms-crm-40-plug-in-stages-pipelines-and.html



    Roberto Nocera [Microsoft Dynamics CRM MVP] technical blog: http://blogs.ugidotnet.org/rnocera/ Community CRM italiana: www.dynamicsforum.it
    lunedì 20 luglio 2009 21:41
    Moderatore

Tutte le risposte

  • Ciao Alessandro,
    ti confermo che il quotenumber è un campo speciale e può essere modificato soltanto in fase di creazione del record. Questo è il motivo per cui non riesci a modificarlo successivamente alla creazione. Per poterlo cambiare devi usare un plugin che intercetti l'evento e vada ad applicare il giusto valore alla proprietà.

    ti segnalo questo post [1] dove c'è un'esempio di creazione di un plugin, proprio in relazione al caso del "quotenumber"

    spero ti possa essere utile. Se hai dubbi fammi sapere.
    ciao
    Roberto



    [1] http://crmscape.blogspot.com/2009/02/ms-crm-40-plug-in-stages-pipelines-and.html



    Roberto Nocera [Microsoft Dynamics CRM MVP] technical blog: http://blogs.ugidotnet.org/rnocera/ Community CRM italiana: www.dynamicsforum.it
    lunedì 20 luglio 2009 21:41
    Moderatore
  • Ciao, grazie della risposta che mi ha dato nuove idee.
    Non riesco ad applicarla alla lettera perchè l'oggetto generate non ha una proprietà Properties, tuttavia proverò a creare a mano l'offerta e passare l'id dell'opportunità, così avendo l'oggetto quote ancora da salvare nel database sarò in grado di aggiornare la proprietà quotenumber.

    Appena faccio la modifica aggiorno questo post, nel caso possa fare comodo a qualcuno.

    Ciao!
    Alessandro
    giovedì 23 luglio 2009 09:10