Hi Community,

 

I was trying to build one scenario - On Error come during process execution i.e. System shows Error in Process Log Section, I want to log it in another Custom section and Create new record there. 

For this, I created a business process that can be triggered on the Change in Process Log Object. But that process is not getting triggered. Please guide me here? How to do it correctly?

 

Like 0

Like

3 comments

Dear Pratik,



Please note that our application doesn't support designing business processes that are triggered by a modification in system objects. The core of business process mechanisms works on low-level API which doesn't support start signal's functionality. This is done in order to avoid any kind of accidents with business process mechanisms and also for performance maintaining reasons.

 

However, you can try designing a process that runs, for example, every day and checks Process log records for errors, and then sends this information to a specific mailbox.

 

Kind regards,

Mira

Hi Pratik,

I had a similar issue, and that's the solution I came up with: 

My process is scheduled to run every 4 hours and the read data searches for process marked with the "Error" status, which name starts with a custom prefix (that I assigned to identify my processes). The subprocess is used to log the error in another custom section.

Hope it helps! 

Hi Mira and Federica Cattani,



Thanks for the help and explanation. 

Show all comments

Hello Comunity!

Is it possible to use a Signal Start Event, inside a sub-process(call-activity)?

I want this sub-process to be triggered when I recieve an incoming email.

Which is the right approach for this task ?

Like 0

Like

1 comments
Best reply

Hello Petrika,



I am afraid no, it is impossible to use a Signal Start in sub-process, but you may use a Throw signal - "Wait for Signal" instead. The only difference is Throw Signal can only be triggered by "record modified" or "record deleted". In this case you will be forced to create an additional detail that will be modified (via a separate business process) so it may be tracked.



Though having that said, I would recommend you to use different business processes for each step. In most cases, there is no need to keep the business process running instead of creating several with corresponding Signal Start Events.



Best Regards,

Dan

Hello Petrika,



I am afraid no, it is impossible to use a Signal Start in sub-process, but you may use a Throw signal - "Wait for Signal" instead. The only difference is Throw Signal can only be triggered by "record modified" or "record deleted". In this case you will be forced to create an additional detail that will be modified (via a separate business process) so it may be tracked.



Though having that said, I would recommend you to use different business processes for each step. In most cases, there is no need to keep the business process running instead of creating several with corresponding Signal Start Events.



Best Regards,

Dan

Show all comments

Hi Community,

 

Have you tried triggering a business process after successful login? Any idea please?

Like 1

Like

3 comments

Hello Fulgen,

 

Could you please elaborate a bit on your business task? Would you like to start execution of the business process based on the active user session in a system?

 

Looking forward to you reply!

Best regards,

Anastasiia

Hi Fulgen,



Maybe our way allows you to solve your task:

We make scheduled process (every minute) and check if there are unprocessed records in 'Audit log' with Type = 'User authorization' and Result = 'Authorization'



Before you need to add new field 'Processed' to 'Audit log' object in order to set it to True when record is processed

Hi,

 

Thank you for all your reply, I need to start the event after successful login. I believe crm is saving session record somewhere else. Can I use this object to trigger the event? What is this object and the field name I want to start a signal using this.

Show all comments

Hi Community,

 

Any idea how can I pass multiple selected rows from section page to business process?

 

I need to pass the selected record Ids stored in "var selectedRows = this.get("SelectedRows");" selectedRows variable from section page to Business process parameter "Collection of Records" and process these record Ids in business process.

Like 0

Like

2 comments

Dear Fulgen,

 

You can trigger a business process with the ProcessModuleUtilities. Check out this post from Ryan Farley, he explains how to achieve that :

https://customerfx.com/article/programmatically-starting-a-process-from…

 

Best regards,

 

Julien

Hi, did you find a solution for this? I need to do the same thing.

 

Show all comments

Hello Community,

I would like to read incoming email attachments ( attachments are pdf files), in a business process.In which objects are they stored , and how to read the attachments to further process them.

Thanks in advance !

Like 0

Like

1 comments
Best reply

Hello Petrika,

 

Thank you for your question!

 

All files are stored as binary data in the "data" column of the object. Each one is stored in their own column, for example, 'ActivityFile'. As for the business process, the object can be processed with the Process File element. Please, refer to the article below for more information:

https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

 

Thank you.

 

Kind regards,

