hello Community,

in a process, I'm trying to associate a SocialChannel to a SocialMessage (in an ESNNotification).

The goal is to notify users who subscribed to a socialChannel, when a new message is created.

There is no field related to socialChannel in SocialMessage Entity, so i guess this must use associative table.

I could not figure how it work yet..

Maybe someone can help me figuring things ?

best regards

Patrice

Like 0

Like

2 comments

Hello, Patrice, 

 

there is OOB business process that sends a notification to users when a new comment is posted or a user mention added: ESNNotificationProcess.

Maybe it will fit your need?

 

Best regards,

Daria

Daria Zigulya,

Hello Daria,

thanks for the answer,

i will try to do something with that notification mecanism, it may be good enough.



best regards

Patrice

Show all comments

Dear mates,

I build a process for new calls but it did not launch when a new call is add into the database:

It looks like my problem:

https://community.creatio.com/questions/open-call-page-after-call

#SR-0898365

Thank you,

Nicolas

Like 0

Like

3 comments

Hello,

 

I've created the process with similar signal. It works fine and the process is launched:

Most likely your created call doesn't satisfy your signal conditions. Try to disable the filter and see if the process launches or make sure the call record satisfies it.

 

Regards,

Dean

Hello Dean,

 

I did.

In my "Appel sortant: enregistrer les données du Lead dans l'appel" process:

I just let the outgoing filter.

 

The record is well add to the object:

But the process has not been launched:

An idea ?

Thank you Dean,

Nicolas

 

Hi Nicolas,

 

The settings seem to be fine and the process should have launched the process. What I suggest is to try is to disable the background execution in the signal settings. If this cannot help - try to re-add the signal completely. If still no success - it is necessary to investigate the trigger on the database level. In this case it is better to  approach the support team. I'm afraid it might necessary to have a closer look to the website, rather than trying to guess the possible solution.

 

Regards,

Dean

Show all comments

Hi community,

 

We have this situation where we need to create a bi-directional connection with our customer platform, using SOAP protocol. We would like to know if its possible to create a SOAP based services in Creatio to be accessed by our customer? If yes, any information on how to implement this?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

Like 0

Like

10 comments

Hello Pedro,

 

You need to develop a configuration service (either regular or anonymous) using SOAP. Here is the article that describes how to configure web-services and integrate them into the Creatio app.

 

For example:

1) Create a source code for the service contract SPMSUBPServiceContract:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
 
namespace SPMSUBPService
{
    [ServiceContract]
    public interface IService
    {
        [OperationContract]
        SPMClientInfoResponse SPMClientInfo(string Login);
    }
 
    [DataContract]
    public class SPMClientInfoResponse
    {
        bool success = true;
        string errorText = "";
 
        [DataMember]
        public bool Success
        {
            get { return success; }
            set { success = value; }
        }
 
        [DataMember]
        public string ErrorText
        {
            get { return errorText; }
            set { errorText = value; }
        }
    }
}

and the source code of the SPMSUBPService service directly:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
 
namespace SPMSUBPService
{
    public class SPMSUBPService : IService
    {
        public SPMClientInfoResponse SPMClientInfo(string Login)
        {
            return new SPMClientInfoResponse();
        }
    }
}

2) Create a file with SPMSUBPService.svc name in the Terrasoft.WebApp\ServiceModel folder with the following text:

 

<%@ ServiceHost Language="C#" Debug="true" Service="SPMSUBPService.SPMSUBPService" Factory="System.ServiceModel.Activation.ServiceHostFactory" %>

 

3) Add the description of the service to the Terrasoft.WebApp\ServiceModel\http\services.config file:

&lt;services&gt;
    ...
    &lt;service behaviorConfiguration="BaseServiceBehavior" name="SPMSUBPService.SPMSUBPService"&gt;
        &lt;endpoint name="SPMSUBPServiceEndPoint"
            binding="webHttpBinding"
            behaviorConfiguration="RestServiceBehavior"
            bindingNamespace="http://Terrasoft.WebApp.ServiceModel"
            contract="SPMSUBPService.IService" /&gt;
        &lt;endpoint address="soap" binding="basicHttpBinding" contract="SPMSUBPService.IService"/&gt;
        &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt;
    &lt;/service&gt;
    ...
&lt;/services&gt;

4) Modify the Terrasoft.WebApp\Web.config file:

...
&lt;location path="ServiceModel/SPMSUBPService.svc"&gt;
    &lt;system.web&gt;
      &lt;authorization&gt;
        &lt;allow users="*" /&gt;
      &lt;/authorization&gt;
    &lt;/system.web&gt;
