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

Print without save

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

    Print without save

    Hi All,

    I am busy converting an old application developed in Alpha V1, I'm converting it to V4.5 Runtime for a client.

    The app has a form containing about 50 fields and 2 embedded child browses. The form is constantly used for entering data and then printing, works fine.

    V1 will allow the user to make temporary changes to field values on the form and then print the form with those changes. Then by default have the option to save or lose the temporary changes.

    V4.5 does not allow this because the changes are comitted as soon as another field or object is selected.

    Can anyone suggest a way to achieve this because my client finds it very useful
    .
    i.e. Find a record, view the form, change the value in any number of fields (there can be many), print the form and then have the option to save or lose the changes.

    Any tips appreciated

    Michael

    #2
    RE: Print without save

    Michael,

    First thought is to design the form with no table fields visible, just store the field values to variables or calculated fields and display these.

    The code for the oninit of the form would capture the first set of values. I suppose you would have to have onkey scripts for page up and page down down and any other navigation keys to
    1. ask whether to save the current values back to the table
    2. move through the table and reset the variables and refresh the display.
    There can be only one.

    Comment


      #3
      RE: Print without save

      I assume you are editing parent field values not the child records. You could make a duplicate record structure of the parent ( omit field rules etc. ). Make a set ( only used for one shot printing ) exactly as your regular set with the dupe as the parent. Copy the report from the original set to the new set. When printing, in xbasic take all object values and add a record to the dupe table. Store the recno() in a variable after adding. Print the report from the dupe set filtering on the recno() that you saved. Not absolutely necessary, but you'd probably want to zap the dupe table occasionally.

      Comment


        #4
        RE: Print without save

        Thanks Stan and John,

        I was hoping there would be a short simple solution since V1 operated this way by default.

        I think my first approach for the changes will have to be 'copy the current record'. I shall also start working on the changes using your suggestions but I'm not looking forward to the extra work involved.

        Michael

        Comment


          #5
          RE: Print without save

          Michael,

          Here's another idea.

          After the user fetches the desired record require him to push a button to begin edits. The button script could store all field values to memory variables. Require the user to push another button to save or to cancel. If he saves, nothing else needs be done. If he cancels, just change the field values back (using values stored in the the memory variables), before saving the record.

          -- tom

          Comment


            #6
            RE: Print without save

            I would create an identical form replacing the fields with variables. In the forms OnInit event, set the variable values equal to corresponding field values.

            The variables can be altered to your hearts content without affecting the original record. You could include a button that would save the changes also.

            Changing variables values doesn't even require F9 to save changes. You don't enter change mode.

            -Bob

            Comment


              #7
              RE: Print without save

              Thanks All

              Wishful thinking. I was hoping someone might offer a simple solution such as 'Activate a specific check box in the form's properties' or something like that. The form has about 50 fields any of which can be changed so I don't fancy the duplicate variable route.

              I shall be spending the weekend looking at the record_data_get(), record_data_set() and record_clone() methods. Reading up on the manual this should lead me the required results. Aaagh! Gulp!

              Michael

              Comment


                #8
                RE: Print without save

                What I don't particularly like about the variable method is that if you display and use variables for data entry rather than field objects, this will negate any field rules. It's not that you can't do it, but it seems like much more work than necessary to accomplish nothing but the printing of an unsaved record.
                I think there will be a little work using Tom's suggestion or my suggestion, but not the kind of work necessary to enter everything into variables first and later into the actual field values.

                Comment


                  #9
                  RE: Print without save

                  I agree, for this application it's probably not the most sensible approach. I use forms like this for Test Data Sheets with Pass/Fail buttons down a column. Some buttons ask for data readings as well. It's info that would be really useless after the fact, other than the required paper-trail, so it never gets saved.

                  -Bob

                  Comment


                    #10
                    RE: Print without save

                    Hi All,

                    I have found a solution to make changes to a form, print the form with the changes and then allow the option to keep or lose the changes.

                    Quite simple because it is mainly from the manual, though it will require more work to operate on embedded browse child values.

                    'This script is on the form's on fetch and init events to capture the original values.

                    t=table.current()
                    Dim shared blob as B
                    blob=t.record_data_get()


                    'This script is on the exit button or elsewhere

                    response=ui_msg_box("","Put old values back?",3)
                    If response =6 then
                    choice="Yes"
                    elseif response=7 then
                    choice="No"
                    else
                    choice="Cancel"
                    End If

                    If choice="yes"
                    dim shared blob as b
                    t=table.current()
                    mode=t.mode_get()
                    If mode=0 'Form is view mode
                    t.change_begin()
                    t.record_data_set(blob)
                    t.change_end(.t.)
                    ELSE ' Form is already in change
                    t.record_data_set(blob)
                    parent.commit()
                    end if
                    parent.resynch()
                    End if

                    Michael

                    Comment

                    Working...
                    X