{"id":360,"date":"2011-09-28T06:17:00","date_gmt":"2011-09-28T06:17:00","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/?p=360"},"modified":"2011-09-28T06:17:00","modified_gmt":"2011-09-28T06:17:00","slug":"set-quote-reference-id-when-creating-quotes-from-com-api","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/","title":{"rendered":"Set Quote reference id when creating quotes from COM API"},"content":{"rendered":"<p>Whenever we create quotes through standard screen, it calls the internal methods to generated Quote reference id based on reference format and updates the new quote record with the same. When we create quote using CreateRecord method in COMP API we don\u2019t get this value automatically set. Below is the function you can use in your COM API methods to get the reference number for any quote generated using CreateRecord method. You just have to pass QuoteId for newly created quote as input. <\/p>\n<p><\/p>\n<fieldset><\/p>\n<p><legend>Script<\/legend>\n<p>\/\/&#8217;Function to get quote reference number<br \/>function GetQuoteReference(QuoteId)<br \/>{<br \/>&nbsp;&nbsp;\/\/&#8217;Get quote reference format<br \/>&nbsp;&nbsp;var QuoteRefFormat = &#8220;&#8221;;<br \/>&nbsp;&nbsp;var qryQuoteRefFormat = &#8221; select cast(parm_value as varchar(25)) as QuoteRefFormat from custom_sysparams where parm_name=&#8217;QuoteFormat'&#8221;<br \/>&nbsp;&nbsp;RecQuoteRefFormat = eWare.CreateQueryObj(qryQuoteRefFormat);<br \/>&nbsp;&nbsp;RecQuoteRefFormat.SelectSQL();<br \/>&nbsp;&nbsp;if(!RecQuoteRefFormat.eof)<br \/>&nbsp;&nbsp;{<br \/>&nbsp;&nbsp;&nbsp;&nbsp;QuoteRefFormat = new String(RecQuoteRefFormat(&#8220;QuoteRefFormat&#8221;));<br \/>&nbsp;&nbsp;&nbsp;&nbsp;if(QuoteRefFormat==&#8221;null&#8221; QuoteRefFormat==&#8221;undefined&#8221;)QuoteRefFormat=&#8221;&#8221;;<br \/>&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;\/\/&#8217;Get related opportunity and quote data<br \/>&nbsp;&nbsp;var qryQuotes = &#8221; select * from vQuotes (nolock) where Quot_OrderQuoteId='&#8221;+QuoteId+&#8221;&#8216;&#8221;;<br \/>&nbsp;&nbsp;var RecQuotes = eWare.CreateQueryObj(qryQuotes);<br \/>&nbsp;&nbsp;RecQuotes.SelectSQL();<\/p>\n<p>&nbsp;&nbsp;\/\/&#8217;Count of quotes for thsi opportunity<br \/>&nbsp;&nbsp;var qryOtherQuotes = &#8221; select count(*) as LastQuote from vQuotes (nolock) where quot_OpportunityID = &#8216;&#8221;+new String(RecQuotes(&#8220;oppo_opportunityid&#8221;))+&#8221;&#8216; and COALESCE(quot_IsQuote, 0) &lt;&gt; 0&#8243;<br \/>&nbsp;&nbsp;var RecOtherQuotes = eWare.CreateQueryObj(qryOtherQuotes);<br \/>&nbsp;&nbsp;RecOtherQuotes.SelectSQL();<br \/>&nbsp;&nbsp;var Count = &#8220;0&#8221;<br \/>&nbsp;&nbsp;if(!RecOtherQuotes.eof)<br \/>&nbsp;&nbsp;{<br \/>&nbsp;&nbsp;&nbsp;&nbsp;Count = new String(RecOtherQuotes(&#8220;LastQuote&#8221;))<br \/>&nbsp;&nbsp;&nbsp;&nbsp;if(Count==&#8221;null&#8221; Count==&#8221;undefined&#8221;)Count=&#8221;0&#8243;;<br \/>&nbsp;&nbsp;}<\/p>\n<p>&nbsp;&nbsp;\/\/&#8217;Get the current user recordset<br \/>&nbsp;&nbsp;var UserId = new String(eWare.GetContextInfo(&#8220;User&#8221;,&#8221;user_userid&#8221;));<br \/>&nbsp;&nbsp;if(UserId==&#8221;null&#8221; UserId==&#8221;undefined&#8221;)UserId=&#8221;0&#8243;;<br \/>&nbsp;&nbsp;var qryUser = &#8221; select * from users (nolock) left join channel (nolock)&#8221;;<br \/>&nbsp;&nbsp;qryUser += &#8221; on user_primarychannelid = chan_channelid&#8221;;<br \/>&nbsp;&nbsp;qryUser += &#8221; where User_Deleted is null&#8221;;<br \/>&nbsp;&nbsp;qryUser += &#8221; and User_UserId = &#8216;&#8221;+UserId+&#8221;&#8216;&#8221;;<br \/>&nbsp;&nbsp;var RecUser = eWare.CreateQueryObj(qryUser);<br \/>&nbsp;&nbsp;RecUser.SelectSQL();<\/p>\n<p>&nbsp;&nbsp;\/\/&#8217;Get the date parameters<br \/>&nbsp;&nbsp;var qryCurrDate = &#8221; select datepart(dd,getdate()) as Day,datepart(mm,getdate()) as month,substring(cast(datepart(yy,getdate()) as varchar(5)),3,5) as year&#8221;;<br \/>&nbsp;&nbsp;var RecCurrDate = eWare.CreateQueryObj(qryCurrDate);<br \/>&nbsp;&nbsp;RecCurrDate.SelectSQL();<\/p>\n<p>&nbsp;&nbsp;\/\/&#8217;Get quote reference number<br \/>&nbsp;&nbsp;var QuoteReference = &#8220;&#8221;;<br \/>&nbsp;&nbsp;QuoteReference = QuoteRefFormat;<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#C&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecUser(&#8220;user_primarychannelid&#8221;)));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#H&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecUser(&#8220;chan_description&#8221;)));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#L&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecUser(&#8220;user_logon&#8221;)));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#U&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(UserId));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#O&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecQuotes(&#8220;oppo_opportunityid&#8221;)));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#I&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(QuoteId));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#N&#8221;,&#8221;gi&#8221;);<\/p>\n<p>&nbsp;&nbsp;\/\/We add count here considering the quote is just now created<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(Count));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#D&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecCurrDate(&#8220;day&#8221;)));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#M&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecCurrDate(&#8220;month&#8221;)));<br \/>&nbsp;&nbsp;regExpression = new RegExp(&#8220;#Y&#8221;,&#8221;gi&#8221;);<br \/>&nbsp;&nbsp;QuoteReference = QuoteReference.replace(regExpression,new String(RecCurrDate(&#8220;year&#8221;)));<br \/>&nbsp;&nbsp;return QuoteReference;<br \/>}<\/p>\n<\/fieldset>\n<p><\/p>\n<p>Happy scripting!! \ud83d\ude42 <\/p>\n<p><marquee width=\"80%\"><b>If you find this content useful, please drop us an email at <a title=\"mailto:crm@greytrix.com\" href=\"mailto:crm@greytrix.com\">crm@greytrix.com<\/a>. <\/b><\/marquee><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whenever we create quotes through standard screen, it calls the internal methods to generated Quote reference id based on reference format and updates the new quote record with the same. When we create quote using CreateRecord method in COMP API we don\u2019t get this value automatically set. Below is the function you can use in\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/\">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":[1],"tags":[1865,1891,2030,2031],"class_list":["post-360","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-quotes","tag-reference-number","tag-sage-crm-7-0","tag-sage-crm-7-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Set Quote reference id when creating quotes from COM API - 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\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Set Quote reference id when creating quotes from COM API - Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"og:description\" content=\"Whenever we create quotes through standard screen, it calls the internal methods to generated Quote reference id based on reference format and updates the new quote record with the same. When we create quote using CreateRecord method in COMP API we don\u2019t get this value automatically set. Below is the function you can use in\u2026 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"article:published_time\" content=\"2011-09-28T06:17:00+00:00\" \/>\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=\"3 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\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/\",\"name\":\"Set Quote reference id when creating quotes from COM API - Sage CRM \u2013 Tips, Tricks and Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\"},\"datePublished\":\"2011-09-28T06:17:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set Quote reference id when creating quotes from COM API\"}]},{\"@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":"Set Quote reference id when creating quotes from COM API - 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\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/","og_locale":"en_US","og_type":"article","og_title":"Set Quote reference id when creating quotes from COM API - Sage CRM \u2013 Tips, Tricks and Components","og_description":"Whenever we create quotes through standard screen, it calls the internal methods to generated Quote reference id based on reference format and updates the new quote record with the same. When we create quote using CreateRecord method in COMP API we don\u2019t get this value automatically set. Below is the function you can use in\u2026 Read More &raquo;","og_url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/","og_site_name":"Sage CRM \u2013 Tips, Tricks and Components","article_published_time":"2011-09-28T06:17:00+00:00","author":"greysagecrm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"greysagecrm","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/","name":"Set Quote reference id when creating quotes from COM API - Sage CRM \u2013 Tips, Tricks and Components","isPartOf":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website"},"datePublished":"2011-09-28T06:17:00+00:00","author":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f"},"breadcrumb":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2011\/09\/28\/set-quote-reference-id-when-creating-quotes-from-com-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/"},{"@type":"ListItem","position":2,"name":"Set Quote reference id when creating quotes from COM API"}]},{"@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\/360","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=360"}],"version-history":[{"count":0,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}