&lt;/location&gt;
...

And everything is ready, the service is accessible via /0/ServiceModel/SPMSUBPService.svc and the WSDL as well /0/ServiceModel/SPMSUBPService.svc?singleWsdl

 

Best regards,

Oscar

Oscar Dylan,

 

Thank you for your response.

 

I've tried to implement the solution you provided above and I'm getting this error when sending a request through both Postman and SoapUI.

Can you please tell me what this error means and how can I fix it?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

 

Hi Pedro Pinheiro,

Did you got the WSDL file. For me it is showing 404 not found error if I try to access that url.

Also how can we know the what input format to pass parameters to method. Can you share those details here.

 

Thanks in advance.

Regards,

Manideep.

Hi Korni Manideep Reddy,

 

We manage to make this service working, but since it was a long time ago we don't have the specific steps to fix the error.

 

However,  we have the updated steps that we use in order to make the service available. Maybe if you go through these following steps  you could fix your problem.

 

Note: These steps only work for .Net Framework instances.

 

1. Create a new file called “DemoServiceName.svc" in ..\Terrasoft.WebApp\ServiceModel folder, and add this line:

 

<%@ ServiceHost Language="C#" Debug="true" Service="Terrasoft.Configuration.DemoServiceNameSpace.DemoServiceName” Factory="System.ServiceModel.Activation.ServiceHostFactory" %>

 

2. Add the following configuration to the ..\Terrasoft.WebApp\web.config file:

 

<configuration>

  ...

  <location path="ServiceModel/DemoServiceName.svc">

    <system.web>

      <authorization>

        <allow users="*" />

      </authorization>

    </system.web>

  </location>

  ...

  <appSettings>

    ...

    <add key="AllowedLocations" value="https://yourwebsitedomain.creatio.com/0/;ServiceModel/DemoServiceName.s…"  />

    ...

  </appSettings>

  ...

</configuration>

 

3. Add the following service to the ..\Terrasoft.WebApp\ServiceModel\https\services.config file:

 

    <service behaviorConfiguration="BaseServiceBehavior" name="Terrasoft.Configuration.DemoServiceNameSpace.DemoServiceName">

        <endpoint name=“DemoServiceNameEndpoint" address="" binding="webHttpBinding" behaviorConfiguration="RestServiceBehavior" bindingNamespace="http://Terrasoft.WebApp.ServiceModel" contract="Terrasoft.Configuration.DemoServiceNameSpace.IDemoServiceNameRest" />

        <endpoint address="soap/demoservicename” binding="basicHttpBinding" contract="Terrasoft.Configuration.DemoServiceNameSpace.IDemoServiceNameSoap"/>

    </service>

 

4. Add the following service to the ..\Terrasoft.WebApp\ServiceModel\http\services.config file:

 

    <service behaviorConfiguration="BaseServiceBehavior" name="Terrasoft.Configuration.DemoServiceNameSpace.DemoServiceName">

 

        <endpoint name="DemoServiceNameEndpoint" address="" binding="webHttpBinding" behaviorConfiguration="RestServiceBehavior" bindingNamespace="http://Terrasoft.WebApp.ServiceModel" contract="Terrasoft.Configuration.DemoServiceNameSpace.IDemoServiceNameRest" />

 

        <endpoint address="soap/demoservicename" binding="basicHttpBinding" contract="Terrasoft.Configuration.DemoServiceNameSpace.IDemoServiceNameSoap"/>

 

    </service>

 

5. In the ..\Terrasoft.WebApp\ServiceModel\https\bindings.config file we need to change the basicHttpBinding to:

 

<basicHttpBinding>

        <binding maxReceivedMessageSize="10485760">

            <readerQuotas maxDepth="32" maxStringContentLength="10485760" maxArrayLength="10485760" maxBytesPerRead="10485760"/>

            <security mode="Transport">

                <transport clientCredentialType="None" />

            </security>

        </binding>

        <binding name="ReportServiceBinding">

            <security mode="Transport">

                <transport clientCredentialType="None" />

            </security>

        </binding>

</basicHttpBinding>

 

 

6. In the ..\Terrasoft.WebApp\ServiceModel\http\bindings.config file we need to change the basicHttpBinding to:

 

<basicHttpBinding>

    <binding maxReceivedMessageSize="10485760">

        <readerQuotas maxDepth="32" maxStringContentLength="10485760" maxArrayLength="10485760" maxBytesPerRead="10485760"/>

        <security mode="Transport">

            <transport clientCredentialType="None" />

        </security>

    </binding>

    <binding name="ReportServiceBinding" />

</basicHttpBinding>

 