Anastasiia

Hello Petrika,

 

Thank you for your question!

 

All files are stored as binary data in the "data" column of the object. Each one is stored in their own column, for example, 'ActivityFile'. As for the business process, the object can be processed with the Process File element. Please, refer to the article below for more information:

https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

 

Thank you.

 

Kind regards,

Anastasiia

Show all comments

Hi,

Is there a way to add a notification in Communication panel to notify user when an initiated business process fails, indicating them to re-run the process or contact Sys admin?

Like 1

Like

2 comments
Best reply

Hello,



According to OOB logic, you cannot start a business process based on the SysProcessLog table. But there is a very simple workaround. You can create a view based on the SysProcessLog table and add this newly created object into your business process as a starting signal. Also, you can add different conditions for the records that can be added to your view so having it done you can manage the list of processes that will be added into your view.

You can find a way how to add a view on our Community.

 

Best regards,

Bogdan

Hello,



According to OOB logic, you cannot start a business process based on the SysProcessLog table. But there is a very simple workaround. You can create a view based on the SysProcessLog table and add this newly created object into your business process as a starting signal. Also, you can add different conditions for the records that can be added to your view so having it done you can manage the list of processes that will be added into your view.

You can find a way how to add a view on our Community.

 

Best regards,

Bogdan

Thanks, Bogdan! 

Show all comments

In the previous versions of Creatio, In the User Task element there was the Script where you could implement the task logic, as shown in the image below

In which part of the User Task Source code , in the 7.18 Version of Creatio, should I implement the same logic ? 

 

Like 0

Like

3 comments

Hello Petrika,

 

Thank you for your question!

 

You can read more on this here:

https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

 

Kind regards,

Anastasiia

Anastasiia Lazurenko,

Thank you Anastasia for your quick reply. But this is a different approach. I am not asking about the Script Task, but about the User Task.Because i want to use my logic in different bussiness processes.

Dear Petrika,

 

This logic is still the same. Please refer to the screenshots below:

 

 

Kind regards,

Anastasiia

Show all comments

Hi Everyone, 

 

I am trying to send emails with custom templates but the tool of the process designer won't show me my custom templates.

Anybody has any idea about the issue?

thank you in advance !☺

Like 1

Like

1 comments

Hello Federica,



Please contact our support team for further investigation: 

support@creatio.com

 

Best regards,

Bogdan

Show all comments

Hi everyone,

I'm looking for a way to customize the Add order based on opportunity BP.

I added some fields to the 'product in opportunity' object, like: discount amount, discount %, semester and schoolyear. Added semester and schoolyear to the product in order object too (discount amount, discount % fields are already exist there).

Now, I want these values to be copied when creating an order from an opp, just like the other fields of the product in order do.

I found this process does the order and creates the products  

https://beable.creatio.com/0/Nui/ViewModule.aspx?vm=SchemaDesigner#process/be82d4e0-4638-4058-975d-050a3dcff8b5

but don't know how to extend the script there (the script that adds the products in on the Adding opportunity products to order  element. 

Is there a way to get to the function that are being executed in that script?

Adding the element's script here.

Thanks in advance,

Chani

if (ProductItems.ToString() != "" || IsCopyAllProduct) {
	var copyProductsOperation = Factories.ClassFactory.Get<
		Terrasoft.Configuration.CopyOrderProductsFromOpportunityOperation>(
		new Factories.ConstructorArgument("userConnection", UserConnection));
	copyProductsOperation.Execute(new Terrasoft.Configuration
		.CopyOrderProductsFromOpportunityOperation
		.CopyOrderProductsArgs {
			OpportunityId = CurrentOpportunity,
			OrderId = NewOrder,
			IsCopyAllProducts = IsCopyAllProduct,
			ProductItems = ProductItems
	});
}
return true;

 

Like 0

Like

5 comments

Hi Chani,

 

You can create your own process and modify the script-task in the way you need or you can copy products from the opportunity to the created order using the "Add data" process element and the sub-process that will receive a collection of OpportunityProduct records.

 

Now step-by-step:

 

1) In the OpportunityOrderUtilities schema there is the CreateOrderFromOpportunity method that is called upon clicking the "New order" button on the opportunity page:

 

this is the code of the button:

and here is the method itself:

