October 31, 200520 yr Newbies I've been developing in FMP and FMP Server, for 2 years now. I recently acquired FMP Server 8, and for the first time I'm facing a problem that is totally mind boggling. The solution seems to be working flawlessly, when using FileMaker Network sharing. Once the file is loaded in FMP Server 8, some globals do not hold their value. Most of them, no problem. Other totally lose their value. I had never encountered this problem with FMP Server 7.
October 31, 200520 yr are they losing their values during a session, or just not keeping the default value set for the file in single user mode?
October 31, 200520 yr Author Newbies The globals are set as calculations. global1 = Get(AccountName) global2 = 1 Then I use globals to store graphics for the interface. Here is an example of a value: Let( [ n = Get(CalculationRepetitionNumber); img = Extend( TabGraphics ) ]; Case( Extend ( gNavID ) = n; img; GetRepetition ( img ; 2 ) ) ) //gNavID is set with a script
October 31, 200520 yr When a file is served by FMS, changes to globals are never saved to a file (think of them as read-only). When non-server FM closes a file, the values of the globals are saved to the file (the values are the opening user's values, any changes networked users make will be ignored). The graphics need to be put into their global fields while using non-server FM, then they'll be available to anyone when the file is hosted by FMS. Did I answer the right question?
November 1, 200520 yr Only "bug" i've found is that Global Calculations sometimes don't update their value when you create them. You have to close and re-open the file for the value to start showing up.
November 9, 200520 yr Newbies This just answered a question (I think) I was about to ask along the same lines with FM Server 7. I'm keeeping some standard letters as globals and i guess i need to open the files as single user, enter the data and then reopen using server. Guess I also need to rethink storing them as globals as there is no advantage - I may as well just go into the layout and edit them for my client rather than pulling the server down and opening as single user. Am I overlooking a simple way of storing standard letters? I need to give certain users the ability to edit them without going into the layouts. TIA
November 9, 200520 yr Am I overlooking a simple way of storing standard letters? Just put them into regular text fields in different records in a table. From there you can do a number of things with the templates. Steven
November 9, 200520 yr Two ways: store them in a single record table as individual fields, or store them in a table as individual records. In both cases the fields are not global, so when changed they'll be immediately available to all users. If they're in a their own table, it'll be easier to limit edit access based on account privileges. Not sure what you mean by "without going into the layouts". The user will have to go to some layout with the letter's field on it to edit the letter using formatted text.
November 9, 200520 yr If a letter is specific to each contact, then a table of related Letters might be best, where the letter body is edited in a normal text field. If each letter is to be sent to a group of contacts, and you need the name and address info to be inserted into the letter body, then a merge technique can be used. There are a few ways to do merge letters in FMP, including a mail merge through MS Word, a nested substitute to swap out merge text with field values, and a custom function to replace merge text with field values. Attached is a demo of a technique using my FieldSubstitute() custom function. The letter text is stored in one table, and available contacts can be assigned to each. Then when it's time to print, the names and addresses are substituted into the letter. If you don't have FM7 Developer or FM8 Advanced, then a similar result can be accomplished using nested substitute() functions. MergeLetters.fp7.zip
Create an account or sign in to comment