After all of this changes are made the application needs to be restarted.

 

About the input format of the method, we used a CustomObject and CustomResponse which we define using the DataContract attribute.

 

        public class DemoServiceName: IDemoServiceNameRest, IDemoServiceNameSoap {
             //This service needs to be anonymous.
             //Implement Methods here. you don't need to define WebInvoke here.
        }
 
        [ServiceContract]
		public interface IDemoServiceNameSoap
		{
           	[OperationContract]
		    CustomResponse MethodNameSoap(CustomObject cobject);  
		}
 
 
		[ServiceContract]
		public interface IDemoServiceNameRest
		{
          	[OperationContract]
			[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare)]
		    CustomResponse MethodNameRest(CustomObject cobject);
		}

 

Hope this helps solving your issue.

 

Best Regards,

Pedro Pinheiro

 

 

 

Hi Pedro Pinheiro,

I have tried above configuration settings But I am still not able to set  soap service. I am getting 500 ServiceActivationException.

 

Rakshith Dheer Reddy,

 

What is the error description you receive when trying to access "http://localhost:83/0/ServiceModel/SoapTestService.svc" through a browser?

 

Best Regards,

Pedro Pinheiro

Pedro Pinheiro,

We are getting this error from the browser. 

Hi Pedro Pinheiro,

In Postman, I am getting 500 error with ActionNotSupported.

Hi Kumaran K,

 

Sorry, I forgot to mention that you need to add the service behavior for the metadata. This can be done with the following steps:

 

1. In the ..\Terrasoft.WebApp\ServiceModel\https\behaviors.config file we need to set the httpsGetEnabled to true on both behaviors:

 

&lt;serviceBehaviors&gt;
 
...
 
              &lt;behavior name="BaseServiceBehavior"&gt;
 
                       ...
 
                       &lt;serviceMetadata httpsGetEnabled="true" /&gt;
 
                       ...
 
              &lt;/behavior&gt;
 
             &lt;behavior name="RestServiceBehavior"&gt;
 
                       ...
 
                       &lt;serviceMetadata httpsGetEnabled="true" /&gt;
 
                       ...
 
             &lt;/behavior&gt;
 
...
 
&lt;/serviceBehaviors&gt;

 

2. In the ..\Terrasoft.WebApp\ServiceModel\http\behaviors.config file we need to set the httpGetEnabled to true on both behaviors:

 

&lt;serviceBehaviors&gt;
 
...
 
              &lt;behavior name="BaseServiceBehavior"&gt;
 
                       ...
 
                       &lt;serviceMetadata httpGetEnabled="true" /&gt;
 
                       ...
 
              &lt;/behavior&gt;
 
             &lt;behavior name="RestServiceBehavior"&gt;
 
                       ...
 
                       &lt;serviceMetadata httpGetEnabled="true" /&gt;
 
                       ...
 
             &lt;/behavior&gt;
 
...&lt;/serviceBehaviors&gt;



Hope this helps.

 

Best Regards,

Pedro Pinheiro

Pedro Pinheiro,

Thank you, Pedro.

The soap service is working.

Show all comments

Hi community,

 

I've this situation where I need to refresh my Opportunity Section right after I save my mini page when creating a new Opportunity.

Since some of the values are calculated during this "save" operation using a business process, I've tried to send a message to my Opportunity  Section page, using the same process. But the main problem happens when two or more users are in the Opportunity Section page those pages (Opportunity Section of each user) are refreshed. Is there any solution to refresh the page of only one user (the user that created the new Opportunity)?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

Like 1

Like

3 comments
Best reply

Hello Pedro,

To reload/refresh a section list, you can use:

this.updateSection();

As far as sending a message for only the current user, you can use the ServerChannel to send a message from a process and include the user Id of who created the opportunity in the message, then check that value with the current user when received on the client.

Info on sending a message from server to client: https://customerfx.com/article/how-to-refresh-a-page-from-a-process-in-…

Info on getting current user: https://customerfx.com/article/getting-the-current-user-in-bpmonline/

Ryan

Hello Pedro,

To reload/refresh a section list, you can use:

this.updateSection();

As far as sending a message for only the current user, you can use the ServerChannel to send a message from a process and include the user Id of who created the opportunity in the message, then check that value with the current user when received on the client.

Info on sending a message from server to client: https://customerfx.com/article/how-to-refresh-a-page-from-a-process-in-…

Info on getting current user: https://customerfx.com/article/getting-the-current-user-in-bpmonline/

Ryan

I've also written up a more detailed description of the ways to refresh a section, or parts of a section, here: https://customerfx.com/article/refreshing-a-section-list-in-creatio/

