none
Personalizzazione Formulario Quote Products Quote Sale Order

    Domanda

  • Buongiorno a tutti,
    ho aggiunto un nuovo attributo e un nuovo campo nel Form Quote Products e Sales Order Product
    In pratica quando aggiungo un prodotto ad un preventivo, ho un campo che si chiama "data consegna prevista" ( attributo new_data_consegna )
    Lo stesso campo l'ho creato nel form prodotti della conferma d'ordine ( Sales Order Product ) con lo stesso nome attributo...
    Che tipo di relazione devo creare e dove per far si che quando converto un preventivo in un ordine venga replicato il valore assegnato a questo campo?
    mercoledì 21 ottobre 2009 00:19

Risposte

  • Ciao Alessandro,
    le entità Quote Products e Sales Order Product non sono relazionate direttamente e quindi non è possibile utilizzare la funzionalità di mapping presente sulle relazioni.
    Per fare quello che richiedi serve creare un plugin che intercetti la conversione di un preventivo in ordine (evento: pre-create order) e vada compilare i campi custom che hai creato.
    Questo mi sembra il metodo più veloce.
    Spero ti possa essere utile.


    ciao
    Roberto

    Roberto Nocera [Microsoft Dynamics CRM MVP] technical blog: http://blogs.ugidotnet.org/rnocera/ Community CRM italiana: www.dynamicsforum.it
    venerdì 23 ottobre 2009 13:45
    Moderatore
  • Grazie mille della risposta, in fine spulciando bene nei forum, ho trovato un interessante articolo che faceva proprio al caso mio.
    In pratica ho scoperto che il data map tra le entitá products quote, invoice, salesnotes, oportunity esiste ed é disponibile come web service, semplicemente non esiste modo di richiamarlo dal pannello di amministrazione di CRM..

    Per connettarsi é sufficiente richiamare il webservices e passargli l'ID del data map, ti riporto il metodo per comoditá:

    http://support.microsoft.com/Default.aspx?scid=kb%3ben-us%3b914921&x=9&y=10

    To do this in Microsoft Dynamics 4.0, follow these steps:
    1. Start SQL Server Management Studio on the computer that is running SQL Server hosting CRM databases.
    2. Press New Query and execute the following query against the organization database which mappings you want to manage:

      select SourceEntityName, TargetEntityName, EntityMapId from EntityMapBase where SourceEntityName in ('opportunityproduct', 'quotedetail', 'salesorderdetail') and TargetEntityName in ('quotedetail', 'salesorderdetail', 'invoicedetail');

      The result of the query should look similar to the following: SourceEntityName TargetEntityName EntityMapId --------------------- ------------------ ------------------------------------
      salesorderdetail invoicedetail B63D75D0-C4BE-DC11-992B-0003FF51E5C4
      quotedetail salesorderdetail 553E75D0-C4BE-DC11-992B-0003FF51E5C4
      opportunityproduct quotedetail 2E3F75D0-C4BE-DC11-992B-0003FF51E5C4
      opportunityproduct salesorderdetail DF3F75D0-C4BE-DC11-992B-0003FF51E5C4
      opportunityproduct invoicedetail 314075D0-C4BE-DC11-992B-0003FF51E5C4
      The following are the schema names of the entities that are involved:
      • The schema name for the Order Product entity is salesorderdetail.
      • The schema name for the Invoice Product entity is invoicedetail.
      • The schema name for the Opportunity Product entity is opportunityproduct.
      • The schema name for Quote Product entity is quotedetail.
      Note The EnitityMapId GUIDs are different in every environment. }
    3. Copy the EntityMapId GUID of the mapping set that you want to modify to the clipboard.
    4. Start Internet Explorer, Type the following URL in the Address box:
      http://crmserver:port/organization/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId=
      Replace the crmserver, port, and organization accordingly to match your environment.
    5. Paste the GUID that you copied in step 3 after the equal sign of the URL in the Address box and enclose it in braces. The Address box should now contain text that resembles the following:
      http://crm:5555/Contoso/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId={B63D75D0-C4BE-DC11-992B-0003FF51E5C4}
    6. When you press ENTER to open the URL, the mapping page for the source and target entity opens. When you click New, a new page opens where you can confirm the mapping that you are editing.
     
    mercoledì 28 ottobre 2009 21:38

