<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5596040326653440585</id><updated>2026-07-01T02:17:51.245+05:00</updated><category term="AX 2012"/><category term="Dynamics 365 Finance &amp; Operation"/><category term="Business Central"/><title type='text'>Dynamics Knowledge Hub</title><subtitle type='html'>Dynamics 365 Finance and operation, Ax 2012, Business Central, SSRS, SSIS </subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-5293203485855682383</id><published>2024-03-14T21:40:00.003+05:00</published><updated>2024-03-14T21:40:31.951+05:00</updated><title type='text'>X++ Validate Email Address</title><content type='html'>&lt;p&gt;&amp;nbsp;boolean isValidEmailAddress(str _emailAddress)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const str domainPattern = @&quot;(@)(.+)$&quot;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const str emailPattern = @&quot;^[^@\s]+@[^@\s]+\.[^@\s]+$&quot;;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; boolean isValidEmail;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!_emailAddress || strLen(_emailAddress) == 0)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; isValidEmail = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Normalize the domain&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Text.RegularExpressions.Match domainMatch = System.Text.RegularExpressions.Regex::Match(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _emailAddress, domainPattern,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Text.RegularExpressions.RegexOptions::None, System.TimeSpan::FromMilliseconds(200));&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (domainMatch.get_Success())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Use IdnMapping class to convert Unicode domain names.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Globalization.IdnMapping idn = new System.Globalization.IdnMapping();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Pull out and process domain name&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str domainName = idn.GetAscii(domainMatch.Groups.get_Item(2).Value);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _emailAddress = System.Text.RegularExpressions.Regex::Replace(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _emailAddress, domainPattern, domainMatch.Groups.get_Item(1).Value + domainName);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Perform basic validation on email address using regex&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; isValidEmail = System.Text.RegularExpressions.Regex::IsMatch(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _emailAddress, emailPattern,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Text.RegularExpressions.RegexOptions::IgnoreCase, System.TimeSpan::FromMilliseconds(250));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Email addresses having invalid domains like test@�.com&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; isValidEmail = false;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return isValidEmail;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/5293203485855682383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2024/03/x-validate-email-address.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/5293203485855682383'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/5293203485855682383'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2024/03/x-validate-email-address.html' title='X++ Validate Email Address'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-5442355343852956724</id><published>2021-01-20T12:15:00.002+05:00</published><updated>2021-01-20T12:16:25.037+05:00</updated><title type='text'>SSRS Make Enum Multi Select AX 2012</title><content type='html'>&lt;p&gt;In this tutorial we see how to make&lt;b&gt; Enum Multi Select in ax 2012&lt;/b&gt; and&lt;b&gt; filter values in another lookup based on Enum values.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Make new table and add fields in it&amp;nbsp; EnumId and EnumLabel. write the method in the UI builder class you can see the method below.&lt;/p&gt;&lt;p&gt;public void ContactStatusLookup(FormStringControl _control)&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Query&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;query = new query();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; QueryBuildDataSource&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; BEContractStatusEnum&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enumTmp; //Table name&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SysDictEnum&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dictEnum = new SysDictEnum(enumNum(BEContractStatus));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; int&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;idx;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; delete_from enumTmp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; for (idx = 0;idx &amp;lt; dictEnum.values();idx++)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enumTmp.clear();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enumTmp.initValue();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enumTmp.EnumId&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= dictEnum.index2Value(idx);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enumTmp.EnumLabel&amp;nbsp; &amp;nbsp; = dictEnum.index2Label(idx);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enumTmp.insert();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds = query.addDataSource(tableNum(BEContractStatusEnum));&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds.fields().dynamic(false);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds.fields().clearFieldList();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractStatusEnum, EnumLabel));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; //SysLookupMultiSelectGrid::lookup(query,_control,_control,conNull());&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; multiContractStatus = SysLookupMultiSelectGrid::construct(_control, _control);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; multiContractStatus.parmQuery(query);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; multiContractStatus.run();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;Register this method in post build.&lt;/p&gt;&lt;p&gt;Now we filter values in another lookup see the below code how we filter values based on selected values in enum lookup.&lt;/p&gt;&lt;p&gt;public void ContactIDLookup(FormStringControl _control)&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; str&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;controlValue;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Query&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;query = new query();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; QueryBuildDataSource&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; List&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strlist=new List(Types::String);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; ListIterator&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iterator;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SysDictEnum&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dictEnum = new SysDictEnum( enumnum(BEContractStatus) );&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds = query.addDataSource(tableNum(BEContractDetails));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; controlValue = contractStatus.value();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds.fields().dynamic(false);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qbds.fields().clearFieldList();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if(dictEnum.name2Value(contractStatus.value()) !=0 &amp;amp;&amp;amp; controlValue!=&quot;&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strlist&amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;nbsp; &amp;nbsp;strSplit(controlValue,&quot;;&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iterator&amp;nbsp; &amp;nbsp; = new ListIterator(strlist);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(iterator.more())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //info(strFmt(&quot;%1 - %2 - %3&quot;,iterator.value(), , dictEnum.index2Symbol(dictEnum.name2Value(contractStatus.value()))));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.addRange(fieldNum(BEContractDetails, EndUseragreementStatus)).value(SysQuery::value(dictEnum.index2Symbol(dictEnum.name2Value(iterator.value()))));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractDetails, ContractId ));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractDetails, ClientName ));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractDetails, PropertyId ));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iterator.next();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; else&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractDetails, ContractId ));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractDetails, ClientName ));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qbds.fields().addField(fieldNum(BEContractDetails, PropertyId ));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; //SysLookupMultiSelectGrid::lookup(query,_control,_control,conNull());&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; multiContractId = SysLookupMultiSelectGrid::construct(_control, _control);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; multiContractId.parmQuery(query);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; multiContractId.run();&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/5442355343852956724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2021/01/ssrs-make-enum-multi-select-ax-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/5442355343852956724'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/5442355343852956724'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2021/01/ssrs-make-enum-multi-select-ax-2012.html' title='SSRS Make Enum Multi Select AX 2012'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-302212909851408492</id><published>2020-12-30T17:41:00.000+05:00</published><updated>2020-12-30T17:41:12.341+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Business Central"/><title type='text'>Test custom page type api on postman</title><content type='html'>Today we see how to test the &lt;b&gt;custom page type API on&amp;nbsp;postman.&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Step 1: Open postman set the request type &lt;b&gt;GET, &lt;/b&gt;paste API url, set authorization type &lt;b&gt;Basic Auth, &lt;/b&gt;add user name and password.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2hARC2AsTELe31SnFNh4R7JcJcTSVgZ-brpt3DfHVKLrRl2XanoJVGJzsnDQRU-qZly7Xp0Gu1MFav1Wmi_JrfhRDe0qsg-b27wbCKsUF8V44KFb7ZbD3JuwmvquxcXJD0f5G4uli33I/s902/authorization.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;357&quot; data-original-width=&quot;902&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2hARC2AsTELe31SnFNh4R7JcJcTSVgZ-brpt3DfHVKLrRl2XanoJVGJzsnDQRU-qZly7Xp0Gu1MFav1Wmi_JrfhRDe0qsg-b27wbCKsUF8V44KFb7ZbD3JuwmvquxcXJD0f5G4uli33I/w586-h150/authorization.PNG&quot; width=&quot;586&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Step 2: search the users and open the form&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBhnRurE2xZZCaDwvoX3L2RIMtFgU5-wud84jLPIZT1BkAiJEngEbeoT3SyXHNOr2bVclV7jw0Wqz12mLMw7QYBjcwHaP3vDI3hzYLE2vZG0H3-IaCLSw2JO8Vvx9V1qEG-vR62mkVW8/s662/Users.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;274&quot; data-original-width=&quot;662&quot; height=&quot;132&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBhnRurE2xZZCaDwvoX3L2RIMtFgU5-wud84jLPIZT1BkAiJEngEbeoT3SyXHNOr2bVclV7jw0Wqz12mLMw7QYBjcwHaP3vDI3hzYLE2vZG0H3-IaCLSw2JO8Vvx9V1qEG-vR62mkVW8/w509-h132/Users.PNG&quot; width=&quot;509&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Step 3: copy the username and web service access key and paste it is Postman Authorization.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCFcqhEODCC6LWofJ_9lUlRgg45Lpcy89SjDdeQuf8MEQ07ZE48BQaDNj2ZWFKU-r90-yVdjbiHv-oqPMZmIrSD8UGCJZaOx_VDNrapksJ0vPDLS3Axk_lmHeVI5s9L_3viG72wiLViXQ/s798/Users+page.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;519&quot; data-original-width=&quot;798&quot; height=&quot;208&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCFcqhEODCC6LWofJ_9lUlRgg45Lpcy89SjDdeQuf8MEQ07ZE48BQaDNj2ZWFKU-r90-yVdjbiHv-oqPMZmIrSD8UGCJZaOx_VDNrapksJ0vPDLS3Axk_lmHeVI5s9L_3viG72wiLViXQ/w502-h208/Users+page.PNG&quot; width=&quot;502&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Step 4: Now click on send button you can see result.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw_LxI0d54zu5BWNqXoNz7YUCtEj4SkauaAXh-s6onbMdh74SriTZHdGHYJ48_LvLQwVMx1UPRjvKMddWPFmLt26RFUSMU38ginqIYiN0YbxiqNdbspnb9-ZlQ9XQi2J9Iq3c_g6_cV1U/s367/result.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;139&quot; data-original-width=&quot;367&quot; height=&quot;121&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw_LxI0d54zu5BWNqXoNz7YUCtEj4SkauaAXh-s6onbMdh74SriTZHdGHYJ48_LvLQwVMx1UPRjvKMddWPFmLt26RFUSMU38ginqIYiN0YbxiqNdbspnb9-ZlQ9XQi2J9Iq3c_g6_cV1U/w559-h121/result.PNG&quot; width=&quot;559&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/302212909851408492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/12/test-custom-page-type-api-on-postman.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/302212909851408492'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/302212909851408492'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/12/test-custom-page-type-api-on-postman.html' title='Test custom page type api on postman'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2hARC2AsTELe31SnFNh4R7JcJcTSVgZ-brpt3DfHVKLrRl2XanoJVGJzsnDQRU-qZly7Xp0Gu1MFav1Wmi_JrfhRDe0qsg-b27wbCKsUF8V44KFb7ZbD3JuwmvquxcXJD0f5G4uli33I/s72-w586-h150-c/authorization.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-189433830564309407</id><published>2020-12-30T15:39:00.006+05:00</published><updated>2020-12-30T16:06:48.172+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Business Central"/><title type='text'>How to create Custom page type API Business central</title><content type='html'>&lt;p&gt;Today we see how to make &lt;b&gt;custom API in business central.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I ma making API for &lt;b&gt;Item data&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 1:&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;add new file in project and set the any &lt;b&gt;name.al&lt;/b&gt;&amp;nbsp;Write the below code in the file.&lt;/p&gt;&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;page&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;50103&lt;/span&gt;&amp;nbsp;Products&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PageType&amp;nbsp;=&amp;nbsp;Card;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SourceTable&amp;nbsp;=&amp;nbsp;Item;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;layout&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;area(&lt;/span&gt;Content&lt;span style=&quot;color: #569cd6;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;group(&lt;/span&gt;GroupName&lt;span style=&quot;color: #569cd6;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;field(&lt;/span&gt;&quot;No.&quot;;&amp;nbsp;Rec&lt;span style=&quot;color: #569cd6;&quot;&gt;.&lt;/span&gt;&quot;No.&quot;&lt;span style=&quot;color: #569cd6;&quot;&gt;)&amp;nbsp;&lt;/span&gt;{&amp;nbsp;}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;field(&lt;/span&gt;Description;&amp;nbsp;Rec&lt;span style=&quot;color: #569cd6;&quot;&gt;.&lt;/span&gt;Description&lt;span style=&quot;color: #569cd6;&quot;&gt;)&amp;nbsp;&lt;/span&gt;{&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;field(&lt;/span&gt;Blocked;&amp;nbsp;Rec&lt;span style=&quot;color: #569cd6;&quot;&gt;.&lt;/span&gt;Blocked&lt;span style=&quot;color: #569cd6;&quot;&gt;)&amp;nbsp;&lt;/span&gt;{&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;field(Type&lt;/span&gt;;&amp;nbsp;Rec&lt;span style=&quot;color: #569cd6;&quot;&gt;.Type)&amp;nbsp;&lt;/span&gt;{&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;field(&lt;/span&gt;&quot;Base&amp;nbsp;Unit&amp;nbsp;of&amp;nbsp;Measure&quot;;&amp;nbsp;Rec&lt;span style=&quot;color: #569cd6;&quot;&gt;.&lt;/span&gt;&quot;Base&amp;nbsp;Unit&amp;nbsp;of&amp;nbsp;Measure&quot;&lt;span style=&quot;color: #569cd6;&quot;&gt;)&amp;nbsp;&lt;/span&gt;{&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;field(&lt;/span&gt;&quot;Last&amp;nbsp;Date&amp;nbsp;Modified&quot;;&amp;nbsp;Rec&lt;span style=&quot;color: #569cd6;&quot;&gt;.&lt;/span&gt;&quot;Last&amp;nbsp;Date&amp;nbsp;Modified&quot;&lt;span style=&quot;color: #569cd6;&quot;&gt;)&amp;nbsp;&lt;/span&gt;{&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 2:&lt;/b&gt;&amp;nbsp;Add new file in the project and set the name.xml. In file write twebservices and click enter you will automatically get the structure.&lt;/p&gt;&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;version&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;encoding&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ExportedData&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;TenantWebServiceCollection&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;TenantWebService&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ObjectType&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;Page&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ObjectType&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ServiceName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;Products&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ServiceName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ObjectID&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;50103&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ObjectID&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;Published&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;true&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;Published&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;TenantWebService&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;TenantWebServiceCollection&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ExportedData&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 3:&lt;/b&gt; Now run the project it automatically publish your api.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 4:&lt;/b&gt; Search web service in business central search bar and click on it.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf57EAH7aymmUcFXOO7mbVEPqLo3JTj6J5BQ4cHGu8HE1Dbx8AyfRAa9QTVpV84ghJmxQcMKRfPQLzQKl7rvTENnYEWoFohzVIltnp2TpKV62mTKoviOhhyXUmQ59TX9mopoUH5HvGohM/s1036/Web+service+business+central.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;407&quot; data-original-width=&quot;1036&quot; height=&quot;126&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf57EAH7aymmUcFXOO7mbVEPqLo3JTj6J5BQ4cHGu8HE1Dbx8AyfRAa9QTVpV84ghJmxQcMKRfPQLzQKl7rvTENnYEWoFohzVIltnp2TpKV62mTKoviOhhyXUmQ59TX9mopoUH5HvGohM/w403-h126/Web+service+business+central.PNG&quot; width=&quot;403&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 5: &lt;/b&gt;You can see the webservice in the below image.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi38OVFquVrIOQawMvaQbjob5kM1HhSkQ67A-RSd99s3xGox4NXN1JV49ySb6gXRjbjoCWNjZdIu0amiocfrCJ6RQGPjfY_jgxN7Yp65bHfhoDbRfmgSkz18KvuCl7F4tbjwX3pFgGMgVU/s1277/web+Service+filter.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;488&quot; data-original-width=&quot;1277&quot; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi38OVFquVrIOQawMvaQbjob5kM1HhSkQ67A-RSd99s3xGox4NXN1JV49ySb6gXRjbjoCWNjZdIu0amiocfrCJ6RQGPjfY_jgxN7Yp65bHfhoDbRfmgSkz18KvuCl7F4tbjwX3pFgGMgVU/w459-h148/web+Service+filter.PNG&quot; width=&quot;459&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;In the next post we will look at how we use our API on postman.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/189433830564309407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/12/custom-page-type-api-business-central.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/189433830564309407'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/189433830564309407'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/12/custom-page-type-api-business-central.html' title='How to create Custom page type API Business central'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf57EAH7aymmUcFXOO7mbVEPqLo3JTj6J5BQ4cHGu8HE1Dbx8AyfRAa9QTVpV84ghJmxQcMKRfPQLzQKl7rvTENnYEWoFohzVIltnp2TpKV62mTKoviOhhyXUmQ59TX9mopoUH5HvGohM/s72-w403-h126-c/Web+service+business+central.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-8250127891290643001</id><published>2020-09-14T10:29:00.001+05:00</published><updated>2020-09-14T10:31:53.903+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>X++ Call rest Api from AX 2012</title><content type='html'>&lt;p&gt;Now we see how to &lt;b&gt;Authenticate the REST API&lt;/b&gt; from &lt;b&gt;AX 2012&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; System.Net.WebRequest webreq = System.Net.WebRequest::Create(&quot;&lt;b&gt;URL&lt;/b&gt;&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; System.IO.Stream streamstr,responsestr;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; System.IO.StreamWriter streamWriter;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; System.Net.WebResponse webresponse;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; System.IO.StreamReader reader;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; System.Exception ex;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; str json = &quot;{\&quot;&lt;b&gt;clientId&lt;/b&gt;\&quot;:\&quot;&lt;b&gt;Value&lt;/b&gt;\&quot;,\&quot;&lt;b&gt;clientSecret&lt;/b&gt;\&quot;:\&quot;&lt;b&gt;Value&lt;/b&gt;\&quot;}&quot;;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;webreq.set_Method(&quot;POST&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;webreq.set_ContentType(&quot;application/json&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;streamstr = webreq.GetRequestStream();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;streamWriter = new System.IO.StreamWriter(streamstr);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;streamWriter.Write(json);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;streamWriter.Flush();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;streamWriter.Close();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;streamWriter.Dispose();&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; try&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;webresponse = webreq.GetResponse();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responsestr = webresponse.GetResponseStream();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reader = new System.IO.StreamReader(responsestr);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;info(reader.ReadToEnd());&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; catch(Exception::CLRError)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex = ClrInterop::getLastException();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ex != null)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ex = ex.get_InnerException();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ex != null)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; error(ex.ToString());&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/8250127891290643001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/09/x-call-rest-api-from-ax-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/8250127891290643001'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/8250127891290643001'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/09/x-call-rest-api-from-ax-2012.html' title='X++ Call rest Api from AX 2012'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-2580766884647322851</id><published>2020-08-20T13:29:00.001+05:00</published><updated>2020-08-20T13:35:13.636+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>Create Sales order Using X++ Ax 2012</title><content type='html'>&lt;p&gt;&amp;nbsp;public void CreateSalesOrder()&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; CustTable&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;custtable;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SalesTable&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; NumberSeq&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NumberSeq;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SalesId&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sid;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; SalesLine&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sl;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;//&lt;b&gt;&amp;nbsp;sales order header part&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NumberSeq = NumberSeq::newGetNum(SalesParameters::numRefSalesId() , true);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sid = NumberSeq.num();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.SalesId&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = sid;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.initValue();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.CustAccount&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = custtable.AccountNum;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.initFromCustTable();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.ShippingDateRequested&amp;nbsp; &amp;nbsp; = systemDateGet();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.ShippingDateConfirmed&amp;nbsp; &amp;nbsp; = systemDateGet();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.ReceiptDateConfirmed&amp;nbsp; &amp;nbsp; &amp;nbsp;= systemDateGet();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.ReceiptDateRequested&amp;nbsp; &amp;nbsp; &amp;nbsp;= systemDateGet();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ttsBegin;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; salesTable.insert();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ttsCommit;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;// &lt;b&gt;Sales order line part&lt;/b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; sl.clear();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.SalesId&amp;nbsp; &amp;nbsp; &amp;nbsp; = salesTable.SalesId;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.ItemId&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= //&lt;b&gt;ItemID;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.initFromInventTable(InventTable::find(sl.ItemId));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.SalesQty&amp;nbsp; &amp;nbsp; &amp;nbsp;= &lt;b&gt;//QTY;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.SalesPrice&amp;nbsp; &amp;nbsp;= InventTableModule::find(sl.ItemId,ModuleInventPurchSales::Sales).Price;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.LineAmount&amp;nbsp; &amp;nbsp;= sl.SalesQty*sl.SalesPrice;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sl.createLine(NoYes::Yes, // Validate&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NoYes::Yes, // initFromSalesTable&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NoYes::No, // initFromInventTable&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NoYes::Yes, // calcInventQty&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NoYes::Yes, // searchMarkup&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NoYes::No); // searchPrice&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/2580766884647322851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/08/create-sales-order-using-x-ax-2012.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2580766884647322851'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2580766884647322851'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/08/create-sales-order-using-x-ax-2012.html' title='Create Sales order Using X++ Ax 2012'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-3186201990463052668</id><published>2020-04-13T20:06:00.003+05:00</published><updated>2020-04-25T16:23:58.217+05:00</updated><title type='text'>C# how to make PDF file password protected </title><content type='html'>how to make&lt;b&gt; PDF file password protected in C# using&amp;nbsp;itext sharp&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Threading.Tasks;&lt;br /&gt;
using iTextSharp.text;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using iTextSharp.text.pdf;&lt;br /&gt;
using iTextSharp.text.pdf.parser;&lt;br /&gt;
&lt;br /&gt;
namespace ConsoleApplication2&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; class Program&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main(string[] args)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String FilePath = @&quot;C:\Users\rashid\Desktop\Customer.pdf&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string PDFFilepassword = &quot;12345&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] bytes = System.IO.File.ReadAllBytes(FilePath);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (MemoryStream inputData = new MemoryStream(bytes))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (MemoryStream outputData = new MemoryStream())&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PdfReader reader = new PdfReader(inputData);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PdfReader.unethicalreading = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PdfEncryptor.Encrypt(reader, outputData, true, PDFFilepassword, PDFFilepassword, PdfWriter.ALLOW_SCREENREADERS);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bytes = outputData.ToArray();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; File.WriteAllBytes(FilePath&amp;nbsp;, bytes);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw ex;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/3186201990463052668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/c-how-to-make-pdf-file-password.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/3186201990463052668'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/3186201990463052668'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/c-how-to-make-pdf-file-password.html' title='C# how to make PDF file password protected '/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-6056231992603244323</id><published>2020-04-07T17:08:00.001+05:00</published><updated>2020-04-07T17:08:21.978+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>batch job ax 2012 using x++</title><content type='html'>Basic structure of &lt;b&gt;Batch Job&lt;/b&gt; in AX 2012 using X++&lt;br /&gt;
&lt;br /&gt;
class BEProjectEmailAutomationBatch extends RunBaseBatch&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
public void run()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //write login in this method&lt;br /&gt;
}&lt;br /&gt;
public container pack()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return conNull();&lt;br /&gt;
}&lt;br /&gt;
public boolean unpack(container packedclass)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return true;&lt;br /&gt;
}&lt;br /&gt;
public static ClassDescription description()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return &quot;Project Report Email Automation&quot;;&lt;br /&gt;
}&lt;br /&gt;
public static void main(Args _args)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; BEProjectEmailAutomationBatch EmailAutomation = new BEProjectEmailAutomationBatch();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (EmailAutomation.prompt())&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EmailAutomation.run();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/6056231992603244323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/batch-job-ax-2012-using-x.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/6056231992603244323'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/6056231992603244323'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/batch-job-ax-2012-using-x.html' title='batch job ax 2012 using x++'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-3103312207733877419</id><published>2020-04-06T13:27:00.000+05:00</published><updated>2020-04-06T13:27:03.556+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>Export template in AX 2012 X++</title><content type='html'>today we will see how to export template like if you have written any uploaded but after some time you don&#39;t remember which value will come first or you forget the sequence.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For this situation we will make the template you just need to fill the template and then import the data in ax 2012.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
class BEUploadTickets extends RunBaseBatch&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; DialogRunbase&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dialog;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; DialogField&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fileNameField;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; FilenameOpen&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; csvFileName;&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
protected Object dialog()&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; container&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conFilter;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; DialogText&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dlgText;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; DialogGroup&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exportGroup, importGroup;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; FormBuildControl&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dialogGroupControlExp, dialogGroupControlImp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; FormBuildButtonControl&amp;nbsp; exportTemplateButton;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; ;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; #File&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; dialog&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = super();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; conFilter&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= [&#39;Excel File&quot;,&quot;*.xlsx&#39;];&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; importGroup = dialog.addGroup(&#39;Import&#39;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; dialogGroupControlImp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= dialog.formBuildDesign().control(importGroup.formBuildGroup().id());&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; fileNameField&amp;nbsp; &amp;nbsp;= dialog.addField(extendedTypeStr(&#39;FilenameOpen&#39;));&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; dialog.filenameLookupFilter(conFilter);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; dlgText = dialog.addText(&#39;\nPlease Select a EXCEL file to upload Ticket info data.&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; dlgText.displayHeight(3);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportGroup = dialog.addGroup(&#39;Export&#39;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; dialogGroupControlExp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= dialog.formBuildDesign().control(exportGroup.formBuildGroup().id());&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportTemplateButton&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = dialogGroupControlExp.addControl(FormControlType::Button,&#39;exportTemplateButton&#39;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportTemplateButton.text(&quot;@SYS91539&quot;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportTemplateButton.backgroundColor(10);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportTemplateButton.backStyle(5);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportTemplateButton.bold(15);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; exportTemplateButton.foregroundColor(7);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; return dialog;&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
public void dialogPostRun(DialogRunbase _dialog)&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; super(dialog);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; _dialog.formRun().controlMethodOverload(true);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; _dialog.formRun().controlMethodOverloadObject(this);&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
protected void exportTemplate()&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;#AviFiles&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysOperationProgress progress1 = new SysOperationProgress();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelApplication sysExcelApplication;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorkbooks sysExcelWorkBooks;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp;&lt;strike&gt;// FileName fileName = @&#39;C:\\Desktop\\Mounting\\Mounting Journal.xlsx&#39;;&lt;/strike&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorkbook sysExcelWorkBook;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorkSheets sysExcelWorkSheets;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorkSheet sysExcelWorkSheet;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorksheet sysExcelWorkSheetToBeDeleted;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelStyles styles;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelStyle style;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelFont font;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; SysExcelCells cells;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; int row = 1;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; boolean workSheetAdded = false;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; ;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; progress1.setCaption(&#39;Export To Excel in progress...&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; progress1.setAnimation(#AviTransfer);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelApplication = SysExcelApplication::construct();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorkBooks = sysExcelApplication.workbooks();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorkBook = sysExcelWorkBooks.add();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; styles = sysExcelWorkBook.styles();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; style = styles.add(&#39;Header&#39;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; font = style.font();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; font.bold(true);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; font.color(255);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorkSheets = sysExcelWorkbook.worksheets();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelApplication.visible(true);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; while(sysExcelWorkSheets.count() &amp;gt; 1)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sysExcelWorkSheetToBeDeleted = sysExcelWorkSheets.itemFromNum(2);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sysExcelWorkSheetToBeDeleted.delete();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorkSheet = sysExcelWorkSheets.add(null,null,1);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorkSheet.name(&#39;Ticket Uploader Template&#39;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorkSheet.cells().item(1,1).value(&#39;Ticket Type&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,2).value(&#39;Ticket sub type ID&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; //sysExcelWorksheet.cells().item(1,3).value(&#39;&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,4).value(&#39;Contract Id&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,5).value(&#39;Property Id&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,6).value(&#39;Move In Customer&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,7).value(&#39;Disconnection Date&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,8).value(&#39;DL Charge Date&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.cells().item(1,9).value(&#39;Settlement Date&#39;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.rows().item(1).style(&#39;Header&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; progress1.setText(strfmt(&quot;@BEL958&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sysExcelWorksheet.columns().autoFit();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cells = sysExcelWorksheet.cells();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cells.range(&#39;D2:D99&#39;).numberFormat(&#39;0,00&#39;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workSheetAdded = false;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelWorksheet.columns().autoFit();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; sysExcelApplication.displayAlerts(false);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
public void exportTemplateButton_clicked()&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; this.exportTemplate();&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
public static void main(Args _args)&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; BEUploadTickets uploadsTicket = new BEUploadTickets();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; if(uploadsTicket.prompt())&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BEUploadTickets::uploadandValidateData();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
private static void uploadandValidateData()&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; For this please check the link how to import data from excel.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;a href=&quot;https://dynamicszerotohero.blogspot.com/2020/04/x-import-data-from-excel-ax-2012.html&quot;&gt;https://dynamicszerotohero.blogspot.com/2020/04/x-import-data-from-excel-ax-2012.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_nbzC6cORZ2pInnxbmXYUUMermOwIC3jIDYtNb56J7teUK2js_jUUNCYzlSylOfplJahb8nf8TwHCSNunM94GXpJgfhJFMletjLjT5Lp4aeFnFya_pC8MuWm5W1bPDgF4yMXqxpbACgM/s1600/Ticket+Uploader.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;357&quot; data-original-width=&quot;613&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_nbzC6cORZ2pInnxbmXYUUMermOwIC3jIDYtNb56J7teUK2js_jUUNCYzlSylOfplJahb8nf8TwHCSNunM94GXpJgfhJFMletjLjT5Lp4aeFnFya_pC8MuWm5W1bPDgF4yMXqxpbACgM/s320/Ticket+Uploader.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
see the below image when you click on the C&lt;b&gt;reate Template button&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2L90BJ6jmycWpMNcdTXfTDseM7L2aG9jlGhJzj3HIJshxRfD7e9WU4JgNBvOR9wNSmpa9lOd3zeFv4QVbSRLQ0jDVEofIyCEtYmO1YMpW01tyfQ-_pWeFmQScosjrg5O-b4_KcEna4fo/s1600/Ticket+Uploader+Excel.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;329&quot; data-original-width=&quot;1222&quot; height=&quot;86&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2L90BJ6jmycWpMNcdTXfTDseM7L2aG9jlGhJzj3HIJshxRfD7e9WU4JgNBvOR9wNSmpa9lOd3zeFv4QVbSRLQ0jDVEofIyCEtYmO1YMpW01tyfQ-_pWeFmQScosjrg5O-b4_KcEna4fo/s320/Ticket+Uploader+Excel.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Fill all the values in it and import the file.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/3103312207733877419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/export-template-in-ax-2012-x.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/3103312207733877419'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/3103312207733877419'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/export-template-in-ax-2012-x.html' title='Export template in AX 2012 X++'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_nbzC6cORZ2pInnxbmXYUUMermOwIC3jIDYtNb56J7teUK2js_jUUNCYzlSylOfplJahb8nf8TwHCSNunM94GXpJgfhJFMletjLjT5Lp4aeFnFya_pC8MuWm5W1bPDgF4yMXqxpbACgM/s72-c/Ticket+Uploader.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-5159577507542726362</id><published>2020-04-06T12:49:00.002+05:00</published><updated>2020-04-06T12:51:33.188+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>Left Right String padding in X++</title><content type='html'>We will see how to add the character on the &lt;b&gt;left side&lt;/b&gt; or the &lt;b&gt;right side&lt;/b&gt; of string.&lt;br /&gt;
it is very simple for this we will use two functions.&lt;br /&gt;
&lt;br /&gt;
For &lt;b&gt;right side padding&lt;/b&gt; we use&amp;nbsp;&lt;span style=&quot;background-color: #f0faff; font-family: &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;strLfix(str _str, int _lenght [, char _char])&lt;/span&gt;&lt;br /&gt;
For &lt;b&gt;Left side padding&lt;/b&gt; we use&amp;nbsp;&lt;span style=&quot;background-color: #f0faff; font-family: &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;strRfix(str _str, int _lenght [, char _char])&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;str text = &quot;Score&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; str leftPadding,rightpadding;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // for right side padding we use strLFix function&lt;br /&gt;
&amp;nbsp; &amp;nbsp; leftPadding = strLFix(text,strLen(text)+1,&#39;s&#39;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; info(strFmt(&quot;Right side padding result - %1&quot;,leftPadding));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; // for left side padding we use strRFix function&lt;br /&gt;
&amp;nbsp; &amp;nbsp; rightpadding = strRFix(text,strLen(text)+1,&#39;s&#39;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;info(strFmt(&quot;Left side padding result- %1&quot;,rightpadding));&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFVkAZkizOCvLuBdt3ZXRKBjkEeeQeHEpnPYoQt4kyEWvZCfTCyxhWf0xdMNqUan8xLbKH_KeDPukboHFryS-B66_jmteurogWfUzeH6ZFjIh0OLmZx9Tt8T9rQP-TsiVNK424RIhGPO0/s1600/Left+Right+padding.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;265&quot; data-original-width=&quot;354&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFVkAZkizOCvLuBdt3ZXRKBjkEeeQeHEpnPYoQt4kyEWvZCfTCyxhWf0xdMNqUan8xLbKH_KeDPukboHFryS-B66_jmteurogWfUzeH6ZFjIh0OLmZx9Tt8T9rQP-TsiVNK424RIhGPO0/s320/Left+Right+padding.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/5159577507542726362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/string-padding-in-x.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/5159577507542726362'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/5159577507542726362'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/string-padding-in-x.html' title='Left Right String padding in X++'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFVkAZkizOCvLuBdt3ZXRKBjkEeeQeHEpnPYoQt4kyEWvZCfTCyxhWf0xdMNqUan8xLbKH_KeDPukboHFryS-B66_jmteurogWfUzeH6ZFjIh0OLmZx9Tt8T9rQP-TsiVNK424RIhGPO0/s72-c/Left+Right+padding.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-6476853882853936593</id><published>2020-04-01T19:04:00.000+05:00</published><updated>2020-04-01T19:04:18.673+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>x++ Import data from excel ax 2012</title><content type='html'>In this post we check &lt;b&gt;how to import data from excel in AX 2012 using X++.&lt;/b&gt;&lt;br /&gt;
we Import data from excel and check if the record exist in table then update the field otherwise print the excel row number which has failed.&lt;br /&gt;
&lt;br /&gt;
static void UpdateOldProperty(Args _args)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SysExcelApplication&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorkbooks&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;workbooks;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorkbook&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workbook;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorksheets&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; worksheets;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SysExcelWorksheet&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;worksheet;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; SysExcelCells&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cells;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; COMVariantType&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; FileName&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filename;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; int&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;row =1; //ignore header row&lt;br /&gt;
&amp;nbsp; &amp;nbsp; int&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;i=0,failed=0;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Dialog&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dialog;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DialogField&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dialogField;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; BEProperties&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties,properties1;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; BEPropertyID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyID;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; BEOldPropertyID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OldPropertyID;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; application = SysExcelApplication::construct();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; workbooks = application.workbooks();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; dialog = new Dialog(&quot;FileOpen&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; dialogfield = dialog.addField(extendedTypeStr(Filenameopen), &quot;File Name&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; dialog.run();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (dialog.run())&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filename = (dialogfield.value());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; try&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workbooks.open(filename);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; catch (Exception::Error)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw error(&quot;File cannot be opened.&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; workbook = workbooks.item(1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; worksheets = workbook.worksheets();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; worksheet = worksheets.itemFromNum(1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cells = worksheet.cells();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; startLengthyOperation();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; do&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row++;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OldPropertyID = COMVariant2Str(cells.item(row,1).value());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyID = BEProperties::find(COMVariant2Str(cells.item(row,2).value())).PropertyID;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!propertyID)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; info(strFmt(&quot;RowNo. %1, PropertyID %2, OldPropertyID %3&quot;,row,propertyID,OldPropertyID));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; failed++;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ttsBegin;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select forUpdate properties1 where properties1.PropertyID == propertyID;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties1.OldPropertyID = OldPropertyID;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; properties1.update();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ttsCommit;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i++;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type = cells.item(row+1, 1).value().variantType();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while (type != COMVariantType::VT_EMPTY);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; workbook.close();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; application.quit();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; endLengthyOperation();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; info(strFmt(&quot;%1 Records Updated and %2 records failed&quot;,i,failed));&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/6476853882853936593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/x-import-data-from-excel-ax-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/6476853882853936593'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/6476853882853936593'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/04/x-import-data-from-excel-ax-2012.html' title='x++ Import data from excel ax 2012'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-262040049673439105</id><published>2020-03-30T10:36:00.000+05:00</published><updated>2020-03-30T10:49:25.760+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>Hide Query Select button in ax 2012</title><content type='html'>In this blog post we will see how to &lt;b&gt;Disable&lt;/b&gt; or&amp;nbsp; Hide the &lt;b&gt;query&lt;/b&gt;&amp;nbsp;&lt;b&gt;select&lt;/b&gt; button using controller class.&lt;br /&gt;
override the&amp;nbsp; showQuerySelectButton method in controller class and just add ret = false;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public boolean showQuerySelectButton(str parameterName)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; boolean ret;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ret = super(parameterName);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ret = false;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return ret;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/262040049673439105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/hide-query-select-button-in-ax-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/262040049673439105'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/262040049673439105'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/hide-query-select-button-in-ax-2012.html' title='Hide Query Select button in ax 2012'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-8066198250110639301</id><published>2020-03-30T09:55:00.000+05:00</published><updated>2020-03-30T09:55:09.013+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><category scheme="http://www.blogger.com/atom/ns#" term="Dynamics 365 Finance &amp; Operation"/><title type='text'>AX 2012 Roles Associated with current user Using X++</title><content type='html'>In this blog post we will will find the&amp;nbsp;&lt;b&gt;Security Role&lt;/b&gt;&amp;nbsp;assigning to the particular&amp;nbsp;&lt;b&gt;user &lt;/b&gt;using X++ in AX 2012.&lt;br /&gt;
&lt;br /&gt;
SecurityRole&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; role;&lt;br /&gt;
SecurityUserRole&amp;nbsp; &amp;nbsp; userRole;&lt;br /&gt;
UserInfo&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; userinfo;&lt;br /&gt;
&lt;br /&gt;
While select role&lt;br /&gt;
&amp;nbsp; &amp;nbsp; exists join userRole&lt;br /&gt;
&amp;nbsp;where role.RecId == userRole.SecurityRole&lt;br /&gt;
&amp;nbsp; &amp;amp;&amp;amp; userRole.User == curUserId()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; info(role.Name );&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD-8uFNizeEIonpuLEguuWrViz_K7K036DWtsB6NOtHBHbWbXIXlNKI8De5eeNJFiyHG-3OQrvwgfDa6mMN5OL3QeA6l_OyUbDUii88oq871RJ63tVFzGNKKiqJ8ET-9dimdBbYF8Pb9s/s1600/Security+Roles.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;280&quot; data-original-width=&quot;348&quot; height=&quot;257&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD-8uFNizeEIonpuLEguuWrViz_K7K036DWtsB6NOtHBHbWbXIXlNKI8De5eeNJFiyHG-3OQrvwgfDa6mMN5OL3QeA6l_OyUbDUii88oq871RJ63tVFzGNKKiqJ8ET-9dimdBbYF8Pb9s/s320/Security+Roles.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/8066198250110639301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/ax-2012-roles-associated-with-current.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/8066198250110639301'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/8066198250110639301'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/ax-2012-roles-associated-with-current.html' title='AX 2012 Roles Associated with current user Using X++'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD-8uFNizeEIonpuLEguuWrViz_K7K036DWtsB6NOtHBHbWbXIXlNKI8De5eeNJFiyHG-3OQrvwgfDa6mMN5OL3QeA6l_OyUbDUii88oq871RJ63tVFzGNKKiqJ8ET-9dimdBbYF8Pb9s/s72-c/Security+Roles.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-2003914956751597090</id><published>2020-03-18T11:46:00.001+05:00</published><updated>2020-03-18T12:08:49.803+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dynamics 365 Finance &amp; Operation"/><title type='text'>add address tab on custom form D365FO</title><content type='html'>In this post we see how to &lt;b&gt;add address tab on custom form dynamics 365 finance and operation&lt;/b&gt;. The scenario was to add the tab on custom form same like as on customer or vendor form.&lt;br /&gt;
&lt;br /&gt;
For this scenario we will look how to add the address tab.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1: &lt;/b&gt;Create new table or add the &lt;b&gt;DirPartyRecid&lt;/b&gt; on your table and make the relationship with &lt;b&gt;DirPartyTable&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg97jmeXcpIpeRfHekaxIfWR5C-v2TTujwx3MOnPFmfk2wlqN52_2dMVglP_eYLHwK6k56z2ZJHsPvIMfztpgukpMD4TdFuE0Zkg1kjrGVL0djDQcDYJMc5l5WyjzrF1ZljAzX430FVtQg/s1600/Address1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;475&quot; height=&quot;233&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg97jmeXcpIpeRfHekaxIfWR5C-v2TTujwx3MOnPFmfk2wlqN52_2dMVglP_eYLHwK6k56z2ZJHsPvIMfztpgukpMD4TdFuE0Zkg1kjrGVL0djDQcDYJMc5l5WyjzrF1ZljAzX430FVtQg/s320/Address1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2: &lt;/b&gt;Create new form or add MainTable and DirPartTable in form datasource&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqah5qsgk2dpxCueQgtgK5hsFL24vfjk63XAll0k0X8To138lHDytzHrD7u4IFwWmsImnNbCdlzRtlJ3HoFokbfDIZNXnr6wPNxADELw15k1v4fdTCuxvnrXxz24dADojvno47ZfHuGCY/s1600/Address2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;260&quot; data-original-width=&quot;284&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqah5qsgk2dpxCueQgtgK5hsFL24vfjk63XAll0k0X8To138lHDytzHrD7u4IFwWmsImnNbCdlzRtlJ3HoFokbfDIZNXnr6wPNxADELw15k1v4fdTCuxvnrXxz24dADojvno47ZfHuGCY/s1600/Address2.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 3: &lt;/b&gt;Set the properties on DirPartyTable datasource&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghpZkD1nxfnm5_WUhDxABj3eIJ4Hjak5zRdWH3zNkgXkdjI7KKpy8-TAXmG8u_8SAX0Ky2iadLlqDX0-7qrtSjtW41-mN9EFb3N4-hMRRYTT7gDzzQ0vxlv7sdOEBqMsp7VjBNiDVgvEs/s1600/Address3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;166&quot; data-original-width=&quot;267&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghpZkD1nxfnm5_WUhDxABj3eIJ4Hjak5zRdWH3zNkgXkdjI7KKpy8-TAXmG8u_8SAX0Ky2iadLlqDX0-7qrtSjtW41-mN9EFb3N4-hMRRYTT7gDzzQ0vxlv7sdOEBqMsp7VjBNiDVgvEs/s1600/Address3.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 4: A&lt;/b&gt;dd tab page on form and add &lt;b&gt;form part control&lt;/b&gt; in it&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz8yR6f0Jt7mHOHNb2HTS7ZW7ZWC11l6MIUSAqYudSXwL-STW3lofnwvTz_GYGpAqGcU2EBjXmEwyPqpuRUkQl8Yrlny0-eWt-xabzHoLoiWJp6J4wFVuEMHzxTKLkn_FMK7oVf5WQmK4/s1600/Address4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;115&quot; data-original-width=&quot;267&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz8yR6f0Jt7mHOHNb2HTS7ZW7ZWC11l6MIUSAqYudSXwL-STW3lofnwvTz_GYGpAqGcU2EBjXmEwyPqpuRUkQl8Yrlny0-eWt-xabzHoLoiWJp6J4wFVuEMHzxTKLkn_FMK7oVf5WQmK4/s1600/Address4.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Step 5: &lt;/b&gt;Set the properties on the form part control in the Menu Item Name set (&lt;b&gt;LogisticsPostalAddressGridFormPart&lt;/b&gt;)&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1lSMszS-cFSD5pZtAFtGDjQcZakDqvlx47oXNeH36pg7EjAqHm3rbJGCRUzyA6YGuimxPSlxnW1fN78HXihQFzJhQtNOkgrFNLW_1f__57SpV6v_-Jie5OkxTz7PsrrWPU-K0DzILGsA/s1600/Address5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;403&quot; data-original-width=&quot;548&quot; height=&quot;235&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1lSMszS-cFSD5pZtAFtGDjQcZakDqvlx47oXNeH36pg7EjAqHm3rbJGCRUzyA6YGuimxPSlxnW1fN78HXihQFzJhQtNOkgrFNLW_1f__57SpV6v_-Jie5OkxTz7PsrrWPU-K0DzILGsA/s320/Address5.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Step 6: &lt;/b&gt;Add link and set the properties on it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixbQZeCQr3T6T04GwN0wqRP9xzK7CAq3Ey0wR5Y5Bh5b1ijGJE22HN3-_J3ReFJ_tKyaVf2nUwWm3_ChEn0Mkjl79ha6CqIWbactppHgjBKTRqxFanKUAaGoEA4rv6k_zK_oOOLcYa3m8/s1600/Address6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;135&quot; data-original-width=&quot;547&quot; height=&quot;78&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixbQZeCQr3T6T04GwN0wqRP9xzK7CAq3Ey0wR5Y5Bh5b1ijGJE22HN3-_J3ReFJ_tKyaVf2nUwWm3_ChEn0Mkjl79ha6CqIWbactppHgjBKTRqxFanKUAaGoEA4rv6k_zK_oOOLcYa3m8/s320/Address6.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 7:&lt;/b&gt;&amp;nbsp;See the results as shown below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9lOk9Le4v1JdpeuxTpEd6CytxtyqQG16ouJi5qyE7B1PWeERmAAIMfwgfrkHVdjE4eeRTD4Pz7BRftGr9mcXQ-jyb4mS0VCCkrdjo7PfBHK4GqyXLP422e8p5eTBmAvcH-0G4tOiWRxI/s1600/Address7.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;542&quot; data-original-width=&quot;683&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9lOk9Le4v1JdpeuxTpEd6CytxtyqQG16ouJi5qyE7B1PWeERmAAIMfwgfrkHVdjE4eeRTD4Pz7BRftGr9mcXQ-jyb4mS0VCCkrdjo7PfBHK4GqyXLP422e8p5eTBmAvcH-0G4tOiWRxI/s320/Address7.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dwQObS2b489XIO9WtWeMAdn1PWuuSlMbBjUaI4ZnkySytbYQsub0Rly4plv0O1lSB6PApwCKt5AzmmJhogojg&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-weight: bold; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/2003914956751597090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/add-address-tab-on-custom-form-d365fo.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2003914956751597090'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2003914956751597090'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/add-address-tab-on-custom-form-d365fo.html' title='add address tab on custom form D365FO'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg97jmeXcpIpeRfHekaxIfWR5C-v2TTujwx3MOnPFmfk2wlqN52_2dMVglP_eYLHwK6k56z2ZJHsPvIMfztpgukpMD4TdFuE0Zkg1kjrGVL0djDQcDYJMc5l5WyjzrF1ZljAzX430FVtQg/s72-c/Address1.PNG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-2973864223978206220</id><published>2020-03-12T15:46:00.000+05:00</published><updated>2020-03-17T10:32:08.496+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>X++ Create and post Journal voucher</title><content type='html'>In this blog we will see how to write the job for Create and post Journal voucher in dynamics ax 2012.&lt;br /&gt;
&lt;br /&gt;
static void legerDimCreateGLJournal(Args _args)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp;AxLedgerJournalTable journalTable;&lt;br /&gt;
AxLedgerJournalTrans journalTrans;&lt;br /&gt;
container accCon;&lt;br /&gt;
container offSetCon;&lt;br /&gt;
LedgerJournalTable ledgerJournalTable;&lt;br /&gt;
ledgerJournalCheckPost ledgerJournalCheckPost;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
journalTable = new AxLedgerJournalTable();&lt;br /&gt;
journalTrans = new AxLedgerJournalTrans();&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;//Journal Name&lt;/b&gt;&lt;br /&gt;
journalTable.parmJournalName(&quot;GenJrn&quot;);&lt;br /&gt;
journalTable.save();&lt;br /&gt;
&lt;br /&gt;
journalTrans.parmJournalNum(journalTable.ledgerJournalTable().JournalNum);&lt;br /&gt;
journalTrans.parmTransDate(systemDateGet());&lt;br /&gt;
journalTrans.parmAccountType(LedgerJournalACType::Ledger);&lt;br /&gt;
&lt;br /&gt;
accCon = [&quot;110110&quot;,&quot;110110&quot;, 2, &quot;BusinessUnit&quot;,&quot;001&quot;, &quot;Department&quot;, &quot;023&quot;];&lt;br /&gt;
journalTrans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(accCon));&lt;br /&gt;
&lt;br /&gt;
journalTrans.parmAmountCurDebit(20);&lt;br /&gt;
&lt;br /&gt;
journalTrans.parmOffsetAccountType(LedgerJournalACType:: Ledger );&lt;br /&gt;
offSetCon = [&quot;110110&quot;,&quot;110110&quot;, 2, &quot;BusinessUnit&quot;,&quot;001&quot;, &quot;Department&quot;, &quot;024&quot;];&lt;br /&gt;
journalTrans.clearField(fieldNum(LedgerJournalTrans, OffsetLedgerDimension), false);&lt;br /&gt;
journalTrans.parmOffsetLedgerDimension(AxdDimensionUtil::getLedgerAccountId( offSetCon));&lt;br /&gt;
&lt;br /&gt;
journalTrans.save();&lt;br /&gt;
&lt;br /&gt;
ledgerJournalCheckPost = ledgerJournalCheckPost::newLedgerJournalTable(journalTable.ledgerJournalTable(),NoYes::Yes);&lt;br /&gt;
ledgerJournalCheckPost.run();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
info(strFmt(&quot;Journal No. %1.&quot;, journalTable.ledgerJournalTable().JournalNum));&lt;br /&gt;
&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/2973864223978206220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/x-create-and-post-journal-voucher.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2973864223978206220'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2973864223978206220'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/x-create-and-post-journal-voucher.html' title='X++ Create and post Journal voucher'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-2336625977972185271</id><published>2020-03-12T12:07:00.000+05:00</published><updated>2020-03-17T10:28:10.754+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>Lookup for color Picker In Ax 2012</title><content type='html'>In this blog we will see how to make&lt;b&gt; lookup for color picker in Dynamics Ax 2012&lt;/b&gt;. In a grid we will give the drop down for color picker.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Make Int feild in Table&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Add as a datasource of form&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Overide Lookup Mehtrod of the Int feild&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
Public void lookup()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; #DEFINE.COLORVALUE(64)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Int r,g,b&lt;br /&gt;
&amp;nbsp; &amp;nbsp; container choosencolor;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Binary customcolors = new Binary(#COLORVALUE);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; CCColor colorvalue;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Super();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [r,g,b] = WinAPI::RGBint2Con(this.backgroundColor());&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; chosenColor = WinAPI::chooseColor(element.hWnd(),r,g,b, customColors, true);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; If(chosencolor)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [r, g, b] = chosencolor;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Colorvalue = WinAPI::RGB2int(r,g,b);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This.backgroundColor(colorValue);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; employeeWorkPlannerForm.parmAbsensceColor(colorvalue);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Employeetable.columns(employeeworkplannerform.numberofcolumns());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Absenscecolorparm = colorvalue;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj56g9yS4V0F6gAS9YW-OsIH4K6CjXFaYVLxr1ej9IZ3JyseWmG2EI73t-hpRQkbIhI5M3DZQGD_Nr6IQvjMpuA7j7pggDjz7YIqpFNK5MSRgvswBc8qaK-NJlw-eEQTQigl2_YQMupafU/s1600/color.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;704&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj56g9yS4V0F6gAS9YW-OsIH4K6CjXFaYVLxr1ej9IZ3JyseWmG2EI73t-hpRQkbIhI5M3DZQGD_Nr6IQvjMpuA7j7pggDjz7YIqpFNK5MSRgvswBc8qaK-NJlw-eEQTQigl2_YQMupafU/s320/color.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/2336625977972185271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/lookup-for-color-picker-in-ax-2012.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2336625977972185271'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2336625977972185271'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/lookup-for-color-picker-in-ax-2012.html' title='Lookup for color Picker In Ax 2012'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj56g9yS4V0F6gAS9YW-OsIH4K6CjXFaYVLxr1ej9IZ3JyseWmG2EI73t-hpRQkbIhI5M3DZQGD_Nr6IQvjMpuA7j7pggDjz7YIqpFNK5MSRgvswBc8qaK-NJlw-eEQTQigl2_YQMupafU/s72-c/color.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-2917707230300829476</id><published>2020-03-12T11:38:00.000+05:00</published><updated>2020-03-12T12:39:38.642+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AX 2012"/><title type='text'>X++ Create and post movement journal in AX 2012  </title><content type='html'>static void createMovementJournalAx(Args _args)&lt;br /&gt;
{&lt;br /&gt;
InventJournalTable inventJournalTable;&lt;br /&gt;
InventJournalTrans inventJournalTrans;&lt;br /&gt;
InventJournalNameId inventJournalName;&lt;br /&gt;
InventDim inventDim;&lt;br /&gt;
JournalCheckPost journalCheckPost;&lt;br /&gt;
&lt;br /&gt;
//&lt;b&gt;Below code creates journal header&lt;/b&gt;&lt;br /&gt;
inventJournalTable.clear();&lt;br /&gt;
inventJournalName = InventJournalName::standardJournalName(InventJournalType::Movement);&lt;br /&gt;
inventJournalTable.initFromInventJournalName(InventJournalName::find(inventJournalName ));&lt;br /&gt;
inventJournalTable.insert();&lt;br /&gt;
&lt;br /&gt;
//&lt;b&gt;Below code creates journal lines&lt;/b&gt;&lt;br /&gt;
inventJournalTrans.clear();&lt;br /&gt;
inventJournalTrans.initFromInventJournalTable(inventJournalTable);&lt;br /&gt;
inventJournalTrans.TransDate = systemDateGet();&lt;br /&gt;
inventJournalTrans.ItemId = &quot;L0001&quot;;&lt;br /&gt;
inventJournalTrans.initFromInventTable(InventTable::find(&quot;L0001&quot;));&lt;br /&gt;
inventJournalTrans.Qty = 25;&lt;br /&gt;
inventDim.InventSiteId = &#39;1&#39;;&lt;br /&gt;
inventDim.InventLocationId = &#39;13&#39;;&lt;br /&gt;
inventDim.wMSLocationId = &#39;13&#39;;&lt;br /&gt;
inventJournalTrans.InventDimId = inventDim::findOrCreate(inventDim).inventDimId;&lt;br /&gt;
inventJournalTrans.insert();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&lt;b&gt;The below code posts the journal&lt;/b&gt;&lt;br /&gt;
journalCheckPost = InventJournalCheckPost::newPostJournal(inventJournalTable);&lt;br /&gt;
journalCheckPost.run();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/2917707230300829476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/x-create-and-post-movement-journal-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2917707230300829476'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2917707230300829476'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/x-create-and-post-movement-journal-in.html' title='X++ Create and post movement journal in AX 2012  '/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-4767144506408506496</id><published>2020-03-08T18:57:00.004+05:00</published><updated>2020-03-16T12:33:41.437+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dynamics 365 Finance &amp; Operation"/><title type='text'>Filter LocationID lookup by name D365FO</title><content type='html'>We will see how to filter location id by name.&lt;br /&gt;
Add new string in table and set any name is my case name is (InventLocation) as shown in image below&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPnd-HpQTl4zCJJkADhbrxOMU2shDlVK-TnyR5DqiCffixYXra55KlTDHnX0jyg_Rm7x-O8eHwVpDWPgzCMh6b5u9T56_lyGXfiM9T31BccY3DD2WxqwJOkr5BZ5qDlrOMeaPRcGkWVDE/s1600/Invent1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;144&quot; data-original-width=&quot;248&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPnd-HpQTl4zCJJkADhbrxOMU2shDlVK-TnyR5DqiCffixYXra55KlTDHnX0jyg_Rm7x-O8eHwVpDWPgzCMh6b5u9T56_lyGXfiM9T31BccY3DD2WxqwJOkr5BZ5qDlrOMeaPRcGkWVDE/s1600/Invent1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a new relation with &lt;b&gt;InventLocation&lt;/b&gt; Table and set the relation properties.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrXLliIPNV8vq5dYt9vpgE8vqTTCqv8VQ8uHn7YPUNaKNi9KdTzh01VwJe2szZmf1ErSQu6hdrq1PBOEmdfryg_HVpo1dUIsbDXvqLbVWp7WZZu1aKVTvK8-wzHZgjIRBLw1qfjwN8tiY/s1600/Invent2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;433&quot; data-original-width=&quot;261&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrXLliIPNV8vq5dYt9vpgE8vqTTCqv8VQ8uHn7YPUNaKNi9KdTzh01VwJe2szZmf1ErSQu6hdrq1PBOEmdfryg_HVpo1dUIsbDXvqLbVWp7WZZu1aKVTvK8-wzHZgjIRBLw1qfjwN8tiY/s320/Invent2.PNG&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a new form for lookup set the design pattern&lt;b&gt; Lookup - Basic&lt;/b&gt;. In data source add the &lt;b&gt;IventLocation&lt;/b&gt; table.&lt;br /&gt;
Add grid in the form and add fields.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgh4HPYV4erRyYC8o7DmbxcBGNij2QciQksO9e8erqCKFrDWB0zzXbnvXtgtHHM4TPkfnIlV_X89Vah8HOZW0BwJ0AfvXwOF3dqd5kFIyjKXT21PQc8Vt7naMthpHXyDCjUjpbFzEV_NM/s1600/Invent3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;302&quot; data-original-width=&quot;843&quot; height=&quot;141&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgh4HPYV4erRyYC8o7DmbxcBGNij2QciQksO9e8erqCKFrDWB0zzXbnvXtgtHHM4TPkfnIlV_X89Vah8HOZW0BwJ0AfvXwOF3dqd5kFIyjKXT21PQc8Vt7naMthpHXyDCjUjpbFzEV_NM/s400/Invent3.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Override the form run method and write the code in it&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB6zn83u54LeUStOGfjCWTB4y5OXauNJoJGH414tvTI2n25l7ZcU4l8WUPhaOoJ8ePndhWBSMvT_9LV6VekEDfp9njTVqr9YCba20s-iEZbgtDqqCAhUQbUzqL0-HYWaWuFFm72dHnFGY/s1600/Invent4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;227&quot; data-original-width=&quot;939&quot; height=&quot;154&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB6zn83u54LeUStOGfjCWTB4y5OXauNJoJGH414tvTI2n25l7ZcU4l8WUPhaOoJ8ePndhWBSMvT_9LV6VekEDfp9njTVqr9YCba20s-iEZbgtDqqCAhUQbUzqL0-HYWaWuFFm72dHnFGY/s640/Invent4.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now add the field in original form to show the lookup. Override &lt;b&gt;Lookup&lt;/b&gt; and&amp;nbsp;&lt;b&gt;resolveAmbiguousReference &lt;/b&gt;method on string control (A_Student_InventLocation)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiOdB2qmTbWlZuUjOoqic-hznDB3bGdSxCu9Nu60gJX9abCCAcdF_OvPm1H7kGJnm00Hn4-YXBPyxRtRpoluNQTyrZrGUjm-U5GEeb1PMWIr_urTy2TOdThjH8ANkWon-vbZmgIUPeYL8/s1600/Invent5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;214&quot; data-original-width=&quot;804&quot; height=&quot;106&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiOdB2qmTbWlZuUjOoqic-hznDB3bGdSxCu9Nu60gJX9abCCAcdF_OvPm1H7kGJnm00Hn4-YXBPyxRtRpoluNQTyrZrGUjm-U5GEeb1PMWIr_urTy2TOdThjH8ANkWon-vbZmgIUPeYL8/s400/Invent5.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now write the code in &lt;b&gt;lookup&lt;/b&gt; and&amp;nbsp;&lt;b&gt;resolveAmbiguousReference&amp;nbsp;&amp;nbsp;&lt;/b&gt;method&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Lookup Method&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEBsNmUypuKyqKtp21TNXwWhM6nbLnAY6iCbWuc3fxIApG5xHxN-I15x2k5R_EGlyaD6L4KTT7sJ09D6pRJOsY9sK9nvMVw8hrjTx3SLgQV4F_TlOUcbJaKaMRcfihhN6rdQOJxaCVFyk/s1600/Invent6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;210&quot; data-original-width=&quot;373&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEBsNmUypuKyqKtp21TNXwWhM6nbLnAY6iCbWuc3fxIApG5xHxN-I15x2k5R_EGlyaD6L4KTT7sJ09D6pRJOsY9sK9nvMVw8hrjTx3SLgQV4F_TlOUcbJaKaMRcfihhN6rdQOJxaCVFyk/s320/Invent6.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;resolveAmbiguousReference&amp;nbsp; Method&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeIgm8busyU8Tktx7LoPPR8p3HfnrOd-J4KUf-RuvVXwsUwl_7dp4Bm_68Nqcu8QsKtuiiAUugYskwGEvWsB6PipdE7sRma1tt8sbMsZ_Sb3oyqtoGnf1uvq3wQ-o4l6ilHbySoMnWT9s/s1600/Invent7.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;149&quot; data-original-width=&quot;689&quot; height=&quot;86&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeIgm8busyU8Tktx7LoPPR8p3HfnrOd-J4KUf-RuvVXwsUwl_7dp4Bm_68Nqcu8QsKtuiiAUugYskwGEvWsB6PipdE7sRma1tt8sbMsZ_Sb3oyqtoGnf1uvq3wQ-o4l6ilHbySoMnWT9s/s400/Invent7.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this build and sync the project and you will get appropriate result as shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUQEJ26FxTBz_FjN7h9n4PtvHg0x5KreJfP9jrTXlQqjlhG6NZCWocDcVFIIJsAsSl1A7bg4Y3AB9KDRNM5Uq56fv-MAiVff8z2OiNfhYo9M0pFa67k5IGPacdr4gAbJWz_z6ZAJhWkk8/s1600/Result.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;198&quot; data-original-width=&quot;311&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUQEJ26FxTBz_FjN7h9n4PtvHg0x5KreJfP9jrTXlQqjlhG6NZCWocDcVFIIJsAsSl1A7bg4Y3AB9KDRNM5Uq56fv-MAiVff8z2OiNfhYo9M0pFa67k5IGPacdr4gAbJWz_z6ZAJhWkk8/s1600/Result.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOAEgyHs69kFJ9ESb4TuI0HaVBGvQ0DqNHqtNEk3ijbbS9gZdM6vYElaG2SzkrlN4Z5lqcuMD8130Hqz58vYfnS9q2p_lUfHsB6sDqfwwV9lgyzIQcLXeAbd6HJy37aZ9O7D3MDzg8WOE/s1600/Result1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;200&quot; data-original-width=&quot;328&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOAEgyHs69kFJ9ESb4TuI0HaVBGvQ0DqNHqtNEk3ijbbS9gZdM6vYElaG2SzkrlN4Z5lqcuMD8130Hqz58vYfnS9q2p_lUfHsB6sDqfwwV9lgyzIQcLXeAbd6HJy37aZ9O7D3MDzg8WOE/s320/Result1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more information please see the following link&lt;br /&gt;
&lt;a href=&quot;https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/contextual-data-entry-lookups&quot;&gt;https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/contextual-data-entry-lookups&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/4767144506408506496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/filter-locationid-by-name.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/4767144506408506496'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/4767144506408506496'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/filter-locationid-by-name.html' title='Filter LocationID lookup by name D365FO'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPnd-HpQTl4zCJJkADhbrxOMU2shDlVK-TnyR5DqiCffixYXra55KlTDHnX0jyg_Rm7x-O8eHwVpDWPgzCMh6b5u9T56_lyGXfiM9T31BccY3DD2WxqwJOkr5BZ5qDlrOMeaPRcGkWVDE/s72-c/Invent1.PNG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5596040326653440585.post-2011299179730057459</id><published>2020-03-03T14:57:00.004+05:00</published><updated>2020-03-16T12:30:49.482+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dynamics 365 Finance &amp; Operation"/><title type='text'>Filter lookup By Name D365 Finance and Operation</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Today, we will see how to filter record based on the name or description. By default this functionality is not enable on lookup.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
See the image below that is my default lookup.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTbe28J0PXPYB1xfFsN0pnFdL4lPdk4Dx74dh1-VryWPBVUvZH63dOB_pdEbocUtuA9xYPfjThGlBDNVfwDeM5Ge7OerDWKQydsxsInyeIGt5i6k1jvlFunwmVIKZZQIWniN8gik8YEbE/s1600/Lookup.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;189&quot; data-original-width=&quot;311&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTbe28J0PXPYB1xfFsN0pnFdL4lPdk4Dx74dh1-VryWPBVUvZH63dOB_pdEbocUtuA9xYPfjThGlBDNVfwDeM5Ge7OerDWKQydsxsInyeIGt5i6k1jvlFunwmVIKZZQIWniN8gik8YEbE/s1600/Lookup.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
When we write in the box student id, it automatically filter the record that the default behavior of any lookup. See the below Image.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7A3p0I5goNyWLNo8PRGFzOjvr8HZuU9jkzoI2KWn_v9EdBl0G-QhCPoiKdrskGp490aD4CIQSeuSF_tABUIT1ytOjMzGGaNDy20DzWBv1E73lfvcqrTy-O8lv51CvCfPkC7MVvFX5R8w/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;180&quot; data-original-width=&quot;293&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7A3p0I5goNyWLNo8PRGFzOjvr8HZuU9jkzoI2KWn_v9EdBl0G-QhCPoiKdrskGp490aD4CIQSeuSF_tABUIT1ytOjMzGGaNDy20DzWBv1E73lfvcqrTy-O8lv51CvCfPkC7MVvFX5R8w/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
But when we search from Name It shows nothing&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-Xj1OkXaxW41WAEK0VcYvCzKvpQbwfnWjdc-pezj07SKCguj13EWzcsgBcKdli7qnf8WEWIZW0oiE4qxIM1cD9jVmZNC1zfa6Kk0kcaWFEtUR7z4EoF9Ub75rjissj4BHlo3lyDbT_kM/s1600/FromName.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;150&quot; data-original-width=&quot;308&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-Xj1OkXaxW41WAEK0VcYvCzKvpQbwfnWjdc-pezj07SKCguj13EWzcsgBcKdli7qnf8WEWIZW0oiE4qxIM1cD9jVmZNC1zfa6Kk0kcaWFEtUR7z4EoF9Ub75rjissj4BHlo3lyDbT_kM/s1600/FromName.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
To search with name we will set the &lt;b&gt;Cache Lookup&lt;/b&gt; property on the Header table .&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh37OXXHnSqissifrB-wut9sYJgMUTd7-65lxGfoZyiNNtkkIVs9wOt-BFdP8kSBiRQlsXGDWtkQCrXPqAB9Jw2auINFnIMBQV4018sIPsHq2Ca23WGqMNxeMUo5Htt7JKW8Ol98n2G5mI/s1600/Property.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;263&quot; data-original-width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh37OXXHnSqissifrB-wut9sYJgMUTd7-65lxGfoZyiNNtkkIVs9wOt-BFdP8kSBiRQlsXGDWtkQCrXPqAB9Jw2auINFnIMBQV4018sIPsHq2Ca23WGqMNxeMUo5Htt7JKW8Ol98n2G5mI/s1600/Property.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Now, we are able to filter the lookup by name.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpVzY3msDl_g-lVP546S2XbrAtAUcR_nueWeBKnRS8x0xLqxX2dLtJXBC9oPS5MHZAJAFVt2Gk5Nk-n4xoSOJX9EphJtM2YwtgLzfYrhxFhRbRjkNKn_yXLp94TUVFlawGLpwdXlUpWQM/s1600/searchByName.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;187&quot; data-original-width=&quot;326&quot; height=&quot;183&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpVzY3msDl_g-lVP546S2XbrAtAUcR_nueWeBKnRS8x0xLqxX2dLtJXBC9oPS5MHZAJAFVt2Gk5Nk-n4xoSOJX9EphJtM2YwtgLzfYrhxFhRbRjkNKn_yXLp94TUVFlawGLpwdXlUpWQM/s320/searchByName.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
For more information please see the following link.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/contextual-data-entry-lookups&quot;&gt;https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/contextual-data-entry-lookups&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dynamicszerotohero.blogspot.com/feeds/2011299179730057459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/filter-lookup-by-name-d365-finance-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2011299179730057459'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5596040326653440585/posts/default/2011299179730057459'/><link rel='alternate' type='text/html' href='https://dynamicszerotohero.blogspot.com/2020/03/filter-lookup-by-name-d365-finance-and.html' title='Filter lookup By Name D365 Finance and Operation'/><author><name>Muhammad Faisal</name><uri>http://www.blogger.com/profile/11447220817510967103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3xfqV6B8n0SvV5gvslo0otzsa54rXZwSBgVwGuVTwiMbUzO0ebRTu2sFtlCPO0Y97NuP8SkKLJIwFlfZaPUiQ7CdO5hcfyaHadY_Ruq3ZktYW8zWas3ulCOoiky_lCQE/s113/Faisal2.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTbe28J0PXPYB1xfFsN0pnFdL4lPdk4Dx74dh1-VryWPBVUvZH63dOB_pdEbocUtuA9xYPfjThGlBDNVfwDeM5Ge7OerDWKQydsxsInyeIGt5i6k1jvlFunwmVIKZZQIWniN8gik8YEbE/s72-c/Lookup.PNG" height="72" width="72"/><thr:total>2</thr:total></entry></feed>