Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Reading the (n)th record from a related table

    Do you not record the fact of the widget being returned in any way?
  3. Reading the (n)th record from a related table

    Hi Comment Thank you again for your help. What I failed to mention too - my apologies - was that there is a HIRE_TYPE and that was a value of DAILY or PERIOD, so if DAILY was used then the HIRE_RETURN was not used. I'm thinking of changing that so both HIRE_OUT and HIRE_RETURN are both populated with the same date with a daily hire so that an empty field definitely means a widget is still out for hire. Much cleaner I suppose. I originally had that method you suggested, but with the way it was recorded (see above) counting the populated fields did not work. Thank you. Greg
  4. Reading the (n)th record from a related table

    How about counting the HIRE::HIRE_OUT values and comparing that to the count of HIRE::HIRE_RETURN? Note that this requires you to fill the HIRE_RETURN field after settling a case of loss, for example. Another option is to do what you said in the title: count the related records (i.e. the HIRE::CLIENT_ID field) and use that to check the value of the HIRE::HIRE_RETURN field in the last record using the GetNthRecord() function (this is assuming your relationship is unsorted).
  5. Good evening, I am looking for some help please - is anybody able to give me a clue as to how I can achieve what I need quicker than what I'm already doing? Description is: Two tables and their fields. CLIENT CLIENT_ID HIRE_STATUS HIRE CLIENT_ID HIRE_OUT HIRE_RETURN They are linked together via a CLIENT_ID field. It's a one-to-many relationship. Any given client can hire a widget. The date they hire it out is HIRE_OUT, and the date it is returned is HIRE_RETURN They may hire it for one day, or they might hire it for several days. They may have hired it a few days ago and as it's not yet returned so whilst the HIRE_OUT data is populated, the HIRE_RETURN date is still empty. What I'm trying to do is to establish from the CLIENT table if a client currently has a widget out. I achieved this in a cumbersome way by: 1. Flicking back to the HIRE table to the related records, 2. Locating the most recent hire entry after having been sorted, 3. Determining if the hire was closed (populated HIRE_RETURN field) 4. Returning to the CLIENT table (layout) and updating the HIRE_STATUS field. Very manual and clumsy - I know. I am looking for the likes of a calculation (or any method really) that will read the most recent HIRE record without having to go to another layout. Is there a function that will allow me to read specific fields, from the last (most recent) record from a related (sorted) table so as to estbalish the current hire status? Any help is appreciated. Thanks, Greg
  6. Filter one portal based on another filtered portal

    The script is only to populate the variables. You then use the variables to filter the portals from the portal setup. A simple way to populate the variables is to increment the global date field by one each time (do this after Freeze Window) and setting a variable to = List ( Jobs::PlantID ) Do this 6 times then reset the global field to what it was. Here's a quick demo: AvailablePlants2.fmp12
  7. Filter one portal based on another filtered portal

    Comment, you have completely got me there. how would 1 go about gathering the list by scripting? Do you have to loop through the records from the plant unassigned table? Or am I thinking this through all wrong?. How do you filter a portal via script? I know I can filter a portal from the portal setup but I am not aware how to do that via script. Sorry to ask so many questions once I get a grip on it I am sure i will be fine. also in one sense the assigned jobs are there I just have to have a way of building the list by looking at the global Date + 1 day, 2 days etc. as the assigned plants come from a relationship with the jobs table based on dates I thought I might be able to tap that information by virtue of the above mentioned criteria. Maybe I am clear as mud again in my explanation if I am I apologise.
  8. Filter one portal based on another filtered portal

    I don't see how you can show unassigned plants for any day without having a list of assigned plants for that day first. So if you want to avoid having to duplicate the entire TOG 6 times, I would move to a scripted solution: populate 6 variables with a list of assigned PlantIDs for each day, then use these to filter 6 portals, all based on a single relationship showing all plants. Run the script on entering the layout and on change of the global date value. With only a few jobs and a fixed amount of plants, this shouldn't be too slow - but of course you need to test this for real in your environment.
  9. Filter one portal based on another filtered portal

    Just the unassigned plant for those days Comment I received a notification from you that does not appear here for some reason you said comment said: I would try converting the last portal to a filtered one, based on a relationship using the x relational operator. Then just add more portals and change the filtering expression. That would save you the need to define 6 global fields and 6 relationships. With only a few jobs per day, and a fixed amount of plants it should be fast enough - but you need to test this for real. I have created a relationship of x from the unassigned plant to a TOC of that. Is that what you meant?
  10. Filter one portal based on another filtered portal

    Do they also want 6 portals showing the jobs for tomorrow, the day after tomorrow, etc.? Or just the unassigned plants for each day?
  11. Filter one portal based on another filtered portal

    Comment, that works perfectly for the given day. I.e. Global Date. My question if you are able to help is applying the same concept to pick up unassigned from the global Date say +1 giving you the next day. In another portal. I think I tried to describe last night that they want for want of a better expression a week view broken up and displayed per day. My thought was 6 portals in "column" 3 each replicating each other except picking up the global +1, +2 etc. thanks again for that work yesterday.
  12. Filemaker Server 16 and Windows 10

    I don't use Windows 10.
  13. Deleting rows leaves button behind

    1. I don't experience that problem. 2. But let's be sure we're clear on what you mean by "delete a record". When you delete a parent (Client) record? When delete one of the Note or Document records?
  14. Deleting rows leaves button behind

    Try giving the portal a name and include a script step to refresh portal. I don't quite know where in your file I'm suppose to see this happen.
  15. Yesterday
  16. Best Filtering Strategy

    Hey Fishtech, It sounds like you've already looked through our documentation, but just incase, I'm going to post a couple links here as a reference (both to relevant parts of the same Advanced Documentation site). If you go with JDBC, you'll end up using custom SQL qualifiers, and for XML you'll be using the customization script. Regarding JDBC v XML performance: http://docs.360works.com/index.php/MirrorSync_advanced_topics#Performance_questions Regarding Customization options: http://docs.360works.com/index.php/MirrorSync_4_advanced_topics#Customizing_MirrorSync In general, we tend to recommend JDBC. However, depending on how complex your filtering gets, JDBC slows down at a faster rate as filtering data requires more and more queries. It's hard to tell exactly at what point one becomes faster than the other, but if it looks like filtering is occurring with several tables, XML may be a safer bet. If you have the time, I'd encourage you to try both. Should you have any further questions, please let us know and feel free to email us direct at support@360works.com. Good luck, Junior Perez, 360Works Support Team
  17. Deleting rows leaves button behind

    I'm a novice, and would love some help. In the attached file, I have portals for notes and documents in an applicant's record. The button above the portal creates a new document record in the new document layout, and I have a 'save' or return button to return to that applicant's record. A button over the portal row takes you to the related record of a document . the button is set to be invisible when the document primary key is empty A delete button in the portal row deletes that portal row. The problem is that when I delete a record the button remains (in an empty row) - when it is pressed, it takes you to an empty record, and then the back buttn doesn't work. After navigating through different records and so on, the button disappears. What have I done wrong? Can anyone help? CLIENT REG.fmp12
  18. Thanks Jesse I will update my script accordingly.
  19. The existence of a record in the MirrorSync table does not necessarily indicate that a sync has occurred. There are two cases that I can think of off-hand where this is not true: 1) If you downloaded a full copy of the database (as opposed to an empty clone), then it is normal for there to be a record where type='hub' and another where type='server' 2) If you downloaded an empty clone, but the first sync failed for some reason, such as a network problem, there will be a record in the MirrorSync table. The safest way to tell if a sync has occurred is to look in the MirrorSync table for a record where type='client' and see if the lastClientToken field is not empty. That would indicate that a sync has occurred.
  20. After some poking, I'm now getting: Which is at least a new error, and makes me think I've messed up somewhere using the function. This is what the code in my script looks like: CCProfileUpdatePayment($APILogin; $TransKey; $CustomerID; $ProfileID; $Card; $Expiry; "zip=" & $Zip) Have I messed up anywhere, or is there anything else that could be causing that error?
  21. Hi, I need to start filtering syncs to prevent some users (not all) from seeing commercially sensitive data. Currently all my remote (MirrorSync) users log in to the solution with the same 'sales' account, and all users get all data. I need to define what to use for $$MIRRORSYNC_USERTOKEN for filtering. Would best practice be to create FM accounts in the solution for each user in the system (I have 3 files and 18 remote users so that would be almost 60 passwords to maintain, and growing), then use the get(accountname) as the $$MIRRORSYNC_USERTOKEN? Or should I build some kind of 'Accounts' table for them to authenticate against after they login, and use a username field from that table? Or is there a better way? Thanks, ft.
  22. San Diego, CA - August 23, 2017 - Productive Computing, Inc., a Platinum member of the FileMaker® Business Alliance, is proud to announce that it is officially an authorized Inuit Reseller. Their sales team can offer discounts on QuickBooks Pro, Premier, Enterprise, and Online licensing. QuickBooks is user-friendly accounting software available for desktop and online deployment. Ideal for small and medium businesses, QuickBooks has multiple licensing and plan options available to fit almost any budget or business requirement. With QuickBooks, businesses are able to manage their accounting at the complexity they desire from simply tracking customers, invoices, and payments to full expense tracking, reporting, and payroll. QuickBooks is a dominant accounting platform and according to Intuit’s most recent quarterly reports, there are currently over 2.8 million customers using QuickBooks worldwide. "We pursued becoming an Intuit authorized reseller because we wanted to make it even easier for our clients to get up and running with FileMaker and QuickBooks integrations. On top of offering the FM Books Connector plug-ins for QuickBooks Desktop or Online integrations, we offer custom development services, FileMaker licensing, and now QuickBooks licensing. Our aim was to create a one-stop shop for the convenience of our clients." Keith Larochelle, Chief Financial Officer, Productive Computing, Inc. Productive Computing's QuickBooks offerings will focus on: - QuickBooks Pro - QuickBooks Premier - QuickBooks Enterprise (Silver, Gold, and Platinum plans) - QuickBooks Online (Simple Start, Essentials, and Plus plans) As an authorized reseller, Productive Computing has the ability to resell any Intuit product, including Point of Sale hardware and software, Intuit Payroll, and QuickBooks Accountant licensing. Clients can get their QuickBooks licensing at a discount and Productive Computing will beat any advertised price. Clients with unique license requirements can contact Productive Computing for custom quotes. Please email sales@productivecomputing.com or call 760-510-1200. Why you should integrate QuickBooks with FileMaker: - Push data directly from your FileMaker app to your QuickBooks file - eliminating double data entry. - Reduce the errors associated with re-keying data in QuickBooks from other applications, PDFs, or paper forms. - Protect your QuickBooks file by using FileMaker as a central location for all customer account information. - Give your employees access to up-to-date customer invoices and balance data so they can operate more efficiently. For more information, please visit: www.productivecomputing.com/QuickBooks-Desktop-Enterprise. Plug-in Integration and FileMaker Pro Support: Want help getting this plug-in professionally installed into your FileMaker solution? Do you have other database enhancements you would like to have programmed? We can help! The process is easy - complete our online Request For Quote form (RFQ) or call us directly at (760) 510-1200 and one of our certified developers can work with you on improving your solution today. About Productive Computing, Inc. Since 1996, Productive Computing, Inc. has been helping its customers become more efficient and profitable by implementing custom software solutions using FileMaker Pro. Utilizing FileMaker Pro as a rapid application development tool, their certified FileMaker developers can create custom applications that a business can run on their Windows or Macintosh desktop computers, in a web browser, on an iPad or iPhone or shared simultaneously on all of these platforms. Productive Computing, Inc. also produces Core4 CRM and Core5 Starter Edition, two off-the-shelf productivity solutions designed to automate your workflow, as well as a suite of FileMaker Pro plug-ins that allow FileMaker Pro to integrate with third-party applications including Outlook, QuickBooks, Apple Contacts and Calendar, PDF forms, digital signatures, and biometric fingerprint scanners. In addition, Productive Computing, Inc. is a full-service FileMaker Pro hosting company. FileMaker hosting services allow customers to host their own FileMaker Pro solutions on Productive Computing servers in the cloud instead of purchasing and supporting the necessary server infrastructure themselves. These same servers also provide the infrastructure for customers who would prefer to subscribe to Productive Computing's Core4, Core5, or Vessel Service Solutions under a SaaS (Software as a Service) pricing model. Productive Computing, Inc. is one of only a few companies in the United States to have earned the highly respected Platinum level membership within the FileMaker Business Alliance and recently won the exclusive FileMaker Business Alliance Partner of the Year award. Productive Computing, Inc. 950 Boardwalk, Suite 205 San Marcos, CA 92078 www.ProductiveComputing.com sales@productivecomputing.com (760) 510-1200 Press Contacts: Productive Computing, Inc. Keith Larochelle (760) 510-1200 # # # ---------------------------------------------------
  23. Finding Webdirect Incompatible Scripts

    There is not (currently) a feature in FMPerception for checking WebDirect compatibility. Generally If I'm trying to do the with FMPerception, I know the kinds of steps I've added that will cause incompatibility. Drilling down through the Standard Script Steps query will allow me to quickly see all the places in the system where I used certain kinds of steps. For now, that's the best option available in FMPerception.
  24. So I am very close to getting my modal custom dialog windows to work with the new window card feature that was introduced in FileMaker 16. I have a script in my database that allows users to type in a list and the script parses out the information and finds the appropriate records in my database. When a record isn't present, a custom dialog pops up and notifies the user that the record is not present in the database. The script works flawlessly with the old show custom dialog and will cycle through every record that is not present...popping up a custom dialog for each one. However, using the new window card feature...it is only popping up the first record that is not present and stops there. If I have multiple records that do not exist, the new window card feature fails to cycle through them. Trying to figure out if I am missing a step between how the custom dialog window and the new window card feature commit data? Here is the script using the show custom dialog method: Close Window [ Name: "Multiple Shot Find" ] Set Error Capture [ On ] Set Variable [ $Selects; Value:VFX Counts::VFXCounts_ShotFind ] Go to Layout [ original layout ] Adjust Window [ Hide ] Go to Record/Request/Page [ First ] Set Variable [ $R; Value:Get ( FoundCount ) ] Omit Multiple Records [ $R ] [ No dialog ] Set Variable [ $i ; Value: 1 ] Loop Set Variable [ $Select; Value:GetValue ( $Selects ; $i ) ] Exit Loop If [ $Select = "" ] Enter Find Mode [ ] Set Field [ VFX Counts::VFXCounts_ShotNumber; VFX Counts::VFXCounts_ShotFindRange & $Select ] Extend Found Set [ ] If [ Get ( LastError ) ≠ 0 ] Show Custom Dialog [ Title: "Warning"; Message: $Select & ¶ & "This is currently not a shot, please check the spelling."; Default Button: “OK”, Commit: “Yes” ] End If Set Variable [ $i ; Value: $i+1 ] End Loop Perform Script [ "Go to VFX Counts" ] Adjust Window [ Restore ] And here is the new window card method: Close Window [ Name: "Multiple Shot Find" ] Set Error Capture [ On ] Set Variable [ $Selects; Value:VFX Counts::VFXCounts_ShotFind ] Go to Layout [ original layout ] Go to Record/Request/Page [ First ] Set Variable [ $R; Value:Get ( FoundCount ) ] Omit Multiple Records [ $R ] [ No dialog ] Set Variable [ $i; Value:1 ] Loop Set Variable [ $Select; Value:GetValue ( $Selects ; $i ) ] Exit Loop If [ $Select = "" ] Enter Find Mode [ ] Set Field [ VFX Counts::VFXCounts_ShotNumber; VFX Counts::VFXCounts_ShotFindRange & $Select ] Extend Found Set [ ] If [ Get ( LastError ) ≠ 0 ] Go to Layout [ “VFX Counts” (VFX Counts) ] Perform Script [ “Dialogue Script”; Parameter: "WARNING|" & TextSize( TextFont( TextColor ( $Select; RGB( 51 ; 153 ; 204 ) ); "Arial" ) ; 24) & ¶ & ¶ & "This is currently not a shot, please check the spelling.|OK" ] If [ $$ButtonResult = 1 ] Commit Records/Requests [ With Dialog: Off ] End If End If Set Variable [ $i ; Value: $i+1 ] End Loop Go to layout [ "VFX Counts" (VFX Counts) ; Animation: None ] Anyone have any thoughts as to what I am doing wrong?
  25. Hey there, Can you try prefixing the last 4 credit card digits with "XXXX" when you run CCProfileUpdatePayment. So when updating, say the last 4 digits are 1234, try putting "XXXX1234" into the field. If that doesn't work, please us know and we can continue troubleshooting on our end. The APIs we have available are somewhat constricting given all the security features, but there may be a way we can streamline this process without customers having to resort to going back and forth with the merchants to update credit card information. Thanks for bringing this up, Junior Perez 360Works Support Member, 770.234.9293
  26. Find and delete a word in a paragraph

    I don't think we can recommend a specific book, there are some variables we don't know, such as your skills. I would recommend that you check out the book stores near you, or go online to ecampus.com Barnes and Noble Amazon.com You can download the Sessions Material from DevCons 2017, this session https://community.filemaker.com/docs/8302 has a video here https://www.youtube.com/watch?v=8Ts9P95CbRY&feature=youtu.be that you may find helpful. I can recommend some Training Sites that offer sessions on scripting and a lot more. HTH Lee
  27. I'm running Plastic 2.33 using Authorize.net and running into an issue with updating profiles. A customer will change their billing address (or, occasionally, they'll give us a new expiry for an unchanged credit card). I'll enter this in my FileMaker database and run a script using CCProfileUpdatePayment. However, since we only store the last four digits of the card on our system, the card number passed into CCProfileUpdatePayment is invalid. We'll get an error and the profile will not update. But I can't not update the card number, or I get an "invalid number of arguments for function" error when editing the script. And there's no way to get the full credit card number back from Authorize.net once you've entered it (because it's not secure -- fair enough). I end up having to hand-update profiles like this on Authorize.net, which isn't a dealbreaker, but it is a bit of a bloody nuisance. Is there a workaround? I'm aware there is a new version of Plastic but I was hoping to put off installing it until our downtime, and I don't know whether this particular issue would be fixed by the new version. Thanks!
  1. Load more activity

Important Information

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