I need to make a dropdown field with option items from external system. What should I do? Thank you!

Like 0

Like

2 comments

Dear Andrew,



Unfortunately, we do not have any base tools to implement this, it can be achieved only by hard development.



Best Regards,

Ivanna.

If you use on-site, you can try to make VIEW from another database. Then create an object based on that VIEW and use this for your lookup fields

Show all comments

Trying to run an Excel Report, for Leads, with the "include all columns" checkbox enabled.  When run, get this error:

Object reference not set to an instance of an object.

 

In the f12 console of the browser, I see this:

"The Id column is not declared in the ViewModel of the menu item"

 

Thoughts?

 

Thanks!

Like 0

Like

2 comments

Hello Chris,



This message doesn’t mean that something is broken or works in the wrong way.

It doesn’t influence the system's performance at all.



According to the information from our development team, this message appears in the Console due to the existing part of a code that was modified and currently is out of use.

It is shown to our developers as a reminder that adjustments are to be done.



Best regards,

Bogdan

Bogdan,

 

Thanks, but what about the error that prevents us from running the report:

 

Object reference not set to an instance of an object.

 

Thanks!

 

Chris

Show all comments

 Hello Team.

 

There is any way to get the value of the record in the store.loadPage?

I can access to the record parameter inside of the callback.

Terrasoft.sdk.Model.addBusinessRule("ExpensesDetail", {
	name: "GetRoleFromtheUser",
	ruleType: Terrasoft.RuleTypes.Custom,
	triggeredByColumns: ["Subcategory"],
	events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
	executeFn: function(record, rule, column, customData, callbackConfig) {
 
 
		var myrecord = record;
 		var passedTheTestAndIsValid = true;
 
		var currentUser =Terrasoft.CurrentUserInfo.userId;
		var store = Ext.create('Terrasoft.store.BaseStore', {
			model: 'SMVwUserRoles'
		});
		var queryConfig = Ext.create('Terrasoft.QueryConfig', {
			columns: ['SMId', 'SMUserName', 'SMRoleName'],
			modelName: 'SMVwUserRoles'
		});
		store.loadPage(1, {
			queryConfig: queryConfig,
 
			filters: Ext.create('Terrasoft.Filter', {
				property: 'SMId',
				value: currentUser
			}),
			callback: function(records, operation, success) {
				var loadedRecord = records[0];
				if (loadedRecord) {
					var contact = loadedRecord.get('SMRoleName');                                                                                                    
					if (contact) {                                                                                                                   
						console.log(contact);
					}
					}
				},
					scope: this
			});
 
	},
	position: 3
});

 

Like 0

Like

2 comments
Best reply

Hello Federico,

 

You have the myrecord variable and it's accessible inside the loadPage method:

So you can access the record parameters if needed there.

 

Best regards,

Oscar

Hello Federico,

 

You have the myrecord variable and it's accessible inside the loadPage method:

So you can access the record parameters if needed there.

 

Best regards,

Oscar

Oscar Dylan,

 Thanks Oscar, I my case sending the scope: this was not working but changing the scope works.

Show all comments

Hello Team!

Somebody know if there is a save validation in mobile like the method in web version:

			asyncValidate: function(callback, scope){
				this.callParent([function(resultObject){
 
						resultObject.success = false;
						resultObject.message = scope.get("Resources.Strings.SummitionNoAcepted");
 
 
					callback.call(scope, resultObject);
				}], scope);
			},

I need to validate if a detail has records added before save the record.

Like 0

Like

4 comments

Hello Federico,

 

There is an onSaveButtonTap method in the base edit page controller schema that is triggered when the record is saved. There is no async validator there, but in case you need to check something for the saved record upon saving then you need to look at that method call.

 

Best regards,

Oscar

Oscar Dylan,

 Thanks Oscar. I need to create a page controller for a custom section? There is some documentation about that?

Federico Buffa ...,

 

No we don't have such an instruction unfortunately.

 

Best regards,

Oscar

