I've created a repeat dialog called PartyName. It has lots of variables for the user to fill out for each party.The user then goes through the rest of the interview.Now at the end of the interview, I now want to:
only show the relevant parties. As maybe from 5 parties, only 3 are relevant.
for the relevant parties, ask them to complete one more multichoice variable "As Confirmed by Us".
The reason for this is a cleaner UI experience. I don't want them to go back to the start of the interview, cycle through all 5 parties when they only need 3 (and they may pick the wrong 3), and then complete the "As Confirmed by Us" variable.
This is where I am stuck.
I don't know how to implement this.
Ideally, I should be able to create a new dialog box, then in it: Have a loop which goes through all the parties, only display parties which meet the criteria and then ask the user to complete the "As Confirmed by Us" variable.
But Hotdocs doesn't let this happen. What is the correct approach here?
One of the challenges with this request is the amount of dynamism that goes into the Party Name area. If you had a specific limit on the number of parties that could exist in the system my suggestion would be different (example: never more than 5 parties).
My suggestion, which is little odd, would be to create a Script Link Button which launches a computation. That computation would contain a TF trigger which changes what variables are displayed on your original Party Name Dialogs, then an ASK Party Name instruction (when you fire an ask instruction from a button, it opens the dialog in question in a window). You then you dynamically display the "As Confirmed by US" variable, or a dialog element letting the user know to skip this particular party because they don't "have oranges" - per your earlier example.
This solution has the added benefit of:
Not requiring that variables become unlinked from dialogs (this can present buggy behavior in large systems)
Not caring what version of HotDocs you are using
The As Confirmed by Us data is actually stored within the Repeated dialog, meaning it is easier to script and filter Parties in the future, based on the data you've collected.
Where this solution could be better:
Slightly complicated to implement... maybe an hour or 2.
Does not hide the unneeded users so they have to click past them
Probably does not work well on an HotDocs Advance on a mobile phone.
Nicholas Parenteau, MSOM
Caret Professional Services
Hey OP. I made a video on YouTube for you that I think would solve your problem. Here it is: https://youtu.be/on5_h7LQ-U8?si=Jgp6gUD5tBZrx8OM
Sorry swamped right now, will think on this and see if I can be helpful.
Thanks everyone for the input. I didn't realise that Hotdocs Advance is that different.
I'm running Hotdocs Classic v11.
I think I poorly explained what I'm trying to achieve. So I'll try and do better.
I did get some good ideas from
(a) Austin about "Linking Variables to a Dialog" not sure what that is, but I'll dig into that to see if that fixes my problem.
(b) Bart and Samantha on pushing the results into a MC. I think that might help with identifying the filtered party list. But I'll need to investigate further on how I can use that to solve my problem.
Thank you for everyone's input. Gives me some ideas and things to test and explore.
Below is another attempt to describe my problem. In case it helps with other ideas.
The repeating dialogbox "PartyName" allows the user to add different persons. These persons will make various representations to us. E.g. I have an apple. I have a pear. I have an orange. I track this using a multichoice variable.
So my dialogbox for PartyName is rough:
Person 1, first entry. "As Represented to us" multichoice variable says:
(i) an apple - Yes
(ii) a pear - Yes
(iii) a plum
(iv) a grapefruit
(v) an orange  - Yes
Add another party.
Person 2, second entry into the PartyName dialogbox. "As Represented to us" they say they have:
(i) an apple
(ii) a pearÂ
(iii) a plum - Yes
(iv) a grapefruit
(v) an orange  - No
Until my PartyName would have all people recorded. Let's pretend that number is 5 in this situation.
I would look at the 5 people and I only want to deal with 3 of them based on my own checks which I have completed. E.g. person 2 and 4 are just the wrong people and can't be involved because they don't have an orange.
For the three I want to deal with, I need to show what the verified outcome was.
So for Person 1, it could be: multichoice variable "As Confirmed by Us" this person has (tick what they have):
(i) an apple - No tick. They didn't have the apple they said they had.
(ii) a pear - Yes tick. They do have a pear and they said they had it.
(iii) a plum - Yes tick. They didn't know they have this, but they do.
(iv) a grapefruit - No tick. They don't have this.
(v) an orange. - Yes tick. They do have a this and they said they had it.
I would do this each time for each of the three people I want.
My problem is that I can't get this "As Confirmed by Us" to present correctly in the very last Dialog box because PartyName is a repeat dialog.
What I was wanting in my last dialog was:
A. Filter all the 3 names I want to deal with - ie. people with Oranges.
B. Then show one after the other or even via a next button:
Person 1 Name. Show As Confirmed by Us variable for user to complete.
Person 3 Name Show As Confirmed by Us variable for user to complete..
Person 5. Name. Show As Confirmed by Us variable for user to complete.
This allows me to tick the verified outcome.
What I get is basically: As many iterations of "As Confirmed by Us" as I want. Because I put "As Confirmed By Us" into a repeat dialog. But without a reference to which person. This means there is no way for the user to say: Is this Person 1, 2, 3, 4, or 5? And I only want to show them 3 people, not all five.
I have two different ways of handling this one for HotDocs Classic (11) and one for Advanced.
Classic, create a Multi-Choice variable and populate the options as 1-10, then in the prompt column add <<IF ANSWERED(PartyName[1])>><<PartyName[1]>><<END IF>>, <<IF ANSWERED(PartyName[2])>><<PartyName[2]>><<END IF>> etc. with the [^#] referring to the count of the repeat. Even if you list up to 100 PartyName(s) in this variable, it only shows the ones answered by the user. Easy peasy.
Advanced is ... cute. You can set up a Multi Select Variable with the option source of the Party Repeat, select PartyName as your option label and all of the names will be listed there, the user can then select the ones that relate to "As confirmed by us". In my case currently I'm customizing for appointments to Executors, Representatives etc. I found that I didn't ever want to include the first iteration in Party Repeat as that was going to be the Document Signatory and therefore would not be available for my appointments. So I needed to get cute.
First I set up a Text List Multi Select Variable Executor and selected a Option Source which I called "Parties !DS" - So parties that are not the Document Signatory. Parties !DS is a Record List. I then set up a Computation called Parties !DS Set to populate that Record List like so:
""
CLEAR Parties !DS
REPEAT Party Information
IF COUNTER != DS
ADD [Key:Party Name] TO Parties !DS
END IF
END REPEAT
That seemed to do the trick.
Then I can REPEAT Party Information:::FILTER Executors and it will repeat through my executors if the Party Name matches one of the names selected in Executors.
***Warning 99.9% of HotDocs has been self taught, there may be a much simpler button to hit in there that I have missed in my panic induced state ***
I may be missing some nuances and/or complications here, but I think it's possible that this could all be handled by making the choices in the "As Confirmed by Us" variable just populate dynamically with the relevant parties. I'm assuming that the determination of which parties are relevant is being made in the background, without user input, by examining the values of one or more variables on the party dialog.
This can be a little buggy, but I have used this in the past. I am sure that using a loop to create a new dialog is also available. I suspect that @bart will have a better approach.
Put the "As Confirmed by US" variable within the "PartyName" dialog.
HIDE the "As Confirmed by US" variable within the "PartyName" dialog
Default "As Confirmed by US" this variable to "No"
Create the new repeated dialog, we will call it "AsConfirmedByUsDE". Be sure to uncheck the "Link variables to this dialog" on this dialog and the "PartyName" Dialog.
Put the "As Confirmed by US" variable within the "AsConfirmedByUsDE"
 Put all the other variables that would control when the "AsConfirmedByUsDE" would show or hide within the "AsConfirmedByUsDE"
Within the Script section of the "AsConfirmedByUsDE", I would try the following script.
HIDE ALL
IF (Your Condition that would show the "As Confirmed by US" variable)
SHOW As Confirmed by US
REQUIRE As Confirmed by US
HIDE ALL
END IF
LIMIT (insert a Number Variable that represents the number of iterations of PartyName)
8. I added a LIMIT instruction at the end because this will disable the "Add Another" button at the bottom of the page. You would have to create and set the Number Variable in the custom interview component or in another dialog.
I am sure this could also be done by using loops, but the solution would be more involved. I am unsure how elegant your solution needs to be.