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 viewbox to pdf or html possible?

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

    print viewbox to pdf or html possible?

    Hi,

    Wanted to use a viewbox as alternative to a (complex) report with nested queries. Because a traditional report is much to slow and doesn't need to be printed all the time.
    Is it possible to print the content of a viewbox to pdf or html like in layout reports?
    If not, has anybody suggestions for an alternative solution?

    thanks,
    Ger Kurvers
    Ger Kurvers
    Alpha Anywhere / V4.6.1.9- Build 6488 (production) / V4.6.5.1 - 8722-5683(testing)
    Development: Mysql, windows 10 64 Applicationserver: standard on Windows server 2019

    #2
    I've been meaning to try this.. `haven't go around to it yet - but this is the starting pont.
    https://download.alphasoftware.com/R...easeNotes.Html search for the word beautifully
    Also look this up in the AA Help and watch the Video.. Absolute Layout Container - Create PDF

    See how you go.

    Pete
    Insanity: doing the same thing over and over again and expecting different results.
    Albert Einstein, (attributed)
    US (German-born) physicist (1879 - 1955)

    Comment


      #3
      Originally posted by peteconway View Post
      I've been meaning to try this.. `haven't go around to it yet - but this is the starting pont.
      https://download.alphasoftware.com/R...easeNotes.Html search for the word beautifully
      Also look this up in the AA Help and watch the Video.. Absolute Layout Container - Create PDF

      See how you go.

      Pete
      Hi Pete,

      Thank for putting me in this direction, looks promising. I'm working on the email-option, but think I can combine that with the htmlToPdf function. Than I can use it indeed as an alternatieve for slow reports based on subqueries, Once I succeed I post an example,

      However, right now I'm stuck with a simple thing: passing arguments when a viewbox is based on an xbasic function.
      I can get passing a argument perfectly working. See attached component based on northwind. But that code doesn't allow me to edit the viewbox anymore in the editor. Complains about type mismatch of arguments when entering field or layout tab of the viewbox. (see screenshot)

      So in the xbasic function I have to switch between argument definition and hard coding argument, very annoying:

      Code:
      args.add("WHATPRODUCTID",convert_type(e.arguments.find("whatproductid").data,"N")) 'THIS Definition blocks editing the viewbox
      'args.add("WHATPRODUCTID","5") 'This definition allows editing the viewbox, but blocks passing the argument
      I cannot create a bugreport because I'm a few official release behind.
      But maybe somebody has encountered this before and can help out. Thanks in advance!
      Below the full xbasic code for populating the viewbox. And in the attachment a sample component based on nothwind


      Code:
      function getOrderData as c (e as p)
      'Generates the data for the ViewBox.
      'The e object that is passed in includes:
      'e.tmpl = UX definition
      'e.arguments - The SQL::arguments object
      'e.mode - Either 'Builder' - function was called from the ViewBox builder or 'Runtime' - function was called at runtime.
      
      
      'Your code must return the JSON data for the ViewBox
      'Example
      'dim p as p
      'p.firstname = "Fred"
      'p.lastname = "Jones"
      'getCustomerData = json_generate(p)
      
      'DIM a SQL arguments object
      dim args as sql::arguments
      
      args.add("WHATPRODUCTID",convert_type(e.arguments.find("whatproductid").data,"N")) 'THIS Definition blocks editing the viewbox
      'args.add("WHATPRODUCTID","5") 'This definition allows editing the viewbox, but block passing the argument
      
      'debug(1)
      
      
      'DIM an Xbasic AlphaDAO connection object
      dim cn as sql::connection
      dim flag as l
      ''open the connection object to connect to the Database
      flag = cn.open("::Name::Northwind")
      dim sql as c
      sql = <<%txt%
      SELECT * FROM ((products products LEFT OUTER JOIN order_details order_details
      ON products.ProductID = order_details.ProductID )
      INNER JOIN orders orders
      ON( order_details.OrderID = orders.OrderID ))
      INNER JOIN suppliers suppliers
      ON( products.SupplierID = suppliers.SupplierID )
      WHERE products.ProductID = :WHATPRODUCTID
      %txt%
      'turn portable SQL on. (for more information on portable sql search in help (https://www.alphasoftware.com/documentation)
      'execute the SQL - pass in the sql::arguments object
      flag = cn.execute(sql,args)
      if flag = .f. then
      'an error occurred - get the error message from cn.callresult.text
      'report the error, close the database and then end the script
      dim errortext as c
      errortext = cn.callresult.text
      cn.close()
      end if
      'DIM a SQL::Resultset object
      dim rs as sql::resultset
      rs = cn.resultset
      'get the JSON from the query
      dim json as c
      json = rs.toJSON()
      'Clean up by freeing the resultset and then closing the database
      cn.freeresult()
      cn.close()
      getOrderData = json
      
      end function
      Attached Files
      Ger Kurvers
      Alpha Anywhere / V4.6.1.9- Build 6488 (production) / V4.6.5.1 - 8722-5683(testing)
      Development: Mysql, windows 10 64 Applicationserver: standard on Windows server 2019

      Comment


        #4
        Hope this helps you. Watch the video and the component is attached.

        https://www.screencast.com/t/aAtMQauajiWp

        ViewboxXbasicTestAlternate.zip
        Insanity: doing the same thing over and over again and expecting different results.
        Albert Einstein, (attributed)
        US (German-born) physicist (1879 - 1955)

        Comment


          #5
          Hi Pete,

          Thanks for your suggestions, we share the preference for viewbox.
          I use the technique you suggest in other parts of our application and indeed that works great.

          But in this specific usecase (a component, generating content like in a report, to print to pdf) I really need working with arguments and viewboxes getting theire content from xbasic calls.

          In real application it will be a component with multiple viewboxes because the report I try to subtitute is a complex report with subreports. And part of the xbasic are procedure calls. Far too complex for the sql builder in the viewbox itself.
          I don't want that component to contain list for getting the arguments. The component will be opened from other parts of the application, just to generate the 'report'-content....

          As you have seen in the sample component that is not a problem.
          Problem is that I cannot open the viewbox tab fields and tab layout when that xbasic uses arguments to make further adjustment to the viewbox in devellopment..
          So I hope to find a solution for this specific problem.

          Nevertheless: your advice is appriciated, thanks again!


          Ger Kurvers
          Alpha Anywhere / V4.6.1.9- Build 6488 (production) / V4.6.5.1 - 8722-5683(testing)
          Development: Mysql, windows 10 64 Applicationserver: standard on Windows server 2019

          Comment


            #6
            I was interested some time ago of subject and I am sure you have watched this video but in case somebody else is interested of viewbox-html report-pdf here is one example

            Comment


              #7
              The reason your arguments don't get a value is the viewbox method your control uses run with data being submitted, so use the model I gave you put the callback line in the AARow of the Products VB and put in behind your button and the e.dataSubmitted.ProductID will be available for your args.
              Insanity: doing the same thing over and over again and expecting different results.
              Albert Einstein, (attributed)
              US (German-born) physicist (1879 - 1955)

              Comment

              Working...
              X