Jump to content

Greenman

Members
  • Posts

    53
  • Joined

  • Last visited

Everything posted by Greenman

  1. comment - Thank you for your reply. You're right. The question is about a relationship, but the end goal is presentation layer information based on a calculation and a relationship. While in the layout for table 'Outlook Contacts Cache', I want a calculation field to give me a record count of the contacts that exist without an ID. The expression 'Count ()' will not accept an expression in place of a field thus: 'Count ( IsEmpty( Outlook Contacts Cache::ID) )'. If I had a self-referring relationship that could include calculations, like the above, I could use 'Count (OL New Contacts::ID)' in the calc field. I could script this into a global field, but I can better base button availability and conditional formatting on a calc field. If there are new contacts, I can 'light up' the 'View New' button so that users can easily see there are new contacts to import into filemaker from the table 'Outlook Contacts Cache'.
  2. I have a table with a list of cached incoming contacts, all in various user accounts. I want to make a relationship that refers the table to itself to get a portal list of contacts without assigned unique FM ID's like so: Of course, this isn't possible, but it would be nice. Yes, this could be done using a find, but I'm trying to save some steps if possible. From there, I'd add a calculated foundcount() field based on the related records to decide which options to show or hide. Ideas?
  3. I think I'm going to try an MD5 hash based on all field relevant field data along with modified dates.
  4. FMPro 2011 Advanced Outlook 2007 I have contacts in outlook that I want to sync with Filemaker. I'm using Productive Computing's Outlook Manipulator. Technically, the plugin is capable of push-to, pull-from, or delete-from outlook and is not actually a syncing tool. I'd like to set up some fields that will help me sync Outlook with FMPro. If Outlook as been modifed since the last sync, I want to pull from Outlook. Likewise if Filemaker has been modified while outlook's version has not, I want to push to Outlook. If both have been modified since the last sync, I want to flag the contact in FM as conflicted so I can parse it manually. I know I'll have to use timestamps, but I'm not exactly sure how I'll know that the contact has changed in Outlook. I'd be grateful for any example strategies for two-way syncing between outlook and filemaker.
  5. Wow, I thought I'd reported back on this. It's a little late but it worked well. Better late than never. Thanks for the tip.
  6. I know this is reviving an old thread, but given the explosive growth of android use, I'm not sure FMI can litterally afford to continue to ignore the android platform. At some point, it will not be economically sensible to keep that many potential customers from buying their product. Same with Bento. Someone else will fill the gap, if they don't.
  7. comment, Again, thank you. I have been able to understand better the above example and have glanced cursorily at Portal2Portal.fp7. I have been able to partially get the pulldown list to work for my user interest list but have a couple of weird things going on: 1. If there are no existing interests listed for a user, the pulldown list does not show at all. 2. If there are as few as one existing interest(s) in the portal listing, the drop-down list shows and populates with the correct interests, but after accepting an answer or leaving the field, FM addes the portal record, but gives an error saying the script has been deleted: "This script cannot be found or has been deleted." I added one script similar to the one in your example. There are no other scripts, so I don't know why it's saying that. Lastly, I'm curious why the last line of the calculation field must be "-.1".
  8. Hi comment, Thanks once again for your advice. I'm not sure I understand how this applies. When I look at my interest list, the values only 'dwindle' per user and can be added back again later. Every user has an equal opportunity to acquire any listed interest. When I navigate to the bowels of the value list, I see these two options: "Include all values" which gives me all the items listed in the interests list, and "Include only related values starting from: <interest | user>" If I check 'starting from user' I get a value list that pulls down for joe as 'ecology' and 'elephants'. For bob, it's 'ecology' and 'economy'. Likewise, for millie, it's 'ecology' and 'economy'. I'm looking for every thing but those, so maybe I'm looking for what would be equivalent to "Exclude only related values starting from: user" In the PortalToPortal2 dwindle example, once the items are 'removed', they cannot reappear again in the parts list. Also, it looks like this solution may require a second portal in order to populate the first portal. If I can avoid that kind of screen-real-estate take-over, I'd rather use a pulldown menu populated by the interest value list. I am probably missing something, so if I am, I'd be grateful for any clarification.
  9. Tables: user: uid, name 1, joe 2, bob 3, millie interests: item_id, interest_id, uid, where uid is associated with user::uid 1, 1, 2 2, 1, 3 3, 1, 1 4, 2, 2 5, 2, 3 6, 3, 1 7, 3, 1 interest_list: interest_id, interest_name, where interest_id is associated with interests::interest_id 1, ecology 2, economy 3, elephants I have a portal that uses the interest_list table as a value list using a standard pulldown menu to add new interests to each user and a delete button to remove them as necessary. The portal works as predicted, but I can add any interest more than once. I'd like to make it so there are no duplicate interests listed for each user. So 'joe' can only be associated with 'elephants' once. I'm guessing this should either be done using a script trigger to OnObjectValidate or there should be tweak in my value list that only allows unassociated items for that user to show up in the pulldown. What's the easiest way to accomplish this in FMPro? Here's my example file: example_interests_list.zip
  10. Thanks! I'll give it a shot and report back. Again, Cheers!
  11. Small mess to clean up: I have two street address fields: street_1 and street_2. However, there are times when 2 street lines haven't been enough. Users have added two lines of text separated by hard return to either street_1 or street_2 indescriminately. (Unfortunately.) I need to find those fields with hard returns in them, and create new fields new_street_1, new_street_2 and new_street_3 based on the original street fields without damaging the original data so I can clean it up reliably. What script operation will work best to accomplish this goal? Is there a better way?
  12. (This is the closest sub-forum I could find to match my query. I'm asking here, because I'm talking about standard FMPro 11 -- not using it via the web interface.) I'd like to be able to paste number of lines of text into a notes field and then be able to click on urls randomly interspersed within the field and have the links go somewhere live. Is there a key command combination or a plugin that will allow me to do this? So far, the only way I've been able to find for making FMPro link to the web is by creating a button with that function.
  13. I found my answers. a. The limited user logs in each time a server-automated script starts and logs out after the script ends. b. The timestamp is set to the time of the user's local computer, regardless of server time. So if the user is logged in at the server, the timestamp is that of the server's local time. c. If there is a start script, the limited user does use the script. Likewise with the end script. d. Some script-steps are off-limits to server automation, so if the opening and closing scripts include any of the offending scripts, it could destabilize the server. Since my opening script contained the 'Adjust Window' script step on the first line, nothing would work. (See red arrow in image below.) I set this up at the beginning of the opening script, and similarly at the beginning of the closing script. The 'Go to Layout' and 'Set Field' are unnecessary, set here just to confirm that the opening and closing scripts are indeed called during script automation. (See image below.) If[Get(AccountName) = "cron"] Go to Layout ["Globals"(Globals)] Set Field [Globals::script_check_step_1; 1] Exit Script[] End If I also checked for script step server compatibility in all my other scripts. (See circled 'Show Compatibility' in image below.)
  14. Since I've not received a reply, I've created a table and layout with one record that will be used to store the number '1' as a boolean for several fields 'script_step_1' through 'script_step_6' for various steps along the way. The opening script sets a value of one in field 'script_step_1' immediately upon logging in if the user name is cron and the opening script is activated. Likewise the closing script step stores a value of 1 in field 'script_step_2'. The 'run_on_cron' script that is automated via the server and user cron has a beginning and ending portion that sets 'script_step_3' and 'script_step_4'. A script called by script 'run_on_cron' is similarly set to store a 1 in fields 'script_step_5' and 'script_step_6'. Hopefully tonight I'll get an answer as to whether the opening and closing scripts are activated when the server automates a script and whether portions of my automated script and the script it refers to are not working. Meanwhile if anyone has insight, I'll be glad to hear it. Edit: I've also added a time-in and time-out field so I know what time the script is activated. The below example shows what happens when I run it from my machine instead of automated from the server. All steps are accounted for, and the time it happens is logged. I expect some or all of these to be likewise filled when the server automates script 'run_on_cron' tonight. Wish me luck!
  15. I have a server-automated script that runs once a night at 11:08 PM central time called 'run_on_cron'. The limited user 'cron' that runs this script has access to several necessary layouts and other scripts. When user 'cron' runs the script, is user cron already logged in, or does cron log in just to run the script and then log off? I have a default log-in script 'Opening Script' and log-out script 'Closing Script'. User cron has access to these scripts. Do they run automatically when the server logs on user cron, or are these scripts bypassed during server-automated scripts? I created a script 'insert current timestamp' that inserts into a field. When I'm logged in as my full-access user on the east coast, it puts the timestamp in the field to match that of my computer. "6/30/2011 1:10:46 PM" But timestamps are supposed to be universal, right? Is the timestamp that gets set a reflection the time of the server or the time of my computer? Or is there some undescribed function that translates some unseen 'raw' timestamp to whatever my local time is when it's viewed in the field on a layout?
  16. Okay here's something weird... When I run this script as the user 'cron' - a limited user - from my computer it works. When I run this script as user cron from the server set to run at 12:08 AM, it doesn't. Script Debugger shows Error 101, (Record is missing) but the one found record is plainly visible when it runs and an email is sent. I can only guess that it stops for some misunderstood reason when run by the server. I'm confused because it works for me as the limited user, but not when the server automatically calls the limited user to do the same. < mumbling many swear-words under breath... >
  17. Ah - so you like being able to see directly from within your script step dialog exactly what's being found. You're right -- it is a style preference thing. Thanks for clarifying.
  18. Thanks for the hint about Set Error Capture Off. I have often used the find-mode/set-field method, but have recently found that sometimes I like being able to specify using restore. It can be quite precise. These two dialog boxes make it pretty easy: In the first dialog box above, I get to add as many consecutive finds as I like, including, as you can see, an omit. The second dialog box allows me to specify exactly what this part of the find should do, including variables I've set earlier in my script! That can be awfully convenient.
  19. Thanks! You got me going in the right direction. Definitely helps to specify the layout first. And thanks for confirming that 'else show all records' was unnecessary. I suspected it wasn't. The finished script: Go to Layout ["Task List" (Tasks)] Set Error Capture [On] Perform Find [Restore] If [Get(LastError) = 0] Go to Record/Request/Page[First] Loop ... do stuff ... Go to Record/Request/Page[Next; Exit after Last] End LoopEnd if Set Error Capture [Off]
  20. I have a script set to run daily at midnight. It emails me only if there are tasks due in exactly 14 days. I have the script set to find unfinished tasks with today's date + 14. It works fine if there is something to be found. Perform Find [Restore] If [Get(FoundCount) ≠ 0] Go to Record/Request/Page[First] Loop ... do stuff ... Go to Record/Request/Page[Next; Exit after Last] End LoopElse Show all Records End if When I run it as a normal user and the found set is empty, it asks me if I want to 'modify or continue'. I don't see a way to automate 'continue' when the script is running automated from the server. Am I missing something?
  21. FMP 11 Advanced FMP 10 Server I'm interested in using this plugin, but before I get too deep into it, I'd like to know if this might be free or steeply-discounted for 501c3 non-profits. We are using shared/hosted server.
  22. Thank you! Actually, I'd already set up the buttons to use navigation scripts. With either method, if you change the physical placement of buttons on one layout, you still end up having to redo all layouts. It would be nice if there were a global header/footer 'template' that could be made to show/hide depending on roles, permissions, layout, etc. I guess we're not there yet. Thank you for helping though.
  23. Again - Thanks! This partly solves my needs. However, some of my navigation uses scripts that automate some housekeeping before getting to the actual layout. I do not see a way to "show donations made in the last thirty days", for instance.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.