Tutte le risposte

  • Ciao Alessandro,
    le entità Quote Products e Sales Order Product non sono relazionate direttamente e quindi non è possibile utilizzare la funzionalità di mapping presente sulle relazioni.
    Per fare quello che richiedi serve creare un plugin che intercetti la conversione di un preventivo in ordine (evento: pre-create order) e vada compilare i campi custom che hai creato.
    Questo mi sembra il metodo più veloce.
    Spero ti possa essere utile.


    ciao
    Roberto

    Roberto Nocera [Microsoft Dynamics CRM MVP] technical blog: http://blogs.ugidotnet.org/rnocera/ Community CRM italiana: www.dynamicsforum.it
    venerdì 23 ottobre 2009 13:45
    Moderatore
  • Grazie mille della risposta, in fine spulciando bene nei forum, ho trovato un interessante articolo che faceva proprio al caso mio.
    In pratica ho scoperto che il data map tra le entitá products quote, invoice, salesnotes, oportunity esiste ed é disponibile come web service, semplicemente non esiste modo di richiamarlo dal pannello di amministrazione di CRM..

    Per connettarsi é sufficiente richiamare il webservices e passargli l'ID del data map, ti riporto il metodo per comoditá:

    http://support.microsoft.com/Default.aspx?scid=kb%3ben-us%3b914921&x=9&y=10

    To do this in Microsoft Dynamics 4.0, follow these steps:
    1. Start SQL Server Management Studio on the computer that is running SQL Server hosting CRM databases.
    2. Press New Query and execute the following query against the organization database which mappings you want to manage:

      select SourceEntityName, TargetEntityName, EntityMapId from EntityMapBase where SourceEntityName in ('opportunityproduct', 'quotedetail', 'salesorderdetail') and TargetEntityName in ('quotedetail', 'salesorderdetail', 'invoicedetail');

      The result of the query should look similar to the following: SourceEntityName TargetEntityName EntityMapId --------------------- ------------------ ------------------------------------
      salesorderdetail invoicedetail B63D75D0-C4BE-DC11-992B-0003FF51E5C4
      quotedetail salesorderdetail 553E75D0-C4BE-DC11-992B-0003FF51E5C4
      opportunityproduct quotedetail 2E3F75D0-C4BE-DC11-992B-0003FF51E5C4
      opportunityproduct salesorderdetail DF3F75D0-C4BE-DC11-992B-0003FF51E5C4
      opportunityproduct invoicedetail 314075D0-C4BE-DC11-992B-0003FF51E5C4
      The following are the schema names of the entities that are involved:
      • The schema name for the Order Product entity is salesorderdetail.
      • The schema name for the Invoice Product entity is invoicedetail.
      • The schema name for the Opportunity Product entity is opportunityproduct.
      • The schema name for Quote Product entity is quotedetail.
      Note The EnitityMapId GUIDs are different in every environment. }
    3. Copy the EntityMapId GUID of the mapping set that you want to modify to the clipboard.
    4. Start Internet Explorer, Type the following URL in the Address box:
      http://crmserver:port/organization/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId=
      Replace the crmserver, port, and organization accordingly to match your environment.
    5. Paste the GUID that you copied in step 3 after the equal sign of the URL in the Address box and enclose it in braces. The Address box should now contain text that resembles the following:
      http://crm:5555/Contoso/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId={B63D75D0-C4BE-DC11-992B-0003FF51E5C4}
    6. When you press ENTER to open the URL, the mapping page for the source and target entity opens. When you click New, a new page opens where you can confirm the mapping that you are editing.
     
    mercoledì 28 ottobre 2009 21:38