As we can see here the method reads the value for the system setting with "CreateOrderFromOpportunityProcess" code. By default the value for this system setting is "Add order based on opportunity":

So we can place any process with the simple start signal there.

 

2) You can either create your own script task in the newly created process (use the code from the original OOB process as an example or paste it and extend in the new process). Or in the new process you can use the collection of records read from the OpportunityProduct object and if the number of records is greater than 1 you can pass this collection to the sub-process that will add data to the created order (the object is OrderProduct).

 

So you need to select one of these two options: either extend the script-task or use the collection of records and a sub-process.

 

Best regards,

Oscar

Oscar Dylan,

Thank you.

But I do want to use the option of selecting products (see pic), how can I have that and get the products list to use in the add data element?

I tried looking in the  Add order based on opportunity BP, but I only see a text parameter for products list.

 

Chani Karel,

 

This is a part of the showProductDialog method of the same OpportunityOrderUtilities module. This will be called regardless of if the process is changed or not. Once products are selected, they are passed to the runProcessCreateOrder method. The list of selected products will be passed as an array of ID's to the process:

 

Best regards,

Oscar

Oscar Dylan,

Thanks

Chani Karel,

Hello Chani i have the same task can you please share with us the solution that you developed for this task. Thank you 

Show all comments

Hi community,

 

I try to trigger a business process that take one argument when I click on a button. When I click on my button the pop-up (as defined in my code below) shows up but I have an error via the console in chrome dev tools.

 

Here is the error that occurs (XML parse error: not well formatted):

 

Here is my schema :

define("ContactSectionV2", ["ProcessModuleUtilities", "ContactSectionV2Resources"], function(ProcessModuleUtilities, resources) {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "BtnCreateCandidat",
				"parentName": "CombinedModeActionButtonsCardLeftContainer",
				"propertyName": "items",
				"values": {
					itemType: Terrasoft.ViewItemType.BUTTON,
					style: Terrasoft.controls.ButtonEnums.style.BLUE,
					classes: {
						"textClass": ["actions-button-margin-right"],
						"wrapperClass": ["actions-button-margin-right"]
					},
					click: { bindTo: "OnClickCreateCandidat" },
					tag: "CombinedModeActionButtonsCardLeftContainer",
					caption: { bindTo: "Resources.Strings.BtnCreateCandidatCaption" },
					hint: { bindTo: "Resources.Strings.BtnCreateCandidatHint" },
					enabled: true,
				},
			},
		]/**SCHEMA_DIFF*/,
		methods: {
			OnClickCreateCandidat: function(){
				var contactId = this.getActiveRow().get("Id");
				var args = {
					parameters: {
                        ProcessSchemaContactStr: contactId
                    },
					sysProcessName: "MTF_CreateCandidatIfNotExists",
					callback: function(){
						this.showInformationDialog(contactId);
						return true;
					},
					// scope: this
				};
				ProcessModuleUtilities.executeProcess(args);
				return true;
			},
		}
	};
});

And here is my business process :

 

It takes one argument as input :

 

"parse contactId" is a simple line to transform a string to a Guid :

