Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Expected end of line but found “"” When Opening/Editing a Script

Featured Replies

  • Newbies

I am trying to edit a working AppleScript but when I try to save the changes, I get:

Expected end of line but found “"”

I took the script and dumped it into my AppleScript Editor and it compiles just fine and like I said, this script is running in a FM 10 database app just fine.

So, I cancel out and reopen for editing and hit OK and even without changing anything, I get the same error:

Expected end of line but found “"”

The application was created in FileMaker 10 and I am trying to edit the script with FileMaker Pro Advanced 11, in case that matters.

Not sure what to try next...

Here is the complete script:

-- Calculate_Inventory_Product_Count

-- script "update inventory PO and Beginning Quantity"

--this should only run out of the Inventory table

set theDatabaseName to "F&B POs"

set theCellName to "Product ID"

--set theInventoryID to 18

tell application "FileMaker Pro"

set theInventoryID to contents of cell "ID" of current record -- must be an inventory record

tell database theDatabaseName

--get the intended previous inventory record

show layout "Inventory - All Quantities"

show every record

set theStartDates to field "DateCounted" of table "Inventory"

set theChosenStartDates to choose from list theStartDates with prompt "Choose a previous inventory date:"

set theStartDate to item 1 of theChosenStartDates

--get the id of the chosen inventory record

show (every record of table "Inventory" whose cell "DateCounted" = theStartDate)

copy cell "ID" of current record to thePriorID

show (every record of table "Inventory" whose cell "ID" = theInventoryID)

set cell "Previous Inventory Date" of current record to theStartDate

copy cell "DateCounted" of current record to theEndDate

show layout "Inventory Products"

show (every record of table "Inventory Products" whose cell "Inventory ID" = theInventoryID)

end tell

set theProductIDs to field "Product ID"

set ProductCount to the count of items in theProductIDs

set ProductCount to the count of record of document theDatabaseName -- use found set

tell document theDatabaseName -- use found set

set totalQuantity to 0

set totalMissed to 0

set noPOfound to 0

repeat with x from 1 to ProductCount

--lookup the prior count for this product in the related record refered to by the inventory record

--copy cell "Product ID" of record x of table "Inventory Products" to theCurrentProductID

set theCurrentProductID to item x of theProductIDs

try

show layout "Inventory Products"

show (every record of table "Inventory Products" whose cell "Inventory ID" = thePriorID and cell "Product ID" = theCurrentProductID as string)

copy cell "Count" to thePriorTotal

on error

set thePriorTotal to 0

set totalMissed to totalMissed + 1

--display dialog ("Couldn't find " & theCurrentProductID as string) & " in inventory " & thePriorID as string

set cell "marker" of record x of table "Inventory Products" to "*"

end try

try

show (every record of table "Inventory Products" whose cell "Inventory ID" = theInventoryID and cell "Product ID" = theCurrentProductID as string)

show layout "Inventory Products"

set cell "Beginning Quantity" to thePriorTotal

on error

--why wouldn't it show up ???

end try

--lookup the PO quantity for this product in the given date range from the repeating fields

show layout "Form View - 40"

set theCellName to "Product ID"

try -- find records one or more of whose repeating fields contains the Product ID

show (records of table "Purchase Orders" whose cell theCellName is theCurrentProductID and cell "Ship Date" ≥ theStartDate and cell "Ship Date" ≤ theEndDate)

set somethingFound to true

on error

set somethingFound to false

end try

set totalQuantity to 0

if somethingFound then

set theCount to count of records --in document theDatabaseName -- already in document

repeat with y from 1 to theCount

tell record y

set theRepCount to count repetitions of cell theCellName

repeat with j from 1 to theRepCount

set theID to get data repetition j of cell theCellName

if theID = theCurrentProductID then

set totalQuantity to totalQuantity + (get data repetition j of cell "Product Quantity")

end if

end repeat

end tell

end repeat

try

show layout "Inventory Products" --record is still current?

show (records of table "Inventory Products" whose cell "Inventory ID" = theInventoryID and cell "Product ID" = theCurrentProductID as string)

set cell "PO Quantity" to totalQuantity

on error

set noPOfound to noPOfound + 1

--display dialog theCurrentProductID as string

end try

end if

--reset the "selection"

show layout "Inventory Products"

show (every record of table "Inventory Products" whose cell "Inventory ID" = theInventoryID)

end repeat

end tell

end tell

if totalMissed > 0 then

display dialog ("Total item IDs not matched: " & totalMissed as string) & return & "No POs for item:" & noPOfound as string

end if

post-107372-0-67123100-1347293800_thumb.

Create an account or sign in to comment

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.