Skip to main content

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: n

{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