Question

Value can't be obtained C# esq

Hello,

I am trying to do some mass creation of records using a script task in a business process. I have a for loop looping through entities, and on each of these entities there is a account address, but I need the account off of that account address so I have another esq for the account address. The issue is when I try to use the column accountaddress to get the account id I receive the error

Terrasoft.Common.InvalidObjectStateException: Column UpAccountAddress value cannot be obtained because it has not been loaded.

This is my code.

// Get business process parameters.
var tagId = Get<Guid>("TagId");
var userId = Get<Guid>("userId");
 
// Create a reference to the UpMapSearchAccounts schema.
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "UpMapSearchAccounts");
 
// Add the [UpMapping] column in order to filter for relevants records.
esq.AddColumn("UpMapping");
esq.AddColumn("UpAccountAddress");
 
var esqFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "UpMapping", userId);
 
esq.Filters.Add(esqFilter);
 
var entities = esq.GetEntityCollection(UserConnection);
 
foreach(Entity entity in entities) 
{
 
	// Creating a reference to AccountAddress to get the Account off of it.
	var esqAccountAddress = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "AccountAddress");
	esqAccountAddress.AddColumn("Account");
 
	var accountAddressEntity = esqAccountAddress.GetEntity(UserConnection, 
		entity.GetTypedColumnValue<Guid>("UpAccountAddress"));
 
	// Create a reference to the AccountInTag schema in order to create records.
	var AccountInTagSchema = UserConnection.EntitySchemaManager.GetInstanceByName("AccountInTag");
	var tagEntity = AccountInTagSchema.CreateEntity(UserConnection);
 
	tagEntity.SetColumnValue("TagId", tagId);
	tagEntity.SetColumnValue("EntityId", accountAddressEntity.GetTypedColumnValue<Guid>("Account"));
	tagEntity.SetColumnValue("CreatedById", userId);
 
	tagEntity.SetDefColumnValues();
 
	tagEntity.Save();
 
}
 
return true;

Any help is appreciated. Please ask any questions if I am not clear enough.

Thanks!

Like 1

Like

2 comments

Additional comments.

I went on and tried to recreate the error in a simpler process. This process just has an auto-generated page to show parameters passed from the client side. 

See attached

The code that fires this process is here.

I still get this error.

Terrasoft.Common.InvalidObjectStateException: Column Name value cannot be obtained because it has not been loaded.

 

I'm not sure what could be causing this error. I have created stuff along these lines before, but I have never faced this issue. 

Help is appreciated!

Thanks!

Dear Tyler,



Unfortunately, it is difficult to determine the root cause of the issue. I tried to reproduce the issue, however I were not able to face it.

Therefore, please try to debug the source code of the process. In order to do it please do the following:



1. Deploy an application on-site. Please find more information in the article by the link below:



https://academy.creatio.com/documents/administration/7-15/installing-cr…



2. Debug the process. Please find more information about it in the article by the link below:



https://academy.creatio.com/documents/technic-sdk/7-15/server-code-debu…



Best regards,

Norton

 

Show all comments