Oscar Dylan,

 Thank you so much. Just wondering if that method can be use in the module config or needs to be in another schema. I don't have much information about mobile structure.

Show all comments

Hi Community,

 

What's the rule of displaying hyperlinks on the list type of dashboard? 

Sometimes the name (text field) is displayed as a hyperlink and lookups as a text value without hyperlink on the dashboard...

 

BR Paulina

Like 0

Like

2 comments

Dear  Paulina,



Actually the theory was correct - the lookup value is not a clickable link since the object of the lookup (AccountAddress) is not a section in the system. The value is clickable in case the object of the lookup is present in the Terrasoft.configuration.ModuleStructure object and this object values are being generated when login to the app as a result of this select query execution:



exec sp_executesql N'

SELECT

    [SysModule].[Id] [ModuleId],

    [SysModule].[Image32Id] [ImageId],

    [SysModule].[LogoId] [LogoId],

    [SysModule].[Code] [Module],

    (

SELECT

    [Name]

FROM

    [dbo].[VwSysClientUnitSchema] WITH(NOLOCK)

WHERE

    [SysWorkspaceId] = @SysWorkspaceId

    AND [UId] = [SysModule].[SectionModuleSchemaUId]) [SectionModule],

    (

SELECT

    [Name]

FROM

    [dbo].[VwSysClientUnitSchema] WITH(NOLOCK)

WHERE

Hello Paulina,

 

 [SysWorkspaceId] = @SysWorkspaceId

    AND [UId] = [SysModule].[SectionSchemaUId]) [SectionSchema],

    (

SELECT

    [Name]

FROM

    [dbo].[VwSysClientUnitSchema] WITH(NOLOCK)

WHERE

    [SysWorkspaceId] = @SysWorkspaceId

    AND [UId] = [SysModule].[CardModuleUId]) [CardModule],

    (

SELECT

    [Name]

FROM

    [dbo].[VwSysClientUnitSchema] WITH(NOLOCK)

WHERE

    [SysWorkspaceId] = @SysWorkspaceId

    AND [UId] = [SysModule].[CardSchemaUId]) [CardSchema],

    [SysModule].[Attribute] [Attribute],

    [SysModule].[TypeColumnValue] [ModuleTypeColumnValue],

    (

SELECT

    [Name]

FROM

    [dbo].[VwSysClientUnitSchema] WITH(NOLOCK)

WHERE

    [SysWorkspaceId] = @SysWorkspaceId

    AND [UId] = [SysModuleEdit].[CardSchemaUId]) [CardSchemaPage],

    (

SELECT

    [Name]

FROM

    [dbo].[VwSysClientUnitSchema] WITH(NOLOCK)

WHERE

    [SysWorkspaceId] = @SysWorkspaceId

    AND [UId] = [SysModuleEdit].[MiniPageSchemaUId]) [MiniPageSchema],

    [SysModuleEdit].[Id] [ModuleEditId],

    [SysModuleEdit].[ActionKindName] [ActionName],

    [SysModuleEdit].[TypeColumnValue] [TypeColumnValue],

    [SysModuleEntity].[SysEntitySchemaUId] [SysEntitySchemaUId],

    [SysModuleVisa].[VisaSchemaUId] [VisaSchemaUId],

    [SysModuleInWorkplace].[SysWorkplaceId] [ShowInWorkplace],

    [SysModule].[Caption] [ModuleCaption],

    [SysModule].[ModuleHeader] [ModuleHeader],

    [SysModuleEdit].[ActionKindCaption] [ActionCaption],

    [SysModuleEdit].[PageCaption] [PageCaption],

    [SysModuleLcz].[Caption] [ModuleCaptionLcz],

    [SysModuleLcz].[ModuleHeader] [ModuleHeaderLcz],

    [SysModuleEditLcz].[ActionKindCaption] [ActionCaptionLcz],

    [SysModuleEditLcz].[PageCaption] [PageCaptionLcz]

