MS Dynamics CRM : Quote Product to Product Relationship. - dynamics-crm

We are using crm 2013 on premises.
I am having issues with customising the Quote Product (quote-detail) entity. I have seen a lot of posts about the relationship and mapping of the Quote Product entity to the Opportunity Entity. My problem is the mapping between the Quote Product entity and the Product entity.
A have data that I would like to pull from the product as soon as the quote product is created. This data is crucial for generating quotes for customers (I am currently generating the quotes to be send to customers from reports).
For example:
I want to put the product description on the quote. This I have done by querying the product description directly from the Product entity. The problem is that sometimes a custom description must be added or the default description for the product must be changed for a specific quote. To resolve this I would like to pull the product description from the Product entity and add it to a field in the Quote Product entity. The sales people can then alter the product description as required.
How can I accomplish this?

Unfortunately you would not be able to accomplish your task using mapping. You will have to develop code to do it. To get required fields you can use OData endpoint to get info from Product entity during onchange event of productid lookup field and pull it to opportunity product fields.

Related

DDD how to Communicate for search service

I work on eCommerce app. I use micro-services with ddd. I have product service. It store title description etc. Pricing service store product prices and promotions. Category service store categories and product category. Shipment service store all about shipment data and product shipment details dweight cargo firm isFreeCargo etc.
I dont Want to use composition pattern for searching. I create search service which store all datas of services. Pricing, product information, shipment information, category information etc.
I concat all data with events. Like cQRS
So all services communicate each other with events.
my problem is;
when CreateProductRequest come To product service . It includes categoryId, price, shipmentFirm etc. I mean not only product service information.
I only save title description etc in product service. There is no data like Price or category in product service. because They dont belong this domain. When product created and event raise productCreatedEvent that includes created product id and other service informations come with request.price , category etc.
Other services listen this event. And consume. Pricing save productId and price. Cagegory save productId and categoryId ...
And search service consume event,too. But there is no data about price or category because they just published.
Okey I can prove consistency with events when price change or category After saving. but at first maybe there is not going to be price or category for 2-3 sec.
how canI save category and price for search service immediately. because there is no price and category denormalize and caculated data in productCreatedEvent .There is just reference Ids like categoryId or not caculated price.They are going to be exist on search service after own services save and publish events like ProductCategoryUpdated or ProductPriceCaculeted
.
First of all. What I can see is that price and category services are very related to Product and they dont have strong functionality on its own so I suggest you to merge the three of them in one service. If the price service is used to create promotions, I would make a promotion service wich communicates with product service asking for the price of a product or a category of products, and apply them the corresponding discount.
The first problem has to do with what I have just said, because price, category and product are so related you have to pass all the data when you create a product, but because they are different services, product service should not be aware of this information. In case you want to do this way, you should create prices and categories independently of the product and when these are created each service should send a priceCreated or categoryCreated event that will be consume by anyone interested in. For example the search service.
For the second question, the best approach I think is the first one, first because It wont couple services. The cart service only have the ids no other information. And when you want to query another information you only have to make the query to the proper service as usual, so no coupling is created.
And second, the main drawback of the second option is that you are including logic related to cart service in all the other service. For each one you have to listen events and instead of make logic related to the service like update some info, they are sending info to another service. It is like a hidden command message

Dynamics CRM 2016: access product details in quote template

I would like to pull some additional data from the product entity to a quote.
To create a quote, I use a Word template.
When creating the Word template for the quote entity, I can only select the related entity "Quote Product". I am missing the related products (from the "Product" entity).
The entity "Quote Product" is related to the entity "Product".
How do I access the information of the "Product" entity in the Word template?
When creating it, I can only choose to add the "Quote Product" entity.
I somehow need to find a way to add the "Quote Product" entity as well as the related "Product" entity.
Is this possible? Preferably without coding.
As far as what you're allowed to include in the template, you have to copy the information from the Product to the Quote Product.

Product slug not working in CRM 2013 Email templates

I have a business requirement that execs are really wanting to see. In our lead and email templates we have a few of our products listed. The products themselves are pretty stable but the prices are of course subject to change.
I'm OK with hard coding the product name into email but I was hoping the price could be a slug that get's resolved.
We only have one price list so nothing to worry about there.
I see no way to get access to the product and or price list entities through the data field values dialog.
So my thought was to create the 2-4 fields in the lead and opportunity entities. Then create a background workflow that takes the price from the price list and sets those fields.
Then when an email is generated I can access those hidden fields as they will be available through the lead or opportunity entity.
Any thoughts, concerns, better approaches?
Unfortunately CRM's email template system is not capable of what you describe out of the box. As you have discovered it will only permit you to insert placeholders from, or assocated with, the primary entity. It won't let you insert fields from other entities. What you suggest as a workaround is possible but it's not an ideal solution as you'll have these 2-4 redundant fields on each record type that contain duplicated data from the price list.
If you have any experience with creating custom workflow activities using the SDK then the best solution here is to create a custom activity that accepts either an draft Email or Email template as a input parameter, instantiates the email if required, loads the price list data, and performs your own custom placeholder replacements.
I've done this on a few projects in order to pass multiple entity records into the template, or to insert complex tables into emails by loading data from relationships. See the screenshots below for an example of how I've configured the email template and dialog process to pass both an 'Account' and 'User' record into the email template.

Adding fields to backend customer create section

I would like to add three fields in customer creating section of magento backend.
Customer Card ID
Customer Store No
Customer Store Name
Those fields should save into magento database then can query/show in onepage checkout ( we would like to send automatic mail of related stores customer relationship department).
Could you please help me to make such a things in magento?
first you need to decide if those attributes are customer attributes or customer address attributes or both together. Then add the attributes to customer and/or billing/shipping address objects (preferable with setup script) and then add the fields to all templates you might need. You also might need to extend the user data validation class.

Creating a Relationship Between Order Product (salesorderdetail) and Service Activity (serviceappointment)

We are using Microsoft CRM 4.0 to run a consulting business. Its working pretty well but we want to simplify the way we are doing some things. What we want to do is create an Order (salesorder) with multiple Order Products (salesorderdetal). So good so far.
Next I want to be able associate each Order Product (salesorderdetail) with a Service Activity (serviceappointment), this representing that this billable line item in the order is actually going to be fulfilled as a consuting engagement.
The problem is, I can't seem to be able to create an association between the Order Product (salesorderdetail) and Service Activiy (serviceappointment). It simply doesn't appear in the drop downlist.
Can anyone think of a reason for this? I've seen some posts about relating field mapping between Quote Product, Order Product, Opportunity Product and Invoice Product, but that isn't quite what I am after.
Any suggestions gratefully received - even if it is an explaination of why its not possible.
I created a simple 1:N mapping from Case to Invoice. The Case records its ID and Title in custom fields in the Invoice. Unfortunately this does not allow for product creation as children of the Invoice, so that should be created as a custom code workflow.

Resources