Ryan

Ryan Farley,

Thanks for the response, your solution fixed our problem.

 

Best Regards,

Pedro Pinheiro

Show all comments

Dear,

When i try to add a specific email address, the system return me the following error:

"This account allready exist. Modifiy email address and try again".

But the email address is not in the list, may be it has been added and delete next, but the email address is not in the creatio email list anymore.

How can i solve this issue please,

Thanks,

Nicolas

Like 0

Like

1 comments

Hello Nicolas,

 

Hope you're doing well.

 

If you are trying to add a new mailbox to the system and you have received the notification which you have mentioned before, it can mean that possibly the other user has already added this email to the system under its own profile. You can check the absence of the needed email by running the next query in your DB:

 

select * from MailboxSyncSettings

 

This query will show you the list of the already connected mailboxes. There you also can check who is the owner of the mailbox by the "SysAdminUnitId" column via the next query:

 

select * from SysAdminUnit where Id='SysAdminUnitId_value_for_the_needed_record'

 

In case when the needed mailbox was already added by other user, you can ask this user to set the shared mailbox (more information about this you can find in this article) if it fits your business tasks or log in under this user and delete the mailbox.

 

Also, you can delete the mailbox from the database using SQL Studio if the instance is on-site or by using SQL Executor if it is a cloud environment. At the same time we do not recommend to delete mailboxes from the application using other way than standard delete procedure from system user profile.

 

Best regards,

Roman

Show all comments

Hi,

I would like to add the payment status data within the Financial Indicators tab of the Project detail pages. This will allow our team to easily see information that can help them determine correct responses.

The Opportunity is connected to a Project and the Order, but when I add a 'New Detail' to the Financial Indicators with the following settings, I get no output:

  • Detail - Orders
  • Detail Column - Opportunities
  • Object Column - ID

I have tried other variations, but so far no output. I would be thankful for any guidance on how I can show the following information on this Financial Indicators tab:

Order Number       Payment Status

 

thanks

 

Mark

Like 0

Like

3 comments

Dear Mark,

 

Detail setup has the following logic: 

"Detail" is the name of the detail in the system.

"Caption on the page" is how it will be named on the page.

"Detail column" is an object in your detail that is equal to the current record. If you are adding Contact detail to accounts then you select Account as detail column since each contact has an account and you will see all contacts with Account = Current record when you open this detail. 

"Object column" is a column that specifies what will be shown in detail. Usually, it is ID of the connected record. 

 

Try to apply similar logic to your architecture to see which field to use as "Detail column" - maybe it is missing in the object? 

 

Best regards,

Angela

Hi Angela

 

Thanks for your reply. I have not been able to identify the correct combination to use so far.

 

As the Order is not directly connected to a Project, instead each are connected to the same Opportunity, I concentrated on trying both of these as the Detail, but no success so far.

 

thanks

 

Mark

Mark Roberts,

Then you need to check that records added to detail have needed columns. So that when you add a new record into detail Project, the project must have the same opportunity as in Order. Thy to add Opportunity field in detail to track if is added or not. 

 

Best regards,

Angela

Show all comments

Hi Community,

 

we have this situation, where we need to classify each row of our attachments detail with a lookup value that we have created previously.

 

For example, in our custom object Quote we have an Attachment detail that receives two types of Attachments one called "Proposta" and the other called "Orçamento".

 

The following screenshot shows the LinkPageV2 with the lookup we have created.

 

In order to implement this we've created two replacing objects, one for the object File with the lookup field we've created previously and the other QuoteFile that calls this "new version" of our File, as you can see in the screenshot bellow.

 

We want to know if this is the correct way to add a new field in the object responsible for the Quote Attachments.

 

After we implemented this field, we need the user to classify each of the added attachments in the detail. So we tried to add on our Attachment detail an editable list like this https://academy.creatio.com/documents/technic-sdk/7-16/adding-detail-ed…, but the logic we did cannot find the columns of our detail. Any idea on how to achieve this, create a editable list for the attachments detail?

 

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

 

Like 0

Like

3 comments

Dear Pedro,

 

1) I am not sure why you needed 2 different objects there - you could just use File object created by the system and add new lookups in in

2) If you have more than 1 attachments detail in the page system will not work as expected as currently 2 same details on one page are not supported. Try to remove extra detail. 

 

Best regards,

Angela

Hi Angela Reyes,

 

I did what you've said in 1) and 2), now I have one replacing object for "QuoteFile" and one attachment detail inside the page. Both solutions fixed part of the problems but I'm getting this new error when I tried to edit the line in my detail.

 

