{"id":14429,"date":"2017-06-07T12:10:39","date_gmt":"2017-06-07T12:10:39","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/?p=14429"},"modified":"2019-03-05T06:29:31","modified_gmt":"2019-03-05T06:29:31","slug":"delete-quote-line-items-using-javascript","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/","title":{"rendered":"Delete Quote Line Items using JavaScript"},"content":{"rendered":"<p style=\"text-align: justify;\">We all are much familiar with Quote mechanism provided by <a href=\"http:\/\/www.sagesoftware.co.in\/product-sage-crm\" target=\"_blank\" rel=\"noopener\">SAGE CRM<\/a>. We can manage quotes for an opportunity and also further can convert it to order for our customers. This functionality allows us to add Line Items or Products against it. In this blog, I will explain how we can delete line item record from the quote using JavaScript.<\/p>\n<p><em><strong>New Stuff:<\/strong> <\/em><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/01\/respond-to-the-growing-complexities-explore-the-new-gumu-connector-for-sage-x3-sage-crm-integration\/\" target=\"_blank\" rel=\"noopener\">Respond to the growing complexities: Explore the new GUMU&#x2122; connector for Sage X3 \u2013 Sage CRM Integration<\/a><\/p>\n<p style=\"text-align: justify;\">The Standard CRM system gives the provision to delete the Line items added against the Quote by clicking on the added Product hyperlink and then clicking the Delete button. To avoid such long process we have incorporated check boxes against each line item which will help the user to delete single or multiple line items at one go.<\/p>\n<p style=\"text-align: justify;\">To achieve this, write the below Code to your Custom Page and call the function on the page load.<\/p>\n<p><em>function AddCheckBox()<\/em><br \/>\n<em>{<\/em><br \/>\n<em> if(crm.grids(&#8220;0&#8221;))<\/em><br \/>\n<em> {<\/em><br \/>\n<em> crm.grids(&#8220;0&#8221;).addColumn({index:0,columnName: &#8220;Select&#8221;});<\/em><br \/>\n<em> var value = function() { <\/em><br \/>\n<em> var colText = this.getCellText(this.currentRow,this.columnNames.indexOf(&#8220;prod_name&#8221;)); <\/em><br \/>\n<em> \/\/&#8217;get company id from 1 column link<\/em><br \/>\n<em> var colDes = this.columnNames.indexOf(&#8220;prod_name&#8221;)<\/em><br \/>\n<em> var cellRef = this.getCellHtml(this.currentRow,colDes);<\/em><br \/>\n<em> var sAttr=new String($(cellRef).attr(&#8220;onclick&#8221;));<\/em><br \/>\n<em> if(sAttr==&#8221;null&#8221; ||sAttr==&#8221;&#8221; || sAttr==&#8221;undefined&#8221;)sAttr=&#8221;&#8221;;<\/em><br \/>\n<em> var cellProdLineItemid =&#8221;&#8221;;<\/em><br \/>\n<em> if(sAttr!=&#8221;&#8221;) <\/em><br \/>\n<em> {<\/em><br \/>\n<em> cellProdLineItemid = crm.getArg(&#8220;Key72&#8221;, $(cellRef).attr(&#8220;onclick&#8221;).split(&#8220;window.location &#8220;)[1]);<\/em><br \/>\n<em> if(cellProdLineItemid==&#8221;null&#8221; ||cellProdLineItemid==&#8221;&#8221; || cellProdLineItemid==&#8221;undefined&#8221;)<\/em><br \/>\n<em> {<\/em><br \/>\n<em> cellProdLineItemid = crm.getArg(&#8220;Key72&#8221;, $(cellRef).attr(&#8220;onclick&#8221;));<\/em><br \/>\n<em> if(cellProdLineItemid==&#8221;null&#8221; ||cellProdLineItemid==&#8221;&#8221; || cellProdLineItemid==&#8221;undefined&#8221;)cellProdLineItemid=&#8221;&#8221;;<\/em><br \/>\n<em> }<\/em><br \/>\n<em> }<\/em><br \/>\n<em> if(cellProdLineItemid!=&#8221;&#8221;)<\/em><br \/>\n<em> cellProdLineItemid = cellProdLineItemid;<\/em><br \/>\n<em> else<\/em><br \/>\n<em> cellProdLineItemid = &#8220;0&#8221;;<\/em><br \/>\n<em> return cellProdLineItemid; <\/em><br \/>\n<em> }<\/em><br \/>\n<em> crm.grids(&#8220;0&#8243;).addCells({index:0,type:&#8221;checkbox&#8221;, value : &#8220;0&#8221;,id: value, disabled: false, checked : false ,<\/em><br \/>\n<em> click : function(){console.log(&#8220;This is a test check box&#8221;);}});\/\/OpenQuoteItems($(this).attr(&#8220;id&#8221;));<\/em><br \/>\n<em> }<\/em><br \/>\n<em>}<\/em><br \/>\n<em>function OpenQuoteItems()<\/em><br \/>\n<em>{<\/em><br \/>\n<em> var sLineItemID= &#8220;&#8221;;<\/em><br \/>\n<em> $( &#8220;input:checked&#8221; ).each(function() {<\/em><br \/>\n<em> var sId=$(this).attr(&#8220;id&#8221;); <\/em><br \/>\n<em> if(sLineItemID==&#8221;&#8221;)<\/em><br \/>\n<em> sLineItemID=sId<\/em><br \/>\n<em> else<\/em><br \/>\n<em> sLineItemID+=&#8221;,&#8221;+sId<\/em><br \/>\n<em> });<\/em><br \/>\n<em> if(sLineItemID!=&#8221;&#8221;) <\/em><br \/>\n<em> {<\/em><br \/>\n<em> var sURL = GetCRMPath(); <\/em><br \/>\n<em> sURL +=&#8221;\/CustomPages\/QuoteItems\/QuoteItemsDelete.asp?SID=&#8221;+GetCurrURLValue(&#8220;SID&#8221;)+&#8221;&amp;Key58=&#8221;+sLineItemID+&#8221;&amp;QuIt_LineItemID=&#8221;+sLineItemID+&#8221;&#8221;; <\/em><br \/>\n<em> window.location.href = sURL; <\/em><br \/>\n<em> }<\/em><br \/>\n<em> else <\/em><br \/>\n<em> alert(&#8216;Atleast Check one Checkbox !!!&#8217;);<\/em><br \/>\n<em>}<\/em><br \/>\n<em>function GetCurrURLValue(name)<\/em><br \/>\n<em>{<\/em><br \/>\n<em> var winURL = window.location.href;<\/em><br \/>\n<em> var queryStringArray = winURL.split(&#8220;?&#8221;);<\/em><br \/>\n<em> var queryStringParamArray = queryStringArray[1].split(&#8220;&amp;&#8221;);<\/em><br \/>\n<em> var nameValue = null;<\/em><br \/>\n<em> for ( var i=0; i&lt;queryStringParamArray.length; i++ )<\/em><br \/>\n<em> { <\/em><br \/>\n<em> queryStringNameValueArray = queryStringParamArray[i].split(&#8220;=&#8221;);<\/em><br \/>\n<em> if ( name == queryStringNameValueArray[0] )<\/em><br \/>\n<em> {<\/em><br \/>\n<em> nameValue = queryStringNameValueArray[1];<\/em><br \/>\n<em> } <\/em><br \/>\n<em> }<\/em><br \/>\n<em> return nameValue;<\/em><br \/>\n<em>}<\/em><br \/>\n<em>function GetCRMPath()<\/em><br \/>\n<em>{<\/em><br \/>\n<em> var sPageURL = new String(document.URL);<\/em><br \/>\n<em> var sURL = &#8221;;<\/em><br \/>\n<em> var iEndChar=0;iStartChar=0;<\/em><br \/>\n<em> sPageURL = sPageURL.toLowerCase();<\/em><br \/>\n<em> iEndChar = sPageURL.indexOf(&#8216;\/eware&#8217;);<\/em><br \/>\n<em> if (iEndChar != -1) <\/em><br \/>\n<em> {<\/em><br \/>\n<em> \/\/find the first &#8216;\/&#8217; before this<\/em><br \/>\n<em> iStartChar = sPageURL.substr(0,iEndChar);<\/em><br \/>\n<em> iStartChar++<\/em><br \/>\n<em> sURL = sPageURL.substring(iStartChar,iEndChar); <\/em><br \/>\n<em> }<\/em><br \/>\n<em> return sURL;<\/em><br \/>\n<em>}<\/em><br \/>\nAlso prepare the .asp page with below code. This code will help you to delete the record from Quote.<br \/>\n&lt;!&#8211;#include file =&#8221;..\/eWare.js&#8221; &#8211;&gt;<br \/>\n&lt;%<br \/>\nvar LineItemID=&#8221;&#8221;;<br \/>\nif( Request.QueryString(&#8220;QuIt_LineItemID&#8221;) != &#8220;&#8221; ){<br \/>\nLineItemID = Request.QueryString(&#8220;QuIt_LineItemID&#8221;);<br \/>\n}else{<br \/>\nLineItemID = Request.QueryString(&#8220;Key58&#8221;);<br \/>\n}<br \/>\nLineItemID=new String(LineItemID);<br \/>\nvar sItemID=LineItemID.split(&#8220;,&#8221;);<br \/>\nfor(var indexitem=0;indexitem&lt;sItemID.length;indexitem++)<br \/>\n{<br \/>\nvar sOrderquoteid=&#8221;&#8221;;<br \/>\nvar sLinenumber =&#8221;&#8221;<br \/>\nvar sQuoteTotal=&#8221;&#8221;;<br \/>\nvar objQuoteItems = eWare.FindRecord(&#8220;QuoteItems&#8221;,&#8221;QuIt_LineItemID IN (&#8216;&#8221;+sItemID[indexitem]+&#8221;&#8216;)&#8221;);<br \/>\nif(!objQuoteItems.eof)<br \/>\n{<br \/>\nsLinenumber = new String(objQuoteItems(&#8220;quit_linenumber&#8221;));<br \/>\nif(sLinenumber==&#8221;undefined&#8221; || sLinenumber==&#8221;&#8221;)sLinenumber = 0;<br \/>\nsOrderquoteid = new String(objQuoteItems(&#8220;QuIt_orderquoteid&#8221;));<br \/>\nif(sOrderquoteid==&#8221;undefined&#8221; || sOrderquoteid==&#8221;&#8221;)sOrderquoteid = 0;<br \/>\nvar sql = &#8221; UPDATE QuoteItems SET quit_linenumber = (quit_linenumber -1) WHERE quit_linenumber &gt; &#8220;+sLinenumber+&#8221; AND quit_linenumber &gt;= 0 AND quit_orderquoteid=&#8221;+sOrderquoteid+&#8221; AND quit_DELETED IS NULL &#8220;;<br \/>\neWare.ExecSql(sql);<br \/>\nobjQuoteItems(&#8220;quit_DELETED&#8221;) = 1;<br \/>\nobjQuoteItems.SaveChanges();<br \/>\nvar oRec= eWare.CreateQueryObj(&#8220;SELECT SUM(quit_quotedpricetotal) AS Total FROM QuoteItems WHERE QuIt_Deleted IS NULL AND QuIt_orderquoteid=&#8221;+sOrderquoteid );<br \/>\noRec.selectSQL();<br \/>\nif (!oRec.eof)<br \/>\n{<br \/>\nsQuoteTotal = new String(oRec(&#8220;Total&#8221;));<br \/>\nif(sQuoteTotal==&#8221;undefined&#8221; || sQuoteTotal==&#8221;&#8221;)sQuoteTotal = 0;<br \/>\n}<br \/>\nvar sql = &#8220;Update Quotes set quot_GrossAmt =&#8221;+sQuoteTotal+&#8221;,quot_NettAmt=&#8221;+sQuoteTotal+&#8221; WHERE Quot_OrderQuoteID=&#8221;+sOrderquoteid;<br \/>\nUpdatequery = eWare.CreateQueryObj(sql);<br \/>\nUpdatequery.ExecSql();<br \/>\n\/\/objQuoteItems.DeleteRecord = true;<br \/>\n\/\/objQuoteItems.SaveChanges();<br \/>\n}<br \/>\n}<br \/>\nvar strBackURL=eWare.URL(523);<br \/>\nResponse.Redirect(strBackURL);<br \/>\n%&gt;<br \/>\nAdd below script on Custom Content Quote Summery screen to add Delete button and add checkbox.<br \/>\n&lt;script&gt;<br \/>\ncrm.ready(function() {<br \/>\ncrm.addButton(&#8220;..\\\\Themes\/Img\/Color1\/Buttons\/Delete.gif&#8221;,&#8221;button&#8221;,&#8221;Delete Line Item&#8221;,{&#8220;index&#8221;: 3,&#8221;href&#8221;: &#8220;javascript:OpenQuoteItems();&#8221;});<br \/>\nAddCheckBox();<br \/>\n});<br \/>\n&lt;\/script&gt;<br \/>\nAfter applying this changes, you will be able to see the check boxes against each line item record. Click the checkbox and click on <strong>\u201cDelete Line Item\u201d<\/strong> button. The record will be remove from the quote.<br \/>\n<a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-large wp-image-14430\" src=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg\" alt=\"\" width=\"595\" height=\"214\" \/><\/a><span style=\"font-size: Medium;\"><strong>About Us<\/strong><\/span><br \/>\n<a href=\"http:\/\/www.greytrix.com\/\">Greytrix<\/a> a globally recognized Premier Sage Gold Development Partner is a one stop solution provider for Sage ERP and Sage CRM needs. Being recognized and rewarded for multi-man years of experience, we bring complete end-to-end assistance for your technical consultations, product customizations, data migration, system integrations, third party add-on development and implementation expertise.<\/p>\n<p><a href=\"http:\/\/www.greytrix.com\/\">Greytrix<\/a>\u00a0has some unique integration solutions for Sage CRM with Sage ERPs (<a href=\"http:\/\/www.greytrix.com\/product\/sage-crm\/gumu-sage-x3-integration\">Sage Enterprise Management (Sage X3<\/a>),\u00a0<a href=\"https:\/\/www.greytrix.com\/product\/intacct-apps-and-products\/gumu-sage-intacct-sage-crm-integration\">Sage Intacct<\/a>, <a href=\"http:\/\/www.greytrix.com\/product\/sage-crm\/gumu-sage-100-erp-integration\">Sage 100<\/a>,\u00a0<a href=\"http:\/\/www.greytrix.com\/product\/sage-crm\/gumu-sage-500-erp-integration\">Sage 500<\/a>\u00a0and\u00a0<a href=\"http:\/\/www.greytrix.com\/product\/sage-crm\/gumu-sage-300-erp-integration\">Sage 300<\/a>).We also offer best-in-class\u00a0<a href=\"http:\/\/www.greytrix.com\/product\/erp-development\/sage-x3\">Sage ERP<\/a> and <a href=\"http:\/\/www.greytrix.com\/product\/crm-development\/sage-crm\">Sage CRM<\/a> customization and development services\u00a0to\u00a0Business\u00a0Partners,\u00a0End\u00a0Users and Sage PSG worldwide. Greytrix\u00a0helps in\u00a0migrating of Sage CRM from <a href=\"https:\/\/www.greytrix.com\/resources\/sage-erp-crm-migration.pdf\">Salesforce | ACT! | SalesLogix | Goldmine | Sugar CRM | Maximizer<\/a>. Our Sage CRM Product Suite includes <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/business-manager\">Greytrix Business Manager<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-project-manager\">Sage CRM Project Manager<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-resource-planner\">Sage CRM Resource Planner<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-contract-manager\">Sage CRM Contract Manager<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-event-manager\">Sage CRM Event Manager<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-budget-planner\">Sage CRM Budget Planner<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/gmail-integration-for-sage-crm\">Gmail Integration<\/a>, <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-mobile-service-signature\">Sage CRM Mobile Service Signature<\/a> and <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm-add-ons\/sage-crm-cti-framework\">Sage CRM CTI Framework<\/a>.<\/p>\n<p>Greytrix is a recognized <a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/07\/26\/greytrix-on-boards-sage-global-rockstar-isv-program-with-gumu-for-sage-crm-sage-x3-solution\/\">Sage Rockstar ISV Partner<\/a> for GUMU&#x2122; Sage Enterprise Management \u2013 Sage CRM integration also listed on <a href=\"https:\/\/www.sage.com\/marketplace\/asb_ListingDetail?listingId=a1h24000007PC3aAAG\" target=\"_blank\" rel=\"noopener\">Sage Marketplace<\/a>.<\/p>\n<p>For more information on our integration solutions, please contact us at\u00a0<a href=\"mailto:sage@greytrix.com\">sage@greytrix.com<\/a>. We will be glad to assist you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We all are much familiar with Quote mechanism provided by SAGE CRM. We can manage quotes for an opportunity and also further can convert it to order for our customers. This functionality allows us to add Line Items or Products against it. In this blog, I will explain how we can delete line item record\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[200,201,303,304,332,342],"tags":[948,949,1471,1515,2010],"class_list":["post-14429","post","type-post","status-publish","format-standard","hentry","category-javascript-sage-crm","category-jquery","category-quote","category-quotes","category-sage-crm","category-sage-crm7-3","tag-delete-quote-line-items","tag-delete-quote-line-items-using-javascript","tag-javascript","tag-line-items","tag-sage-crm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Delete Quote Line Items using JavaScript - Sage CRM \u2013 Tips, Tricks and Components<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Delete Quote Line Items using JavaScript - Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"og:description\" content=\"We all are much familiar with Quote mechanism provided by SAGE CRM. We can manage quotes for an opportunity and also further can convert it to order for our customers. This functionality allows us to add Line Items or Products against it. In this blog, I will explain how we can delete line item record\u2026 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-07T12:10:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-05T06:29:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg\" \/>\n<meta name=\"author\" content=\"greysagecrm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"greysagecrm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/\",\"name\":\"Delete Quote Line Items using JavaScript - Sage CRM \u2013 Tips, Tricks and Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg\",\"datePublished\":\"2017-06-07T12:10:39+00:00\",\"dateModified\":\"2019-03-05T06:29:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#primaryimage\",\"url\":\"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg\",\"contentUrl\":\"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Delete Quote Line Items using JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\",\"name\":\"Sage CRM \u2013 Tips, Tricks and Components\",\"description\":\"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\",\"name\":\"greysagecrm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"caption\":\"greysagecrm\"},\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Delete Quote Line Items using JavaScript - Sage CRM \u2013 Tips, Tricks and Components","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/","og_locale":"en_US","og_type":"article","og_title":"Delete Quote Line Items using JavaScript - Sage CRM \u2013 Tips, Tricks and Components","og_description":"We all are much familiar with Quote mechanism provided by SAGE CRM. We can manage quotes for an opportunity and also further can convert it to order for our customers. This functionality allows us to add Line Items or Products against it. In this blog, I will explain how we can delete line item record\u2026 Read More &raquo;","og_url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/","og_site_name":"Sage CRM \u2013 Tips, Tricks and Components","article_published_time":"2017-06-07T12:10:39+00:00","article_modified_time":"2019-03-05T06:29:31+00:00","og_image":[{"url":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg","type":"","width":"","height":""}],"author":"greysagecrm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"greysagecrm","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/","name":"Delete Quote Line Items using JavaScript - Sage CRM \u2013 Tips, Tricks and Components","isPartOf":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#primaryimage"},"thumbnailUrl":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg","datePublished":"2017-06-07T12:10:39+00:00","dateModified":"2019-03-05T06:29:31+00:00","author":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f"},"breadcrumb":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#primaryimage","url":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg","contentUrl":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-content\/uploads\/2017\/06\/IMG001-1024x369.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/06\/07\/delete-quote-line-items-using-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/"},{"@type":"ListItem","position":2,"name":"Delete Quote Line Items using JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/","name":"Sage CRM \u2013 Tips, Tricks and Components","description":"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f","name":"greysagecrm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","caption":"greysagecrm"},"url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/14429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/comments?post=14429"}],"version-history":[{"count":2,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/14429\/revisions"}],"predecessor-version":[{"id":21683,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/14429\/revisions\/21683"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/media?parent=14429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/categories?post=14429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/tags?post=14429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}