FROM

    [dbo].[SysModule] WITH(NOLOCK)

    LEFT OUTER JOIN [dbo].[SysModuleInWorkplace] WITH(NOLOCK) ON ([SysModuleInWorkplace].[SysModuleId] = [SysModule].[Id]

    AND [SysModuleInWorkplace].[SysWorkplaceId] = @P1)

    LEFT OUTER JOIN [dbo].[SysModuleEdit] WITH(NOLOCK) ON ([SysModuleEdit].[SysModuleEntityId] = [SysModule].[SysModuleEntityId])

    LEFT OUTER JOIN [dbo].[SysModuleEntity] WITH(NOLOCK) ON ([SysModuleEntity].[Id] = [SysModuleEdit].[SysModuleEntityId])

    LEFT OUTER JOIN [dbo].[SysModuleVisa] WITH(NOLOCK) ON ([SysModuleVisa].[Id] = [SysModule].[SysModuleVisaId])

    LEFT OUTER JOIN [dbo].[SysModuleLcz] WITH(NOLOCK) ON ([SysModuleLcz].[RecordId] = [SysModule].[Id]

    AND [SysModuleLcz].[SysCultureId] = @P2)

    LEFT OUTER JOIN [dbo].[SysModuleEditLcz] WITH(NOLOCK) ON ([SysModuleEditLcz].[RecordId] = [SysModuleEdit].[Id]

    AND [SysModuleEditLcz].[SysCultureId] = @P3)

WHERE

    NOT [SysModule].[SectionModuleSchemaUId] IS NULL

    AND NOT [SysModule].[SysModuleEntityId] IN (

SELECT

    [SysModuleEntityId]

FROM

    [dbo].[SysModuleEntityInPortal] WITH(NOLOCK))

ORDER BY

    [SysModuleInWorkplace].[Position] ASC,

    [SysModuleEdit].[Position] ASC',N'@SysWorkspaceId uniqueidentifier,@P1 uniqueidentifier,@P2 uniqueidentifier,@P3 uniqueidentifier',@SysWorkspaceId='2746F94F-8E5B-469A-AC1E-AAF90920BB36',@P1='79770671-CDE2-4C0F-9078-A4FF68703DEF',@P2='1A778E3F-0A8E-E111-84A3-00155D054C03',@P3='1A778E3F-0A8E-E111-84A3-00155D054C03'



The main table here from which the data is selected is SysModule and this table stores data on all the system sections. AccountAddress object is not present in the SysModule table since there is no section for "Account address".

 

Best regards,

Bogdan

Thanks, Bogdan but it's not exactly my issue. 

See attached picture. Both dashboards are created based on the same object (Opportunity product) and for one of them column Opportunity is a text value and for the second one, there is a link. I don't know why...  Some kind of bug on our env?

Show all comments

Hi All,



I have a use-case as the user doesn't has access to redirect to the a new page on clicking of the hyperlink of the lookup field.







How to disable the Hyper-Link for the lookup field and show it as normal text?



Regards,

Adharsh S

Like 0

Like

1 comments

Hello Adharsh,

 

You can find the answer to your question in this Community post.

 

Best regards,

Bogdan S.

Show all comments

Hi,

Auto-populating some fields doesn't work for NON-Supervisor users. We investigated the features (Screenshot 1) and if they are enabled for All employees (Screenshot 2) and even after that, the feature "PopulateBusinessRuleAction" still is not enabled (Screenshot 3).

 

What can be the root cause?

Like 1

Like

1 comments

Hi Kavian, 



Regarding the feature state: 

It is needed to re-log in after changing the feature state for changes to take place. Have you re-loged in before checking the value the second time? 



As for the issue with the business rules, The support request you've opened (#SR-01019131) is still open and we're waiting for your input to proceed with the investigation. 



Best regards,

Yurii. 

Show all comments

Hi community !

 

Is there any way to do a switch-case with business processes?



I have a case that can reach different statuses. All the statuses are known. I have to do some things at each step of the case I currently do with a simple signal with "if status change AND status = specific_status, then ..." but I don't really like doing that. It's not readable. Is there an easier way to handle each step of a case, like a switch case or something?



