Время создания
Filters

Like 0

Like

0 comments
Show all comments
"usr.FutureDateValidator": {
                validator: function (config) {
                    return function (control) {
                        let value = control.value;
                        
                        // This part right here //
                        if (value.readonly) {
                            return null;
                        }
            
                        let selectedDate = value instanceof Date ? value : new Date(value);
                        let today = new Date();
                        today.setHours(0, 0, 0, 0);
                        selectedDate.setHours(0, 0, 0, 0);
            
                        let valueIsCorrect = selectedDate >= today;
            
                        return valueIsCorrect ? null
                            : {
                                "usr.FutureDateValidator": {
                                    message: config.message
                                }
                            };
                    };
                },
                params: [{ name: "message" }],
                async: false
            }

This is a custom validation I made to validate a "Date Picker" component only for today and the following days. So it is unable to use past dates. 

The problem occured when modifying the field's value after I save, then modifying another field that is not the date picker, it will run this custom validation again. So if the data was saved the previous days, this custom validation will validate that date picker field.

The question is how do I read the value's "Read-Only" so I can turn off the validation when its value is 'true'?

Or if there is a better way to configure this validation, I will be happy to change it.

 

Notes: 

  • This is a custom package (outside creatio's source package)
  • Validate this field before it is saved
  • After saving, the validation is turned off
  • More than one is using this validation
  • If possible, can edit it ONLY when the field (date picker) is edited (not other fields)

 

Thanks for helping, ask me more questions if the information is not enough.

Like 1

Like

1 comments

You can turn on/off the validator so it only applies under the scenario you'd like.

Turn on:

request.$context.enableAttributeValidator("TheAttributeName", "TheValidatorName");

Turn off: 

request.$context.disableAttributeValidator("TheAttributeName", "TheValidatorName");

Note, the validator name there is whatever you named it when added to the attribute (which might not be the same as the actual validator). I don't know enough about the scenario, but if this is only something that would be populated when adding a new record maybe something like this would work? 

{
    request: "crt.HandleViewModelInitRequest",
    handler: async (request, next) => {
        await next?.handle(request);
 
        const cardState = await request.$context.CardState;
        if (cardState == "add" || cardState == "copy") {
            // enable the validator here
        }
        else {
            // disable the validator here
        }
    }
}

Ryan

Show all comments
HRM
HR_automation
performance_management
onboarding

How to automate the entire employee lifecycle in Creatio

HR teams often deal with scattered processes. Recruiting is managed in one tool, onboarding in another, and performance tracking somewhere else. This leads to manual work, data loss and lack of visibility across the employee lifecycle.

Syntech HRM for Creatio Syntech HRM for Creatio | Creatio Marketplace solves this by bringing all HR processes into one system.

It is a complete HR management solution that covers every stage of the employee journey. From candidate sourcing and hiring to development, performance tracking and offboarding, everything is managed in a single workspace.

Recruiting becomes structured and predictable. You can manage candidates through customizable pipelines, schedule interviews, collect feedback and make decisions based on clear data. Integration with job platforms allows you to import candidates automatically and avoid duplicates.

Onboarding is no longer chaotic. The system provides structured 30 60 90 day plans, assigns responsibilities and tracks progress. New employees adapt faster and managers always see the current status.

Performance management is fully transparent. Set KPIs and OKRs, run review cycles, track employee growth and hold regular one to one meetings with automated scheduling and reminders.

Offboarding is handled in a controlled and professional way. The system ensures that all tasks are completed, knowledge is transferred and feedback is collected through exit interviews.

All data is stored in one place, which reduces manual work, minimizes errors and gives HR teams full visibility.

Syntech HRM for Creatio | Creatio Marketplace

Syntech HRM for Creatio helps companies build structured, scalable and efficient HR processes.

Like 1

Like

Share

0 comments
Show all comments
Diagram
syntech
relationship

Users often encounter fragmented data. Contacts, deals, contracts, and activities are scattered across multiple sections. This slows down decision-making and hides important relationships.

Syntech Relationship Diagram for Creatio solves this problem.

It turns your CRM into a visual and interactive map, where all relationships are displayed in one place. You can instantly see who is influencing a deal, how entities are related, and where opportunities or risks may exist, without ever leaving the record page.

With flexible configuration, drag-and-drop functionality, and no-code setup, your team can gain full visibility in minutes.

Fewer clicks. More insights. Faster decisions.

Syntech Relation Diagram for Creatio | Creatio Marketplace

Like 1

Like

Share

0 comments
Show all comments
Studio_Creatio
8.0

I'm getting a strange error when I attempt to log into a dev site running on a locally hosted machine. I get the log in screen, but after I enter the credentials, I got the following response:

{
 "Code": -1,
 "Exception": "System.MissingMethodException: Method not found: 'StackExchange.Redis.RedisValue StackExchange.Redis.RedisValue.op_Implicit(System.Memory`1)'."
}

Any suggestions on what might be causing the error? Or where to look? Nothing in the logs is jumping out at me.

I do have another instance of Creatio running on the same server and it runs just fine.

Like 0

Like

1 comments

Hello,

This error is almost certainly caused by a version mismatch of the StackExchange.Redis library, rather than anything related to the login itself. The message indicates that the application is trying to call a method that exists in one version of the library, but at runtime a different version is being loaded where that method doesn’t exist.

Since you mentioned another Creatio instance on the same server works fine, the most likely issue is that the two sites have different versions of StackExchange.Redis.dll (or related dependencies like System.Memory.dll) in their bin folders, or different binding redirects in web.config.

A good starting point is to compare the Redis-related DLLs between the working and non-working instances and make sure they match exactly. Also check the web.config for any binding redirects that might be forcing a different version at runtime. If everything looks the same, it’s worth verifying which assembly is actually being loaded, as sometimes an unexpected version can be picked up from another location.

In short, focus on aligning the Redis-related dependencies between the two instances—this type of error should be resolved once the correct assembly version is being loaded.

Show all comments