Automatically generate quotelineitem on first save of quote

I want to replicate the Salesforce quote generation and automation of quotelineitem records when saving a new quotel. The Quotelineitems should replicate the opportunitylineitem records. Seems like quite a lot of configuration is required in Skuid to match what Salesforce have built.

I’m guessing this has been done in the past as it’s standard Salesforce functionality, so wondered if anybody had some XML they could send across please?

If not, would anyone be able to guide me through the steps of adding quotelineitems to a quote once the quote record has been saved? The quote is being generated through a pageinclude on the opportunity page where I pass it the opportunity Id through a query string

Glenn,

I had a page that was pretty close. I added a script to generate the quote lines from the opportunity line items. This should get you going.

Be aware that there may be some settings on this page that were peculiar to my use case. You may want to grab any pieces that you need and add them to your page.

Thanks,

Bill

{{$Param.lastname}}+', '+{{$Param.firstname}}+MONTH(TODAY())+'/'+DAY(TODAY())+'/'+YEAR(TODAY()) LookupContact row.updated ContactId ({{UnitPrice}}*{{Quantity}})*(1-({{Discount}}/100)) row.updated Product2Id {{Name}} {{Model.label}} Quote QuoteLines Quote QuoteLines IM Patients Contact <skootable showconditions="true" showsavecancel="false" showerrorsinline="true" searchmethod="server" searchbox="false" showexportbuttons="false" pagesize="10" createrecords="true" model="QuoteLines" buttonposition="" mode="read" uniqueid="sk-1_DtBl-207" instantfilters="false"

Thanks very much, i’ve been able to apply this and it’s working great!

If anyone’s looking to do this in Skuid Spark, here’s the API 2.0 Version of the basic functionality for this page
















































{{$Param.lastname}}+', '+{{$Param.firstname}}+MONTH(TODAY())+'/'+DAY(TODAY())+'/'+YEAR(TODAY())


















row.updated


ContactId























({{UnitPrice}}*{{Quantity}})*(1-({{Discount}}/100))


















































































































































































(function(skuid){
var $ = skuid.$;
$(document.body).one('pageload',function(){
        var opplines = skuid.model.map().OppLineItems;
        var quotelines = skuid.model.map().QuoteLines;
        
        console.log(opplines);
        
        var j=1;
        $.each(opplines.data, function(i, v) {
           
           quotelines.createRow({
               
               doAppend: true,
               additionalConditions: [
                   
                   {field: 'Product2Id', value: v.Product2Id},
                   {field: 'UnitPrice', value: v.ListPrice},
                   {field: 'Quantity', value: v.Quantity},
                   {field: 'Discount', value: v.Discount}
        
                ]
           });
           i++;
        });
});
})(skuid);








Quote
QuoteLines











Quote