Prompter issues since 5.3.8 (973)

Viewing 10 reply threads
  • Author
    Posts
  • December 14, 2019 at 3:10 PM #38711

    Marcus
    Participant

    Hi,

    having issues since 5.3.8 (973) on iOS (iPhone):

    I am in the record edit view, calling the script below with Prompter, it returns ‚undefined‘, but the field has a value:

    
    function Test(){
    
    var res = record.getFieldValue('fld-6f8227dc16204bd19dfb062a3dec8dc8');
    
    Utils.alertWithMessage('Test', res);
    
    }
    
    var Note;
    
    let prompter = Prompter.new();
    prompter.addParameter('Note ?', 'Note', 'popup', ['Test 1', 'Test 2', 'Test 3'])
    
    .show('Message prompt', Test);
    

    By executing without prompter I get the correct field value.

    function Test(){
    
    var res = record.getFieldValue('fld-6f8227dc16204bd19dfb062a3dec8dc8');
    
    Utils.alertWithMessage('Test', res);
    
    }
    
    Test();

    I don‘t believe my script is wrong because it worked as expected in the past.

    December 14, 2019 at 6:59 PM #38717

    Sam Moffatt
    Participant

    Does record.getId() change between the main script and the async prompter callback?

    December 15, 2019 at 12:38 AM #38722

    Marcus
    Participant

    No, the ID doesn‘t change.

    December 15, 2019 at 8:05 PM #38749

    Sam Moffatt
    Participant

    I tried to do something to see if I could play with it but I ended up with it not even displaying a prompter on iOS 973 whilst it works perfectly fine on the desktop (2108).

    December 15, 2019 at 9:51 PM #38755

    Sam Moffatt
    Participant

    Copy of the script:

    var clipboard = Utils.copyTextFromClipboard();
    
    if (clipboard)
    {
    	clipboard = clipboard.split("\n")[0];
    }
    
    var tracking_number_id = 'fld-c487390743c947969cbe661cff596855';
    var received_date_id = 'fld-e3e3539ee04f4cc7971c7098c572104d';
    var confirmed_id = 'fld-2adb9ba8cdd048bbbb614d46b415ada5';
    var alternate_tracking_numbers_id = 'fld-cf8718051bea4cc2aba0069ae76f32b7';
    var alternate_tracking_number_id = 'fld-7342203d8f36415191bf8419fb6f70dc';
    
    var callbackFunction = function(continued) {
    	if (continued)
    	{
    		let newRecord = form.addNewRecord();
    		newRecord.setFieldValue(tracking_number_id, clipboard);
    		newRecord.setFieldValue(received_date_id, new Date());
    		newRecord.setFieldValue(confirmed_id, true);
    		document.saveAllChanges();
    	}
    };
    
    function findRecord()
    {
    	var targetRecord = null;
    	MainLoop:
    	for(candidateRecord of form.getRecords())
    	{
    		if (clipboard == candidateRecord.getFieldValue(tracking_number_id))
    		{
    			targetRecord = candidateRecord;
    			break MainLoop;
    		}
    		
    		
    		for (alternateRecord of candidateRecord.getFieldValue(alternate_tracking_numbers_id))
    		{
    			if (clipboard == alternateRecord.getFieldValue(alternate_tracking_number_id))
    			{
    				targetRecord = candidateRecord;
    				break MainLoop;
    			}
    		}
    	}
    	
    	if (targetRecord)
    	{
    		targetRecord.setFieldValue(received_date_id, new Date());
    		targetRecord.setFieldValue(confirmed_id, true);
    		document.saveAllChanges();
    form.selectRecord(targetRecord);
    		return "Updated existing record for " + clipboard;
    	}
    	else
    	{
    		let prompter = Prompter.new();
    		prompter.cancelButtonTitle = 'No thanks';
    		prompter.continueButtonTitle = 'Create record';
    		prompter.show("Unable to find matching record for " + clipboard, callbackFunction);
    		return "Unable to find matching record for " + clipboard;
    	}
    }
    
    findRecord();
    
    December 16, 2019 at 2:46 AM #38780

    Marcus
    Participant

    Did you execute your script from the “script edit” mode ?
    From there Prompter did not show anything for me since I’m using it…

    I my case the Prompter appears from the list or record edit view, but eg. getFieldValue returns “undefined”

    December 16, 2019 at 3:25 AM #38788

    Brendan
    Keymaster

    Can you post your form template so I can investigate? Or email it to me if you prefer.

    December 16, 2019 at 3:28 AM #38789

    Brendan
    Keymaster

    Actually, it seems like the Prompter isn’t working from the Script Editor. But it does work when you run it from the list of Form Scripts.

    December 16, 2019 at 3:46 AM #38793

    Brendan
    Keymaster

    I’ve fixed this for the next update.

    December 17, 2019 at 9:30 AM #38811

    Marcus
    Participant

    Thanks ?

    December 17, 2019 at 9:37 PM #38826

    Sam Moffatt
    Participant

    Works for me too, thanks!

Viewing 10 reply threads

You must be logged in to reply to this topic.