Guid.Parse([#ContactStr#])

and I set the value returned to the ContactId argument.

 

then I try to read a candidate with the Contact Guid that I just set (a Candidate has a lookup field to a Contact object).

 

It just check if the candidate was found, if not it will create it. The BP returns the Candidate Guid.

 

The business process runs, the Candidate object is created (empty for some reason, not even with the Contact lookup filled) each it needs but I always have the XML parse error.

 

Do you know how can I debut this and how can I resolve this ?

 

Best regards,

 

Julien G.

Like 0

Like

7 comments

Hello Julien,

 

Please find this request in the network tab of the browser and send the complete response to this request. Also what is being written in the server logs?

 

Best regards,

Oscar 

Oscar Dylan,

 

The button send a POST request.

Request (json) :

{
  "collectExecutionData": true,
  "parameterValues": [
    {
      "name": "ProcessSchemaContactStr",
      "value": "afbdee02-d829-4cd6-aef9-74c719e3d169"
    }
  ],
  "schemaName": "MTF_CreateCandidatIfNotExists",
  "resultParameterNames": []
}

and the response (json) :

{
  "processId": "a78bff89-c553-43bc-9d3a-210302be2c25",
  "processStatus": 2,
  "resultParameterValues": null,
  "executionData": null,
  "success": true,
  "errorInfo": null
}

Here is the IIS log when I click my button :

(I replaced Creatio's IP, Creatio's FQDN and my IP address)

2021-10-27 08:30:42 CreatioFQDN POST /0/ServiceModel/ProcessEngineService.svc/RunProcess - 443 julien.gunther myIPAddress Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:93.0)+Gecko/20100101+Firefox/93.0 https://CreatioFQDN/0/Nui/ViewModule.aspx 200 0 0 624

I don't have any other logs..

Julien Gunther,

 

This error somehow prevents the data from saving or something is not working in the system when you receive this error to the client-side? If not, please ignore it.

 

Best regards,

Oscar

Oscar Dylan,

This prevents the data from being saved correctly. The newly created object is saved but it is an empty object. No data is saved in the saved object.

 

Another problem is that when I click on this button, a pop-up window appears with the Guid of the selected contact (as specified in the section diagram), then it loads indefinitely. The only way to get out of this state is to reload the page.

 

Best regards,

 

Julien

Julien Gunther,

 

Issues like this are not possible to be solved in the community. Please share the backup of the app if this is deployed locally and provide steps to reproduce the problem in the email sent to support@creatio.com and I will take a look.

 

Best regards,

Oscar

Julien Gunther,



Could you go to the process library, select your business process and click the property. In the open page, check the "Trace enabled" option. 

 

After that, you can find the trace log in the business process log. From there, you can check what is the parameter value and if the value is correct or not before/after the certain step.

 

According to what you described, it sounds like the contactId parameter is not setup correctly. So it is important to ensure the contactId after your Guid.Parse is correct.

 

On the other hand, have tried to set the contactId directly from button click scripts?

 

regards,

 

Cheng Gong

Cheng Gong,

 

Sorry for my late reply,



I checked the trace, the contactId has been defined successfully. I have no trace for the formulas, only for "Create Candidate" and "Try Read Candidate".

 

Try Read Candidat trace :

{
	"Paramètres de l'élément": [
		{
			"Paramètre": "Sources de données des filtres",
			"Valeur": {
				"Avant exécution": "{\"className\":\"Terrasoft.FilterGroup\",\"serializedFilterEditData\":\"{\\\"className\\\":\\\"Terrasoft.FilterGroup\\\",\\\"items\\\":{\\\"c46e04a9-f961-4607-8585-9eb58c49d628\\\":{\\\"className\\\":\\\"Terrasoft.InFilter\\\",\\\"filterType\\\":4,\\\"comparisonType\\\":3,\\\"isEnabled\\\":true,\\\"trimDateTimeParameterToDate\\\":false,\\\"leftExpression\\\":{\\\"className\\\":\\\"Terrasoft.ColumnExpression\\\",\\\"expressionType\\\":0,\\\"columnPath\\\":\\\"MTFContactCandidat\\\"},\\\"isAggregative\\\":false,\\\"key\\\":\\\"c46e04a9-f961-4607-8585-9eb58c49d628\\\",\\\"dataValueType\\\":10,\\\"leftExpressionCaption\\\":\\\"Candidat\\\",\\\"referenceSchemaName\\\":\\\"Contact\\\",\\\"rightExpressions\\\":[{\\\"className\\\":\\\"Terrasoft.ParameterExpression\\\",\\\"expressionType\\\":2,\\\"parameter\\\":{\\\"className\\\":\\\"Terrasoft.Parameter\\\",\\\"dataValueType\\\":26,\\\"value\\\":{\\\"value\\\":\\\"[IsOwnerSchema:false].[IsSchema:false].[Parameter:{e8e60615-91be-40a0-a225-2922d2a98f23}]\\\",\\\"displayValue\\\":\\\"ContactId\\\",\\\"Id\\\":\\\"e2c00489-34d4-4d18-a703-39f3c30e7543\\\"}}}]}},\\\"logicalOperation\\\":0,\\\"isEnabled\\\":true,\\\"filterType\\\":6,\\\"rootSchemaName\\\":\\\"MTF_Candidat\\\",\\\"key\\\":\\\"\\\"}\",\"dataSourceFilters\":\"{\\\"items\\\":{\\\"c46e04a9-f961-4607-8585-9eb58c49d628\\\":{\\\"filterType\\\":4,\\\"comparisonType\\\":3,\\\"isEnabled\\\":true,\\\"trimDateTimeParameterToDate\\\":false,\\\"leftExpression\\\":{\\\"expressionType\\\":0,\\\"columnPath\\\":\\\"MTFContactCandidat\\\"},\\\"rightExpressions\\\":[{\\\"expressionType\\\":2,\\\"parameter\\\":{\\\"dataValueType\\\":26,\\\"value\\\":{\\\"value\\\":\\\"[IsOwnerSchema:false].[IsSchema:false].[Parameter:{e8e60615-91be-40a0-a225-2922d2a98f23}]\\\",\\\"Id\\\":\\\"e2c00489-34d4-4d18-a703-39f3c30e7543\\\"}}}]}},\\\"logicalOperation\\\":0,\\\"isEnabled\\\":true,\\\"filterType\\\":6,\\\"rootSchemaName\\\":\\\"MTF_Candidat\\\"}\"}",
				"Après exécution": "{\"className\":\"Terrasoft.FilterGroup\",\"serializedFilterEditData\":\"{\\\"className\\\":\\\"Terrasoft.FilterGroup\\\",\\\"items\\\":{\\\"c46e04a9-f961-4607-8585-9eb58c49d628\\\":{\\\"className\\\":\\\"Terrasoft.InFilter\\\",\\\"filterType\\\":4,\\\"comparisonType\\\":3,\\\"isEnabled\\\":true,\\\"trimDateTimeParameterToDate\\\":false,\\\"leftExpression\\\":{\\\"className\\\":\\\"Terrasoft.ColumnExpression\\\",\\\"expressionType\\\":0,\\\"columnPath\\\":\\\"MTFContactCandidat\\\"},\\\"isAggregative\\\":false,\\\"key\\\":\\\"c46e04a9-f961-4607-8585-9eb58c49d628\\\",\\\"dataValueType\\\":10,\\\"leftExpressionCaption\\\":\\\"Candidat\\\",\\\"referenceSchemaName\\\":\\\"Contact\\\",\\\"rightExpressions\\\":[{\\\"className\\\":\\\"Terrasoft.ParameterExpression\\\",\\\"expressionType\\\":2,\\\"parameter\\\":{\\\"className\\\":\\\"Terrasoft.Parameter\\\",\\\"dataValueType\\\":26,\\\"value\\\":{\\\"value\\\":\\\"[IsOwnerSchema:false].[IsSchema:false].[Parameter:{e8e60615-91be-40a0-a225-2922d2a98f23}]\\\",\\\"displayValue\\\":\\\"ContactId\\\",\\\"Id\\\":\\\"e2c00489-34d4-4d18-a703-39f3c30e7543\\\"}}}]}},\\\"logicalOperation\\\":0,\\\"isEnabled\\\":true,\\\"filterType\\\":6,\\\"rootSchemaName\\\":\\\"MTF_Candidat\\\",\\\"key\\\":\\\"\\\"}\",\"dataSourceFilters\":\"{\\\"items\\\":{\\\"c46e04a9-f961-4607-8585-9eb58c49d628\\\":{\\\"filterType\\\":4,\\\"comparisonType\\\":3,\\\"isEnabled\\\":true,\\\"trimDateTimeParameterToDate\\\":false,\\\"leftExpression\\\":{\\\"expressionType\\\":0,\\\"columnPath\\\":\\\"MTFContactCandidat\\\"},\\\"rightExpressions\\\":[{\\\"expressionType\\\":2,\\\"parameter\\\":{\\\"dataValueType\\\":26,\\\"value\\\":{\\\"value\\\":\\\"[IsOwnerSchema:false].[IsSchema:false].[Parameter:{e8e60615-91be-40a0-a225-2922d2a98f23}]\\\",\\\"Id\\\":\\\"e2c00489-34d4-4d18-a703-39f3c30e7543\\\"}}}]}},\\\"logicalOperation\\\":0,\\\"isEnabled\\\":true,\\\"filterType\\\":6,\\\"rootSchemaName\\\":\\\"MTF_Candidat\\\"}\"}"
			}
		},
		{
			"Paramètre": "Lire d'abord",
			"Valeur": {
				"Avant exécution": true,
				"Après exécution": true
			}
		},
		{
			"Paramètre": "Ordre des colonnes",
			"Valeur": {
				"Avant exécution": "Name:1:1",
				"Après exécution": "Name:1:1"
			}
		},
		{
			"Paramètre": "Premier élément de la collection résultante",
			"Valeur": {
				"Avant exécution": {},
				"Après exécution": {}
			}
		},
		{
			"Paramètre": "Lire les données non validées",
			"Valeur": {
				"Avant exécution": true,
				"Après exécution": true
			}
		},
		{
			"Paramètre": "Considérez l'heure dans le filtre",
			"Valeur": {
				"Avant exécution": true,
				"Après exécution": true
			}
		}
	],
	"Paramètres du processus": [
		{
			"Paramètre": "Candidat",
			"Valeur": {
				"Avant exécution": "00000000-0000-0000-0000-000000000000",
				"Après exécution": "00000000-0000-0000-0000-000000000000"
			}
		},
		{
			"Paramètre": "ContactId",
			"Valeur": {
				"Avant exécution": "42a4317d-1712-41b2-994c-11b6fc64b199",
				"Après exécution": "42a4317d-1712-41b2-994c-11b6fc64b199"
			}
		},
		{
			"Paramètre": "ContactStr",
			"Valeur": {
				"Avant exécution": "42a4317d-1712-41b2-994c-11b6fc64b199",
				"Après exécution": "42a4317d-1712-41b2-994c-11b6fc64b199"
			}
		}
	]
}

 

Create Candidat Trace :

{
	"Paramètres de l'élément": [
		{
			"Paramètre": "Objet",
			"Valeur": {
				"Avant exécution": "106e3cde-5534-4cac-a87d-37c23359b9ef",
				"Après exécution": "106e3cde-5534-4cac-a87d-37c23359b9ef"
			}
		},
		{
			"Paramètre": "Filtres des sources de données",
			"Valeur": {
				"Avant exécution": "",
				"Après exécution": ""
			}
		},
		{
			"Paramètre": "Module d'ajout d'enregistrement",
			"Valeur": {
				"Avant exécution": "0",
				"Après exécution": "0"
			}
		},
		{
			"Paramètre": "Objet",
			"Valeur": {
				"Avant exécution": "00000000-0000-0000-0000-000000000000",
				"Après exécution": "00000000-0000-0000-0000-000000000000"
			}
		},
		{
			"Paramètre": "Définir la valeur des colonnes",
			"Valeur": {
				"Avant exécution": {
					"Values": {
						"b8993e82-0840-410a-82a7-386a3295755c": "00000000-0000-0000-0000-000000000000"
					},
					"FetchMetaPathes": {}
				},
				"Après exécution": {
					"Values": {
						"b8993e82-0840-410a-82a7-386a3295755c": "00000000-0000-0000-0000-000000000000"
					},
					"FetchMetaPathes": {}
				}
			}
		},
		{
			"Paramètre": "L'Id de l'enregistrement a été créé",
			"Valeur": {
				"Avant exécution": "00000000-0000-0000-0000-000000000000",
				"Après exécution": "3bb08bf6-abc8-4385-9b99-957c2aaa6d8c"
			}
		},
		{
			"Paramètre": "Considérez l'heure dans le filtre",
			"Valeur": {
				"Avant exécution": true,
				"Après exécution": true
			}
		}
	],
	"Paramètres du processus": [
		{
			"Paramètre": "Candidat",
			"Valeur": {
				"Avant exécution": "00000000-0000-0000-0000-000000000000",
				"Après exécution": "00000000-0000-0000-0000-000000000000"
			}
		},
		{
			"Paramètre": "ContactId",
			"Valeur": {
				"Avant exécution": "42a4317d-1712-41b2-994c-11b6fc64b199",
				"Après exécution": "42a4317d-1712-41b2-994c-11b6fc64b199"
			}
		},
		{
			"Paramètre": "ContactStr",
			"Valeur": {
				"Avant exécution": "42a4317d-1712-41b2-994c-11b6fc64b199",
				"Après exécution": "42a4317d-1712-41b2-994c-11b6fc64b199"
			}
		}
	]
}

 

As you can see, the ContactStr parameter was successfully parsed into a Guid object.



I have no errors and, according to the trace, my Candidate object was created successfully.



When I click on the button, it gives me the contact ID in a string, that's why I had to convert it into a Guid.



Best regards,



Julien

Show all comments