This first screenshot shows the editable list that I added in the attachments detail, as you can see the buttons are not appearing in the blue rectangle.

 

The screenshot bellow shows the errors that I'm getting when I try to edit one of the fields in the editable list.

 

To implement the editable list in my "FileDetailV2" I simply follow this guide https://academy.creatio.com/documents/technic-sdk/7-16/adding-detail-ed….

 

Any idea on how to fix this errors that are appearing now?

 

Thanks in advance.

 

Best Regards,

Pedro Pinheiro

 

Pedro Pinheiro,

It is hard to locate the source of the issue without debugging. Try to debug this code to find what property system cannot find and where it is expecting it to determine what causes the error. 

 

Best regards,

Angela

Show all comments

Hello community!

 

I have successfully installed the gamification add-on but unfortunately, I can’t start any game so far.

 

Once created a new game, the process to CHANGE STATUS TO ‘IN PROGRESS’ doesn’t work as expected. Instead, the launching step just freezes during the loading process, no outcome is noticed.

 

 

Here is what I’ve got after some attempts:

1) The system freezes with the Loading message on the screen, nothing happens no matter how much time you wait for the expected execution.

2) SCORING REASONS and REWARDS are deleted any time you may decide to reload the Loading page.

 

Any thoughts?

 

Thanks, everyone!

 

Like 0

Like

7 comments

Hello Alessandro,



Please specify your Creatio product and its version. This info will help us reproduce the issues that you have experienced.

Hi Alexander, 

 

This is a full-fledged Creatio product (cloud enterprise edition), the system version is 7.16.4.1731.

 

Thank you for your help.

Hello Alessandro,

 

Thank you for the details provided. I have successfully reproduced the issue and notified the responsible dev team. I will let you know of any updates.

 

Have a good day!

Hello Alessandro,

The issues mentioned above are closely related to Postgre compatibility problems of the add-on. Since the responsible team can't fix the problem within a month, we are removing the add-on from publication.

 

We will re-publish the add-on on Creatio Marketplace after the responsible team resolves the Postgre compatibility issue. 

 

Sorry for the inconvenience.

 

any idea , when will this add -on be republished on marketplace ? Or do we have any similar one in marketplace ?

Hi Shailey,

 

We are currently looking for a new team to take over the add-on development. We can't provide any ETA for republishing at the moment.

 

There are no similar add-ons on the Creatio Marketplace. However, you might want to consider using dashboard tools to setup dashboards with the employees' key performance indicators.

Ivan Leontiev,

Hi Team,



Any update on this?

Show all comments

Dear,

We bought a marketing Licence for Creatio.

When i try to create a campaign, the system told me that a licence is required.

Even if the marketing licence is enable on my user account.

Our provider told us it was because we have no active contact...

All i want to do is create a campaign in order to import another mass mailing provider statistics for this campaign. it has not been send by Creatio.

 

Why can't i create a campaign on Creatio ?

 

Thanks you,

Nicolas

Like 0

Like

2 comments

Hello Nicolas, 

 

The marketing campaigns require the following licenses:

  1. Marketing campaign licenses (“marketing creatio”). These licenses enable the functions of the Creatio Marketing sections: [Email], [Campaigns], [Events], etc. 
  2. Active marketing contact licenses ("marketing creatio 1000 active contacts"). The licenses are used for creating records in the [Email], [Campaigns], and [Events] sections. 

If the user does not have one of those licenses, errors may occur during the following operation:

  • saving or sending emails;
  • editing email templates in the Content Designer;
  • advancing a campaign to the [Marketing email] step;
  • certain operations in the [Events] and [Campaigns] sections might be disabled.

More detailed information about marketing licenses can be found in the Marketing campaign and active contact licenses Academy article. 

 

Best regards, 

Olga. 

Hello Olga,
It's a pity that we can not import into Creatio our emailing statistics if we send our emailing with another provider.

Show all comments

Hello Community,

 

I have a use case where when a user uploads a contact profile photo, I need to perform specific validations - Eg Check the bit depth & file format of the image. If the bit depth or the format doesn't match, I need to reject the image and show a message to the user. These validations are complicated and sometimes not possible on the client side using JS. 

 

I am aware that Contact profile photo gets uploaded via the out-of-the-box ImageAPIService. How do I customize or extend the service to add my own validations on the server side?

Like 0

Like

1 comments

Hello Shrikanth, 

 

Unfortunately, we do not have the exact example of your business task realization. However, we recommend that you take a look at the following Community post where a similar task and ways of its implementation are described: https://community.creatio.com/questions/attachement

 

Please, let us know in case any further information is required. 

 

Best regards, 

Olga. 

Show all comments