Expand my Community achievements bar.

SOLVED

How to save a data used in a Web App and put in a list/somewhere else ? (script ?)

Avatar

Level 5

Hello everyone,

I made a Web App to send to the customers if they accept the criteria about their personal information.

QMVYEocuAM.png

Here is the render of that Web App :

nlclient_QZubvAQDEa.png

What am I looking for, when the customer check the checkbox for the condition and click on the confirmation button, is to store the first data (308406*** call "cinNumber") in some kind of list so I can use it in a workflow later to make an exclusion.

Is the creation of a script is necessary (not an export in that) or is there a better way to store that data ?

Can we edit the storage of the checkbox so the "cinNumber" can be remembered or put in a list ?

Here is what the Web App looks like for your information :

nlclient_TIZsD8ZTyB.png

nlclient_VldVP5j6A7.png

nlclient_AsYZ0rxCUE.png

Is it possible to do something with the storage variable of that checkbox.

nlclient_CDBTIVn1Hf.png

If you need more information, feel free to ask.

Kind regards,

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi Thibault,

It is perfect for schema field declaration and web page checkbox settings.


But there is a mistake in Storage activity, to my mind:

Briefly said, if you keep "Update the preloaded record unselected", unselect the Flag CIN Number and select the CIN Number for the key of reconciliation.

Detailed explanation and alternative:

the "Update the preloaded record" check is not checked, so it means, the checkbox value won't be saved by using the primary key of your target schema/document type selected in the webApp properties.
But by checking Update the preloaded record, it means it will save based on the preloaded schema key, I guess it is you CIN number.
If you do not want this behavior (that I thought because from the very first screenshot, the checkbox was not checked), it will update the record based on the criteria you select: in that case, it is important that the reconciliation optin must be kept with the CIN number as previously you did, well the key you need (primary or not, combined key), BUT NOT the flag (a boolean).

Unselecting the checkbox Update the preloaded record is actually useful whenever you preload with a key, or if it is a free form with no preloading, then reconciliate based on email or firstname+lastname, or other use cases, or also duplicating recipient for instance in a new recipient folder.

Hope this can help.

Regards
J-Serge

View solution in original post

10 Replies

Avatar

Level 10

Hi Thibault,

If I understand you correctly, you don't want to store a boolean in your document type Loyalty defined in your webApp properties, that gives information to target table/schema for Preloading activity and Storage activity, but in a dedicated List, as you would do in standard workfklow with the Update list activity ?

In that case, the only way in webApp is to use a script activity instead of Storage activity, and by using either entity.save or write/writesession or sqlExec('insert...') for doing the save.

Regards
J-Serge

Avatar

Level 5

Hello Jean-Serge Biron,

Thank you for those information.

I try something else and create a data "flag" in that specific data schema so when I want to make an exclusion in my workflow, I can use that data if the customer validate that form.

nlclient_woDpt86Lkw.png

I make some change in my web form and try to save the Flag CIN Number so it's equal to 1 when validate the form but it's not working, the update is not taking place in my recipient BD.

nlclient_BoDmW2hQNJ.png

nlclient_rfXftaZyKP.png

I can notice in the debug that my Flag CIN Number is equal to 1 after the form is completed :

nlclient_bpJZdsGBGQ.png

But when looking at my recipient, the modification is not taking place.

nlclient_ReNXRCxqsl.png

Do you know why this happen ? I use a checkbox before and a constant for now.

Regards,

Avatar

Level 10

Hi Thibault,

OK so you added a flag in loyalty table, this way for proceeding is easy to manage (both actually... but the 2nd case needs Javascript activity).

So with the flag, the solution is very easy: forget the variable var1_FR and connects directly the flag to the checkbox by using 1st radio button Loyalty schema instead of variable.
Hence in the Storage activity, being in the form, the flag element will appear as to be save.
That's all

Best Regards

J-Serge

Avatar

Level 5

Hello Jean-Serge Biron

I also try the method you mention and the update is not coming. The Flag CIN Number for the recipient is still set to "No".

Do I need a Javascript activity ? If not, nothing to do in my storage box ?

Regards,

Avatar

Level 10

Hi Thibault,

Please check carefully (and if you need, share the screenshots) for the link of the checkbox to the loyalty schema flag field.
Normally it should appear in the Storage activity.
Perhaps you need a refresh, delete Storage and create another one, most often the update are not propagated correctly (small bug/feature of ACC).

By the way, I wonder why you load Additional elements in the preloading activity. It is useful only for elements that are not present in the form.

Regards
J-Serge

Avatar

Level 5

Hello Jean-Serge Biron​ ,

I try with a fresh storage box but still have the issue for now.

Here is my complete set-up, I also made some little modification in my data schema :

nlclient_VWLuP8HCkt.png

Preloading box :

nlclient_NQlEDDAQmy.png

Page with the checkbox configuration :

nlclient_0d1uLTmn3i.png

On top of the checkbox is the test I make with a constant type.

Storage box :

nlclient_lUGuk62ZjI.png

Hope this will help you, feel free to tell me if you need more to share

Regards,

Avatar

Correct answer by
Level 10

Hi Thibault,

It is perfect for schema field declaration and web page checkbox settings.


But there is a mistake in Storage activity, to my mind:

Briefly said, if you keep "Update the preloaded record unselected", unselect the Flag CIN Number and select the CIN Number for the key of reconciliation.

Detailed explanation and alternative:

the "Update the preloaded record" check is not checked, so it means, the checkbox value won't be saved by using the primary key of your target schema/document type selected in the webApp properties.
But by checking Update the preloaded record, it means it will save based on the preloaded schema key, I guess it is you CIN number.
If you do not want this behavior (that I thought because from the very first screenshot, the checkbox was not checked), it will update the record based on the criteria you select: in that case, it is important that the reconciliation optin must be kept with the CIN number as previously you did, well the key you need (primary or not, combined key), BUT NOT the flag (a boolean).

Unselecting the checkbox Update the preloaded record is actually useful whenever you preload with a key, or if it is a free form with no preloading, then reconciliate based on email or firstname+lastname, or other use cases, or also duplicating recipient for instance in a new recipient folder.

Hope this can help.

Regards
J-Serge

Avatar

Level 5

Hello Jean-Serge Biron​ ,

I also try your methods with unselect the flag and select the CIN Client but without any result.

I think there is something I don't understand to make it works. Maybe it's not possible to update that flag element using a checkbox or a constant.

Avatar

Level 10

Bonjour Thibault,

Perhaps I am wrong and it is not the Storage that needs to be delete/created for the cache bug, but the preloading activity, I am not sure now.
So either try to delete/create the preloading, or enforce it to update through adding flag_CIN_number as additional element.

Regards
J-Serge

Avatar

Level 5

Hello Jean-Serge Biron​ ,

Yes indeed, I already try to do also I fresh new preloading box with and without the flag_cin. Still no update on that flag.

I don't understand why in the debug it can remember that the flag is equal to 1 and after the confirmation, tels me that the flag_cin is equal to 1 (Yes) but nothing in the DB.

Regards,