Thanks in advance,



Julien Gunther

Like 0

Like

1 comments
Best reply

Hi Julien, 



If i understood your business task corectly, you need to call those processes from DCM panel. You can do so in DCM configuration. Add a step for the status, in which you want to call a process. You can refer to the screenshot below. 

Best regards,

Yurii. 

Hi Julien, 



If i understood your business task corectly, you need to call those processes from DCM panel. You can do so in DCM configuration. Add a step for the status, in which you want to call a process. You can refer to the screenshot below. 

Best regards,

Yurii. 

Show all comments



Hello Community! There is any way to get the cached syssettings in Mobile?

Equivalent to Terrasoft.SysSettings.cachedSettings in Web

Like 0

Like

3 comments

Dear Federico,



You can check Terrasoft.SysSettings in which you can see all stored information from the manifest

 

 

Best Regards,

Ivanna Yatsura.

Ivanna Yatsura,

 Yes I checked but Can't see the cached syssettings there. I dont know from where are coming those system settings.

Federico Buffa ,

 

Unfortunately, it is the only option here.



Best Regards,

Ivanna Yatsura.

Show all comments

Hi All,

How to add filter to the virtual Lookups, I had added virtual lookup for contact entityschema. And when I tried to add filter to that, its not filtering out the data.

I have attached my code for the reference,





 

After adding the filter I am able to see all the values in the Lookup.

Is there a way, to Filter the Lookup values in Virtual lookup column ?

 

Regards,

Adharsh S

Like 0

Like

6 comments

Hello Adharsh,

Something else must be going wrong. I just tested this and my filters do get applied to the virtual lookup for me. My code looks like this: 

"ContactLookup": {
	dataValueType: Terrasoft.DataValueType.LOOKUP,
	type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
	caption: "Test",
	referenceSchemaName: "Contact",
	isSimpleLookup: true,
	lookupListConfig: {
		filters: [function() {
			var filters = Ext.create("Terrasoft.FilterGroup");
			filters.add("TestFilter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Name", "Ryan Farley"));
			return filters;
		}]
	}
}

and the result is: 

Ryan

Hello Adrash,

 

We've also tested Ryan's code and it works. Please use the same approach on your side to complete the business task.

 

Best regards,

Oscar

Ryan Farley, Oscar Dylan,

 

I have even tried with your code also, But I still find the same result. There is no error in console too. I am not sure what is been missed.





 

The only difference I could see is that I have implemented this virtual lookup in the Detail schema page and you have done this is Edit Page of a section.

Will this make any difference it Filtering the records?  Ideally it shouldn't do such way.



Regards,

Adharsh S

Adharsh,

 

You need to debug the logic and see if the filter is returned upon:

 

var filters = Ext.create("Terrasoft.FilterGroup");
			filters.add("TestFilter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Name", "Ryan Farley"));
			return filters;

execution. Also check if there is no other logic is connected to the same column which may affect the filter.

 

Best regards,

Oscar

This is an old thread, but I wanted to renew the conversation.  I'm having the same issue.  I've filtered lookups many times this way with no issue. 

 

I have a modal page that inherits from BaseEntityPage.  There is a virtual lookup on the page.  With isSimpleLookup = true, the lookup won't reference lookupListConfig at all.  It just ignores it.  If I change isSimpleLookup = false, it will reference lookupListConfig and fire the code for filter.  My problem is that since my module is already in a modal window, the lookup cant render as a modal also.  I must use a simple lookup.  I can filter simple lookups on other modules, but not this one.  There must be something different about how the module is being rendered.

 

Any thoughts on how to get the simple lookup to filter here, or be able to use a modal lookup on another modal page?

 

More on this.  So it looks like this is an issue inheriting from BaseEntityPage.  I changed my modal module to inherit from BasePageV2 and now it works.  Not sure if this is expected and I'm not sure what other issues I'll face using BasePageV2, as this is "base card schema".

Show all comments