Jump to content

Geoffrey Gerhard

Members
  • Posts

    63
  • Joined

  • Last visited

  • Days Won

    4

Geoffrey Gerhard last won the day on August 12

Geoffrey Gerhard had the most liked content!

1 Follower

Profile Information

  • Slogan
    Guru
  • Gender
    Not Telling

FileMaker Experience

  • Skill Level
    Expert
  • FM Application
    19

Platform Environment

  • OS Platform
    X-Platform
  • OS Version
    Recent

FileMaker Partner

  • Certification
    8
    9
    11
    12
    13
    14
  • Membership
    FileMaker Business Alliance

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Geoffrey Gerhard's Achievements

Contributor

Contributor (5/14)

  • Dedicated Rare
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Recent Badges

5

Reputation

  1. Hey Bruce— I haven't looked into this issue in a long time, and I can't recall if the value is never modifiable or ONLY under specific conditions. If it's the latter, I'm sure it cannot be modified if there are any Invoices that have a Payment applied. It may be that it can only be modified if there are NO transaction records tied to it, no other Jobs with an identical CustomerName value already attached to the target Parent , etc. Another possibility: It's only modifiable when there is no existing ParentRef:ListID. If you poke around and confirm the circumstance, please share what you discover. I believe you can change if via the UI, but it's hard to think of a use case where doing it via the API is common enough to warrant allowing it. Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  2. It looks like we're saying the same thing, and that your understanding of what should be happening is correct. I suspect that when you look at your script, you'll find that the step that calls... PCQB_RqAddFieldWithValue( "SalesTaxCodeRef::FullName"; "your value here" ) ... precedes the step that calls ... PCQB_RqAddRelatedRecord( "InvoiceLineAdd" ; "" ; "" ) ... and that moving the former below the latter (likely just above the step that calls the "PCQB_RqCloseRelatedRecord" function) will resolve the problem. If not, feel free to post a screenshot of your script. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  3. Your example step is passing the ItemSalesTaxRef, and if that step is active, it's NOT the source of this problem. The error message is telling you that the identified element is out of sequence. SalesTaxCodeRef is a component of an InvoiceLine—think "taxable" or "non-taxable" (although the QB defaults are, I think, "tax" and "non") and as such belongs inside an InvoiceLine node. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  4. Interesting question. GeneralSummaryReport won't have the detail you need, and I don't have a definitive answer on whether a GeneralDetailReport can address this. I suspect it would because it's really flexible, and might well be the answer if you're good at setting up the query and even better at parsing the response. Last time I checked, the plug-in functions that would simplify parsing a General Report response didn't work as expected. If you know how to use xPath filtering, however, the General Reports are amazingly useful and might well fit the bill. You can't use the CreditMemoQueryRq and ReceivePaymentQueryRq to get you there directly because neither query allows you to filter for a balance—CreditRemaining and UnusedPayment elements, respectively. You could, however, run the CreditMemoQueryRq and ReceivePaymentQueryRq queries and parse the XML response using xPath filtering to identify only the CreditMemos and ReceivePayments where CreditRemaining and UnusedPayment values are > 0. That would have a shorter learning curve than parsing a General Report Response. Regardless of your method for identifying unused credits and payments, you'd then create a ReceivePaymentModRq or ReceivePaymentAddRq request to applied the ReceivePayment and/or CM ( you can't apply the CM directly, it's done via ReceivePayment ) to the new Invoice(s). Applying payments via the API requires some skilled juggling, as there are potentially a lot of balls in the air—think about discounts, CreditMemos, short pays, etc. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  5. Yes. It creates a Bill in QB that has a checkbox enabled to indicate it's a Vendor Credit. I don't recall the exact wording of the checkbox label, but it's right up top/center, IIRC. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  6. No, it can be changed via the API. I believe that you can even create Invoices for an "Inactive" Customer via the API. The field "IsActive" is just an attribute that's used as a filter in the QB UI. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  7. The calc that generated the text block you included is adding confusion, as the SalesRepRet doesn't have a FullName node of its own. The SalesRepEntityRef child node does, but it's actually referencing the values from a linked Employee, Vendor, or OtherName record. SalesRepRef is like a Value List utility table that gathers records from multiple table for display, and it's a pretty sure bet that the ListID in your text block's salesRepRef line could be used to query the three tables to identify the QB list source table. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  8. Are all three Sales Reps records Active? Is the SalesRepEntity record (Employee, Vendor, OtherName) Active? What's the full text of the error message? Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  9. Yup! I use the XMLOps tab on the OSR page ( https://static.developer.intuit.com/qbSDK-current/common/newosr/index.html ) for reference. It lists the elements in the right order, identifies whether they're required or optional, and shows the default/alternate values for ENUMTYPE elements. I think I've seen alternate pages that show detail, but didn't like the page layouts and scrolling needed to navigate and find what I needed. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  10. That message means that you've added the BillAddress node out of sequence. From the "Expecting: SalesRepRef" message, it appears that you're adding it after the DueDate element. BillAddress cannot precede RefNumber, and must precede ShipAddress, PONumber, TermsRef, DueDate, etc. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  11. It's likely that the demo file's query applies a NameFilter to limit the time it takes to return its result. If you remove that node, and there are no other filters applied, the query will return all customers. Be careful sending an unfiltered CustomerQuery Request if the QB file contains more than a couple thousand customers. There's a point at which the amount of data in a Customer or Vendor query's response will dramatically increases the time it takes FileMaker to receive it and become responsive again. If there are more than 10,000 QB customers, it can seem like FileMaker has permanently hung after sending the query request. Really large QB Customer lists can take up to an hour of the "flipping hourglass" before FMP becomes responsive again. All that said: Unless you're populating your FMP Customer table from the CustomerQueryRs, or a "shadow table" that you'll use to help you match the QB and FMP records, you're likely to have more success walking your FMP Customer list and passing the FullName element to find exact matches. HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  12. Glad you got it working. Regarding PCQB_SGetXML: It's really handy, especially when an integration starts getting nuanced and/or complex. Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  13. What you've quoted is a Response—note the <InvoiceAddRs> and </InvoiceRet> tags. I wouldn't expect that result from a PCQB_SGetXML( "Request" ; "" ) call. There should be no issue identifying a SalesRep in an InvoiceAddRq. You'd normally pass the value in a PCQB_RqAddFieldWithValue( "SalesRepRef:ListID" ; "..." ; "" ) or PCQB_RqAddFieldWithValue( "SalesRepRef:FullName" ; "Initials" ; "" ) call. I'm wondering if there's an issue with the ambiguity between the SalesRep's ListID and SalesRepEntityRef:ListID. You want to pass the former, not the latter. If you're passing SalesRepRef:FullName, note that the value is a max of 5 characters in length. You can find the value in the QB UI or in the SalesRepQueryRs—it's value in the list element "Initials". (Sales rep has no FullName element except inside the SalesRepEntity node, which ties it to an Employee or Other Name record.) HTH! Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  14. That's odd. Failed validation used to return something that looked like this... CODE: -1000 SEVERITY: failed validation MESSAGE: Error at OpenBalance Reason: '!!ERROR!! Amount type argument out of range 110748721.32' violates pattern constraint of '([+\-]?[0-9]{1,13}(\.[0-9]{2})?)?'. The element 'OpenBalance' with value '!!ERROR!! Amount type argument out of range 110748721.32' failed to parse. Field Value: !!ERROR!! Amount type argument out of range 110748721.32 ...in response to the SGetStatus call. Before you call PCQB_RqExecute, pause your script and use the data viewer to capture the result of PCQB_SGetXML( "Request" ; "" ) and post it here. Perhaps that will show enough detail and context to identify the problem. Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
  15. PCQB_SGetStatus function returns a description of what caused the failure in its "MESSAGE:" segment. Is there anything there that provides more details? Geoffrey Gerhard Creative Solutions Incorporated 14000 Creekside Drive Matthews, NC 28105 704.814.6852
×
×
  • Create New...

Important Information

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