Tap Forms app icon half
Tap Forms Forum text image
Blue gradient background

Exchange tips and ideas with the Tap Forms community

Search Results for 'script'

Viewing 15 results - 931 through 945 (of 2,989 total)
  • Author
    Search Results
  • #47004
    Ricard Casals
    Participant

    Brendan, I reviewed the script I had and the file’s url and now everything works! – Something a small thing that wasn’t ok: a space in the url?, not enabled TF5 script folder preference? I have to be very careful about these little details in the code and the data it carries!
    Thanks again for your patience and dedication!
    By the way, the last line “document.saveAllChanges ();” is equivalent to “form.saveAllChanges ();”?
    Ricard

    #46996
    Brendan
    Keymaster

    Hi Gary,

    Yes there is.

    What you want to do is make a Form Script that you run at the time you select the previous record and have the script make the new record for you and then copy all the values over to the new record from the selected record and then have Tap Forms select the new record.

    On the Template Exchange forum there’s a Mileage Tracker form I posted which does exactly this.

    Mileage Tracker (Tap Forms 5.3)

    So basically you’re defining what the previous record is by first selecting it. Then when the script runs, it gets that data and copies it to the new record. Now you can modify the new record any way you like. You don’t need to first make a new record by clicking the + button. Just select the old record and run the script.

    Hope that makes sense.

    Thanks,

    Brendan

    • This reply was modified 3 years, 10 months ago by Brendan.
    #46995
    Brendan
    Keymaster

    So Daniel emailed me about this thread. Sorry I missed it before.

    At first I thought, damn, my code isn’t working.

    But then when I dug into it more, it turns out it is working.

    There are a couple of things you need to do though.

    1. Make sure the source files you want to make aliases for are accessible to the Scripting engine by setting the Script Folder on the Preferences window. Without this, Tap Forms won’t be able to read the file for it to make a bookmark/alias for.

    2. Make sure you URL encode the URL string you’re trying to make an alias for. The only problem with this is you’ll get the encoding in the filename on the File Attachments field.

    I’ve just added code to URL encode the provided URL and that avoids that problem. But either will work then.

    Here’s a sample that worked for me in the existing version:

    function Add_Alias() {
    
    	var file_attachment_id = 'fld-36eea6e880d14959b2e002b8f9b060b8';
    	var url = "file:///Users/brendan/Desktop/All%20Wines.csv";
    	record.addFileFromUrlToField(url, file_attachment_id, {"alias" : true});
    	document.saveAllChanges();
    }
    
    Add_Alias();

    and when I release the next update, this will work:

    function Add_Alias() {
    
    	var file_attachment_id = 'fld-36eea6e880d14959b2e002b8f9b060b8';
    	var url = "file:///Users/brendan/Desktop/All Wines.csv";
    	record.addFileFromUrlToField(url, file_attachment_id, {"alias" : true});
    	document.saveAllChanges();
    }
    
    Add_Alias();

    Only the All Wines.csv file is different. But if your files don’t have any spaces or special characters in them, then you should be fine as is.

    Thanks,

    Brendan

    #46988

    In reply to: Script on a Field

    Daniel Leu
    Participant

    I added a dummy var number = record.getFieldValue(field2_id); and now the field script gets executed upon a value change.

    Cheers, Daniel

    ---
    See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricks

    #46987

    In reply to: Script on a Field

    Bernie McGuire
    Participant

    My script.
    function Total1() {

    var field2_id = ‘fld-1e5045dd497f4359a0a98b5bbc010059’;

    var total = form.getTotalOfField(field2_id);
    var total2_id = ‘fld-737e46579abc42b0a42dafb6f06b0bf8’;
    record.setFieldValue(total2_id,total);;
    form.saveAllChanges();
    document.saveAllChanges();
    return total;

    }

    Total1();

    #46986

    In reply to: Script on a Field

    Daniel Leu
    Participant

    Maybe sharing your script?

    Cheers, Daniel

    ---
    See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricks

    #46984

    In reply to: Script on a Field

    Daniel Leu
    Participant

    It looks like your script is not triggered. This might be due to using field.getId(). I would try this: in the script editor, click on the icon between ‘fx’ and ‘ABC’, select field_id, then click on your variable. This will provide you with the id definition that Tf uses to determine when to trigger a field script.

    Hope this helps!

    Cheers, Daniel

    ---
    See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricks

    #46983

    Topic: Script on a Field

    in forum Script Talk
    Bernie McGuire
    Participant

    Hello All. Im new to Tap Forms but am an experienced software developer. I can not get a script attached to a fied to execute. I put the same script at the form level and it executes perfectly when I click ‘run script’ Im using iOS on iPhone 13 latest OS and V5 of Tap Forms
    Simple Form
    Field1 Text
    Fiedl2 number
    Total1 -Script field
    Total2 Number (to hold the calculated total)

    I have the script attached to Total1.
    Basically gets the Field ID of Field2 (using the getID from the field list dialogue), does a var total = form.getTotalAllFields(field2_id) ,
    does, setFieldValud(total2_id,total), I have both form.saveAllChanges and document.saveAllChanges. I also return total from the function.
    As I mention this script runs perfect from the form object.

    I know there is a simple answer but I can not figure it out. I have tried all the suggestions I have found but none are working for me.
    Thanks for any help.

    #46977
    Ricard Casals
    Participant

    Daniel, yes, you’re right, this script is too inelegant and ineffective to be useful to anyone but me. I’ve shown it almost as a curiosity while we wait for the right way to do it.

    Other than that, thanks again!

    #46976
    Daniel Leu
    Participant

    Wow, this is scary….

    >click button 4 of UI element 2 of row 4 of table 1 of scroll area 2 of splitter group 1 of splitter group 1 of window 1
    >click text field 1 of UI element 1 of row 2 of outline 1 of scroll area 1 of splitter group 1 of splitter group 1 of sheet 1 of window 1
    >click button 3 of sheet 1 of window 1

    I would not want to maintain this, at least with your comments it is a bit easier! It is great that you have found a way to automate attaching a file as an alias.

    Once the record.addFileFromUrlToField() issue is fixed, you can call the Tapforms’ script interface using tapformz://script/db-xxxx/frm-xxxx/Test+Script?option1=A&option2=B.

    Cheers, Daniel

    ---
    See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricks

    #46975
    Ricard Casals
    Participant

    This is a very simple (and primitiv?) Applescript to attempt to add a single photo alias to a ‘File Attachment’ field on a single record.
    The next step will be an automated ‘repeat with’ from a list of photos to a bunch of records in Tap Forms.
    Waiting for a better and cleaner solution with an script in Tap Forms.
    With this code, it works to assign a single alias to a single field. It’s a small thing, yes, just to keep going and learning!


    -- 220310B - 'TF_AS3' (WIP)
    -- NOTE: the 'POSIX file' depends on your own photo folder path.
    -- NOTE: the value of 'row 4' (in the first 'click button' line) depens on the 'File Attachment' field position.
    -- NOTE: the parameters of 'click text field…' line and 'click button 3 of sheet…' depends on the own photos path, obviously.
    set f to POSIX file "/Users/ricardcasalsalexandri/Desktop/fotos-test-2/19770101.JPG"
    set sourceFile to f
    tell application "Finder"
    activate application "Tap Forms 5"
    tell application "System Events" to tell process "Tap Forms 5"
    click button 4 of UI element 2 of row 4 of table 1 of scroll area 2 of splitter group 1 of splitter group 1 of window 1
    click text field 1 of UI element 1 of row 2 of outline 1 of scroll area 1 of splitter group 1 of splitter group 1 of sheet 1 of window 1
    click button 3 of sheet 1 of window 1
    end tell
    end tell

    (I tried to attach the script – also as a zip – but I can’t figure it out)

    #46959
    Ricard Casals
    Participant

    First of all, thank you for this excellent program.
    I have a form with a lot of records: 10 years, day by day, one photo per day. At the moment I prefer that the images are outside of Tap Forms, and now they are, as an alias, in a “web-website” field.
    I’m new to Javascript and I’m trying – probably wrongly – to copy the link in the “web-website” field to a “File-Attachment” field, with this script, trying in 2 ways:


    function CC1 () {
    // Get image-link-from-web-field
    let image_id = 'fld-8f9c8612cbc04ebfb422576213cebf74';
    let image_link = record.getFieldValue (image_id);

    // way A - Copy to file-attach-field-as an alias
    record.addFileFromUrlToField (image_link, 'fld-05f12a9a7da74079b354a02e7c5bb305');

    // way B - Copy to file-attach-field-as an alias
    //record.setFieldValue('fld-05f12a9a7da74079b354a02e7c5bb305 ', image_link);

    form.saveAllChanges ();
    }
    CC1 ();

    What am I trying to do is possible? Or should it be done manually by clicking “Add File Alias”icon?

    Thanks a lot! Ricard Casals

    #46945
    Daniel Leu
    Participant

    Or maybe use a field script that uses record.getRecordColor():

    function RecordColor() {
    	return record.getRecordColor()
    }
    
    RecordColor();

    Now you have a hex value that you can search on.

    Cheers, Daniel

    ---
    See https://lab.danielleu.com/tapformspro/ for scripts and tips&tricks

    #46925
    Ray Robillard
    Participant

    I have an iMac and a Macbook. Something went wrong in my database a couple of months ago and I only noticed it this morning. A form with scripts had been erased. Anyway, I had a backup and was able to restore it on my iMac.

    But before proceeding, I inactivated syncing, deleted the iCloud syncing data from my iMac. Turned off syncing on my Macbook too (from Tapforms) and deleted the local copy.

    At this point, my database is on my iMac. I re-enabled syncing. I saw that the last upload date and time was corresponding to when I re-enabled syncing, after a couple minutes. So, on iCloud, it would seem that all is good.

    On my Macbook, my database won’t sync fully. When I launched Tapforms, my database appeared with a cloud sync icon. When I try to open it, it shows an empty database. I’ve been patient, waited a long time, closed the database and waited, but the file never goes over 2.6 mb in the Finder. The real file size is 154 mb (or close to).

    What else can I do to get my database from my iMac to my Macbook.

    Note : I know the database is on iCloud sync because on Tapforms for iPhone, the database is all there, up to date.

    Thanks,

    Ray

    #46915
    John McArthur
    Participant

    Hi Daniel,

    Your script works perfectly and changes the colour of the record index listings.
    However, I would like only to change a specific field within the record layout.
    Sorry for not making myself clear.
    I have potentially 2 people in one record, ie Mr & Mrs, so I would only like to amend their specific ‘name’ entries to black/yellow if one of them passes away.
    Is it possible to amend the colours of a specific fields background & text?

    Many thanks

Viewing 15 results - 931 through 945 (of 2,989 total)