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

Data Entry Technique for a Grocery Application

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

    Data Entry Technique for a Grocery Application

    Has anyone tried creating an application for a grocery? Particularly on entering sales, The tables would be Sales_Header, Sales Detail, and Products. I was thinking of using the Browse control for entering items sold just like the alpha sports sample that came with alpha five v11, but my problem is that the browse control is heavily discouraged for multi user environment in entering sales. The one being suggested mostly is to make the browse readonly and enter the items sold in another form. Well, it could be done of course, but the problem is that, in a grocery, the data entry is mostly done by using barcode scanners and sometimes if there is no barcode of the item, then it is manually searched by using item keywords, it would be annoying for the cashier to click or press enter everytime before scanning a new item since the opening of a new form for the item details would need a button click or press enter to trigger the opening of another form to enter the item and its quantity bought. Alpha Experts here on the board, please help by suggesting a better way to do the speedy data entry of items. the browse control is the perfect choice supposed to be if it supports many users maybe at least 10 cashiers entering data on the browse control on a multi user environment.Thanks very much!
    Last edited by JetLi; 12-11-2012, 09:02 AM.

    #2
    Re: Data Entry Technique for a Grocery Application

    I am sure there have been a couple of grocery applications done. I am going on memory, but it still serves pretty good at 66, but I can't remember who did it.

    If done right, it can subtract the item(s) from the inventory too.
    Dave Mason
    [email protected]
    Skype is dave.mason46

    Comment


      #3
      Re: Data Entry Technique for a Grocery Application

      Jetson,

      Think in terms of touch screen and do a search in the forum for POS.
      Regards
      Keith Hubert
      Alpha Guild Member
      London.
      KHDB Management Systems
      Skype = keith.hubert


      For your day-to-day Needs, you Need an Alpha Database!

      Comment


        #4
        Re: Data Entry Technique for a Grocery Application

        Touchscreen is I think applicable for restaurants. but for a grocery store, barcode scanners will do most of the work.

        Comment


          #5
          Re: Data Entry Technique for a Grocery Application

          This can be done with some planning and xbasic. While not the same as what you are looking to do, I have a multiuser employee timeclock running in Alpha where the users only use a barcode scanner(no keyboard) to enter, edit and review their daily time card "punches". No keyboard is involved...just their employee id card, work order with bar code and job function(s) bar code. One item to keep in mind is that most bar code readers can be "programmed" to automaticaly enter a carriage return and/or tab at the conclusion of reading the bar code. This is how I automatically move from field to field. Mind you, I have extensive xbasic in the OnDepart event of each field to handle error checking and logic. If an error is found, then the xbasic code repositions the cursor to the field that needs attention using object.activate(). Think in terms of using variables to hold all of your data on the form and then use xbasic to commit the record once everything is in order. You will have no multiuser issues this way in my opinion....at least I don't. :):)

          Comment


            #6
            Re: Data Entry Technique for a Grocery Application

            Originally posted by jkletrovets View Post
            This can be done with some planning and xbasic. While not the same as what you are looking to do, I have a multiuser employee timeclock running in Alpha where the users only use a barcode scanner(no keyboard) to enter, edit and review their daily time card "punches". No keyboard is involved...just their employee id card, work order with bar code and job function(s) bar code. One item to keep in mind is that most bar code readers can be "programmed" to automaticaly enter a carriage return and/or tab at the conclusion of reading the bar code. This is how I automatically move from field to field. Mind you, I have extensive xbasic in the OnDepart event of each field to handle error checking and logic. If an error is found, then the xbasic code repositions the cursor to the field that needs attention using object.activate(). Think in terms of using variables to hold all of your data on the form and then use xbasic to commit the record once everything is in order. You will have no multiuser issues this way in my opinion....at least I don't. :):)
            What a tedious, job, very nice approach to avoid multi-user conflicts. Nice advice, I hope alpha five developers will stop for a day or two in innovating for the mobile and spend a bit of improving the browse control so that it can be used in multi user situations.

            Comment


              #7
              Re: Data Entry Technique for a Grocery Application

              I wouldn't use the browse control anyway for something like this.

              Instead, I'd use an XDialog or one of the web-centric tools such as a Dialog2 with a repeating section. These are faster than a browse control, don't dump the data directly to the table, give you all sorts of programmability in terms of catching and dealing with scanning errors, takes the multi-user question out of having a table sitting there open, and a variety of other benefits.
              -Steve
              sigpic

              Comment


                #8
                Re: Data Entry Technique for a Grocery Application

                Thank you Steve, I have tried the Dialog component for the web to be used on the desktop, It is working fine on a stand alone but when I shadowed it on a workstation and when I click the submit button, the data would not save (please note that it wont save on the workstation but on the server it is saving properly). Do I need to run the Alpha Five application server on the desktop? BTW, how can I make the enter key the default key to TAB on a web dialog component?Thanks again!

                Comment


                  #9
                  Re: Data Entry Technique for a Grocery Application

                  Unlike time clock scanning, grocery (any POS checkout point) is entry intensive.
                  By nature a lot of deleting and removing entire "invoices" is required before acceptance.

                  While Steves option is by far the most effective, it requires a lot of experience and time (for me anyway, right now)

                  I like each terminal to have their own tables.
                  That allows any user to reset or even zap their own tables.
                  I have done a lot of this in the past (non alpha) and now developing replacement systems with Alpha.
                  I found exploring shadow tables (not shadow database) allow users to have new tables created for them on the fly and use one central shadow set. These tables at present are not even being registered in the database (which suits me fine)
                  As soon as a sale is completed a millisecond update of the actual tables is required.
                  THis also allows me to put a sale on hold - visa vie customer left his wallet in the car - and continue with next customers.
                  Last edited by Ray in Capetown; 12-13-2012, 04:27 AM.

                  Comment


                    #10
                    Re: Data Entry Technique for a Grocery Application

                    Hi Ray, Very Nice Approach, I thought it is not possible in alpha five, May I request you to please post your sample on the board for us all to adopt from your technique?Every terminal then would have its own table in saving the sales then later on appended to a central table. the main tables would be, tblCutomers, tblSalesHeader, and tblSalesDetail , the temporary tables would be temptblSalesHeader and temptblsalesDetail, this is what I understood and it is I think a very good technique for multi user app, so that we can use the browse control because it is the easiest way to add sales rather than using the effective but tedious Xdialog.Please correct me if I'm wrong, Hope you can share also your solution. Thanks very much!

                    Comment


                      #11
                      Re: Data Entry Technique for a Grocery Application

                      Ray,

                      I'd very much like to see a simple example illustrating the use of shadow "tables". Thanks.

                      -- tom

                      Comment


                        #12
                        Re: Data Entry Technique for a Grocery Application

                        Tom,

                        I think what Ray is talking about is a temp table and then the data gets appended to the main table on the server. Could be wrong of course.
                        Regards
                        Keith Hubert
                        Alpha Guild Member
                        London.
                        KHDB Management Systems
                        Skype = keith.hubert


                        For your day-to-day Needs, you Need an Alpha Database!

                        Comment


                          #13
                          Re: Data Entry Technique for a Grocery Application

                          Originally posted by Tom Cone Jr View Post
                          Ray,

                          I'd very much like to see a simple example illustrating the use of shadow "tables". Thanks.

                          -- tom
                          Yes Ray, Whether it is shadow tables or a temp table, hope you can upload a simple app illustrating it.

                          Comment


                            #14
                            Re: Data Entry Technique for a Grocery Application

                            Yes, Keith, I think so, but it sounds like he's creating the "temp" table on the fly, or possibly storing them on the local workstation, or both. A temp table on the network server, shared by others, would defeat the purpose wouldn't it? So, I'm curious about how the local tables are implemented. -- tom

                            Comment


                              #15
                              Re: Data Entry Technique for a Grocery Application

                              Sure Tom

                              Fundamentally, first follow the technique exactly as in the sample in the help for table.create_shadow() to create your shadow files, construct your set using the created shadow files complete with field rules and forms/reports either now or add later.

                              Then I use create_shadow() in a function to switch between (and create new tables) as required during program operation.
                              As Jet has described, is how I use it for invoicing.

                              Code:
                              FUNCTION InvShadowTo AS C (NewHd AS C)
                              uhfn = table.filename_get(NewHd) '= "c:\ac\com\invhbob.dbf"
                              sHfn = a5.Get_Path()+"\invhshadow.dbf"
                              table.create_shadow(shfn, uhfn)
                              END FUNCTION

                              Keith, you can switch the associated set/foms/reports between temporary tables that only allow one header record to archive tables with thousands, using the same call.

                              Open a form, enter data
                              Switch shadow
                              Open the form again, no data
                              Enter new data
                              Switch the shadow back to the first
                              Open the form
                              First data is back
                              Viola
                              Last edited by Ray in Capetown; 12-13-2012, 11:39 AM.

                              Comment

                              Working...
                              X