Community

Recognition-validation: auto select highest export value

Hi,
I'm new to FlexiCapture. I think the tool has never been used well at my job.
Explanation:
a form is beeing scanned. The properties of a group: Allow empty selection is enabled. Allow multiple selection is disabled.
If more than one checkbox is selected, we need to manually correct this. It can be done manually on 200 documents, but now I have around 7000 documents.

What we do to correct multiple selection, is choose the highest value.

Is there a way that I can automize this process? Perhaps a script that uses the highest export value when more than one checkbox is selected?
Thanks in advance for possible replies, it would help me a lot!
0

Comments

4 comments

  • Avatar
    Vladislav Suvorov
    Hello,

    It can be done via rule script:
    1)for loop - you are looking for the highest priority "true" checkmark with break; keyword in it.
    1.1) if a general for doesn't work in your case please consider a custom algorithm.
    2)Found one - its id is being stored in a variable outside of loop.
    3)for loop - you are changing all checkmarks if their index!=id;

    Here is a small sample:

    int ID=-1;

    for (int i=0; i
    {
    if (Context.Field("ChmGr").Children.Value=true;
    {
    ID=i;
    break;
    }
    }
    for (int i=0; i
    {
    if(i!=ID)
    {
    Context.Field("ChmGr").Children.Value=false;
    }

    }



    Best regards,
    Vladislav
    0
  • Avatar
    Kristofvm
    Hi Vladislav,

    Thanks for your reply! I don't think I understand the script... I want to test it but the script editor gives me an error: Unknown COM Error. Error code: 0x86664004

    I use the flexicapture 9, I don't know if this matters?

    In the properties of the checkbox group I have a tab Rules where I can set Show in list: Rules handling the object In that window I can add the rule.
    Hello,

    It can be done via rule script:
    1)for loop - you are looking for the highest priority "true" checkmark with break; keyword in it.
    1.1) if a general for doesn't work in your case please consider a custom algorithm.
    2)Found one - its id is being stored in a variable outside of loop.
    3)for loop - you are changing all checkmarks if their index!=id;

    Here is a small sample:

    int ID=-1;

    for (int i=0; i
    {
    if (Context.Field("ChmGr").Children.Value=true;
    {
    ID=i;
    break;
    }
    }
    for (int i=0; i
    {
    if(i!=ID)
    {
    Context.Field("ChmGr").Children.Value=false;
    }

    }



    Best regards,
    Vladislav

    0
  • Avatar
    Vladislav Suvorov
    Hi Kristof,

    An example I have given is a C# code. If I remember correctly, FC9 doesn't yet support C# scripts. However it has JavaScript support which is very similar and the only difference I remember is you use this. instead of Context.
    Please try making this change.

    Best regards,
    Vladislav
    0
  • Avatar
    Kristofvm
    Hi Vladislav,
    Unfortunately it does not work by changing Context. by this.

    I just did a copy paste of your code sample. in de Jscript editor...
    the value's I have are 1,2,3,4,5,6,7,8,9,10,11,12
    0

Please sign in to leave a comment.