Skip to main content

Dynamics 365 Set a Lookup Field Using JavaScript from another lookup selection change

 In my case, I will select a contact from lookup and it will fill the account lookup field.


 function OnContactChange(executionContext) {  
      var formContext = executionContext.getFormContext();  
      if (formContext.getAttribute("parentcontactid").getValue() != null) {  
             var CustomerId = formContext.getAttribute("parentcontactid").getValue()[0].id.slice(1, -1);  
       var CustomerName = formContext.getAttribute("parentcontactid").getValue()[0].name;  
       var CustomerType = formContext.getAttribute("parentcontactid").getValue()[0].entityType;              
             // Call contact API  
             Xrm.WebApi.retrieveRecord("contact", CustomerId, "?$select=_parentcustomerid_value").then(  
                     function success(contactresult) {  
                          // Call Account  
                           Xrm.WebApi.retrieveRecord("account", contactresult._parentcustomerid_value, "?$select=accountid,name").then(  
                               function success(result) {                                      
                                     var setaccountlookupData = new Array();  
                                     setaccountlookupData[0] = new Object();  
                                     setaccountlookupData[0].id = result.accountid;  
                                     setaccountlookupData[0].name = result.name;  
                                     setaccountlookupData[0].entityType = 'account';                                       
                                     console.log(setaccountlookupData);       
                                     // Set Account value  
                                     formContext.getAttribute("parentaccountid").setValue(setaccountlookupData);  
                               },  
                               function (error) {  
                                    console.log(error.message);                            
                               }  
                          );   
                     },  
                     function (error) {  
                          console.log(error.message);                            
                     }  
                );  
     }  
 }  


Comments

Popular posts from this blog

mvvm double click event in listview

If you want to get the double click event on a listview item you can try with this code; <ListView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Width="250" Height="200" HorizontalAlignment="Stretch" VerticalAlignment="Top" AlternationCount="2" BorderBrush="#FFA8CC7B" ItemContainerStyle="{StaticResource alternatingStyle}" ItemsSource="{Binding FromPayerNameList}" SelectedItem="{Binding SelectedFromPayer, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate> <TextBlock Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" Text=...

WPF datagrid cell textbox change event

Entity/Class: public class FeesDetails : INotifyPropertyChanged { public int Id { get; set; } public string FeesName { get; set;} public string FeesDetailsName { get; set; } public int? PaidAmount { get; set; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(System.String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public int feesAmount { get; set; } public int FeesAmount { get { return this.feesAmount; } set { if (value != this.feesAmount) { this.feesAmount = value; NotifyPropertyChanged("FeesAmount"); } } } } XAML: <DataGrid AutoGenerateColumns="False" Height="21...

The calling thread must be STA, because many UI components require this.

Using Thread: // Create a thread Thread newWindowThread = new Thread(new ThreadStart(() => { // You can use your code // Create and show the Window FaxImageLoad obj = new FaxImageLoad(destination); obj.Show(); // Start the Dispatcher Processing System.Windows.Threading.Dispatcher.Run(); })); // Set the apartment state newWindowThread.SetApartmentState(ApartmentState.STA); // Make the thread a background thread newWindowThread.IsBackground = true; // Start the thread newWindowThread.Start(); Using Task and Thread: // Creating Task Pool, Each task will work asyn and as an indivisual thread component Task[] tasks = new Task[3]; // Control drug data disc UI load optimize tasks[0] = Task.Run(() => { //This will handle the ui thread :The calling thread must be STA, because many U...