Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Script to fill price on form - default limit to size of field?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Script to fill price on form - default limit to size of field?

    I have a script that fills in pricing in an embedded browse on a tabbed form. The pricing is for a type of inspection. This script has always worked (since 2003)until now. A new client demands we use their naming convention for the types of inspections we provide for them. I have noticed that if the inspection type field goes over 20 characters, the price will NOT fill in. The "inspection" field itself (or clienttype as referenced in the script below) is set to be 35 characters long in every table where it is needed or referenced to, so why will the price not fill in? Is there some sort of default that restricts this to 20 characters? I am attaching the script that is on the OnWrote event of the field rules for the inspection field.
    (I did not originally design this database)

    xbasic_wait_for_idle()
    if is_object(topparent.this)
    f=topparent.this
    else
    end
    end if

    vmode=f.mode_get()
    if"ENTER" $ vmode
    vKey=alltrim(parentform:clientidentifier.text)+alltrim(parentform.type.text)
    t=table.open("billtoclient")
    t.index_primary_put("clienttype")
    vreturn=t.fetch_find(vKey)
    else
    end
    end if

    if vreturn < 1
    t.close()
    else
    f.gs_pr.value=t.Clientscost
    f.gs_pr.refresh()
    t.close()
    end if


    Thanks for any help !

    #2
    Re: Script to fill price on form - default limit to size of field?

    Suggest you use debug() to find out where the script is failing. Is it failing because the search key (vkey) cannot be found in the billtoclient table? If so, why?

    Also, the syntax for the assignment statement looks wrong, especially if you're trying to fill in a cell in an embedded browse.

    Instead of

    Code:
    f.gs_pr.value = t.clientscost
    I'd expect something like

    Code:
    f:browse1:gs_pr.value = t.clientscost

    Comment


      #3
      Re: Script to fill price on form - default limit to size of field?

      Shouldn't this

      +alltrim(parentform.type.text)

      be

      +alltrim(parentform:type.text)
      There can be only one.

      Comment


        #4
        Re: Script to fill price on form - default limit to size of field?

        Hi Tom and Stan -

        Tom the script does not "fail" ....at least not completely. It only does not fill in if the "clienttype" is MORE than 20 characters. Which is why I asked if it is some type of default in A5 since the size of the field is 35 characters.

        Stan - that was my mistake in typing it out for the message board - it is parentform:type.text

        Any ideas as to why it does not fill ?

        Comment


          #5
          Re: Script to fill price on form - default limit to size of field?

          so what does debug() show you?

          Comment


            #6
            Re: Script to fill price on form - default limit to size of field?

            that was my mistake in typing it out for the message board
            Why would you not copy and paste to the message board instead of retyping?

            On the fill question, no idea. You should follow Tom's advice and debug() the script or attach a sample database here that exhibits the issue. Even if the script does not fail, debug() will let you examine the values being processed at each step.
            There can be only one.

            Comment


              #7
              Re: Script to fill price on form - default limit to size of field?

              In your script, you use:
              Code:
              vreturn=t.fetch_find(vKey)
              No problem there, with 2 exceptions:
              1-The key length that you are searching for MUST, MUST, match the key length in the index. Alpha takes care of that up to a point. If the searched key is smaller, alpha will pad it with spaces, but if it is longer.. you are out of luck. First order of business is to update your index
              2-I am pretty sure, but I don't quite remember the number, but I think it's around 200 chr for the key length. (I posted that in a thread long long time ago and it doesn't match what the help file says).

              I think that's where your problem is, in the index key.
              As I said, first update the index and see if that works, if not, replace the full name in the index and the script with a truncated name.

              Comment


                #8
                Re: Script to fill price on form - default limit to size of field?

                Stan - Normally I would copy and paste, but I was working remotely from home and always learning. I find typing things out helps me learn and understand a little more. Someday hope to have the time to REALLY learn all of Alpha5!

                Tom - I ran the debug and no errors showed at all.

                Not sure how to attach a sample database - please advise as our database is huge

                Comment


                  #9
                  Re: Script to fill price on form - default limit to size of field?

                  It would seem your form is built on a set. You can right click on the set in the control panel and choose Zip. That should be all that is needed if billtoclient is a part of the set. If it is not you would need to zip it separately.
                  There can be only one.

                  Comment


                    #10
                    Re: Script to fill price on form - default limit to size of field?

                    Hi All

                    Tom Cone helped figure this out. He changed a line in the script to be specific to the form and browse involved and it now fills in.

                    if "ENTER" $ vmode
                    'vKey = alltrim(parentform:clientidentifier.text) + alltrim(parentform:type.text)
                    vKey = alltrim(:ordersnew:clientidentifier.text) + alltrim(:ordersnew:Browse1:Type.text)

                    THANK YOU all for all help suggested and provided!
                    Terri

                    Comment


                      #11
                      Re: Script to fill price on form - default limit to size of field?

                      Terri and I got this sorted.

                      Her script was running in the OnWrote field event in the field rules of the table being displayed in the browse object on her form. The field value was populated using a table lookup field rule. The onWrote field event field rule fired when she tabbed out of the column. The script did not throw any syntax errors and ran fine with short client "type" strings. We tried a number of things before determing that the following syntax changes did the trick. Did not have a problem with the index specifications. Seemed to be a timing issue. Possibly Alpha was taking too long to resolve the relative object addresses. Incomplete (truncated) field values were being assigned to the search key variable. When we went with absolute object addresses the problem was resolved.

                      Instead of:
                      Code:
                      vKey=alltrim(parentform:clientidentifier.text)+alltrim(parentform:type.text)
                      We did:
                      Code:
                      vKey=alltrim([COLOR="#FF0000"]:Ordersnew[/COLOR]:clientidentifier.text)+alltrim([COLOR="#FF0000"]:OrdersNew:Browse1[/COLOR]:type.text)
                      Last edited by Tom Cone Jr; 07-05-2011, 11:42 AM.

                      Comment


                        #12
                        Re: Script to fill price on form - default limit to size of field?

                        Wow! Very interesting Tom.

                        However, for the benefit of TerryH and other readers, my first reaction to that is that I would prefer not to to use references to a form in the table's OnWrote event. That means the table can ONLY be used in that one form. It won't work very well at all if you try to edit the table in the default browse or in a different form. (I know. I know. That's the only form that is used with this table. I've heard it before. Even said it myself. But I've learned. Just because it's that way now doesn't mean it will remain that way in the future and it may take a long time to figure out why things aren't working when a new form is created a year from now and nobody remembers how/why it was set up this way. Or when some error/update requires someone to edit the default browse and ends up having all kinds of trouble.)

                        For something like this (as best I can tell from what I see in these posts), I'd prefer to either use table references in the OnWrote event or put that in the OnDepart (or maybe the CanDepart) event on the form since it's referencing values on the form.

                        Comment

                        Working...
                        X