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

Invoicing/Manufacturing Database??

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

    Invoicing/Manufacturing Database??

    New user here, well sort of. I've been an Alpha Four user since version 2. I know just enough to do what I've needed to get done, though likely not in any conventional manner I'll wager. I've just acquired Alpha Five a few days ago. Now this is a whole nuther animal!

    I have a working Alpha Four database consisting of about ten tables and eight set definitions. In a nutshell it an in-house invoicing system that tracks and reports materials usage and costs by contract number for a small sheet metal (ductwork) shop. Now mind you, this is no finished application. I've only taken it as far as I need so that _I_ (and maybe one other fellow) can use it. Before this the paperwork was tossed in a box and someone went through the box every couple months and figured it all up by hand!! whew!!

    I thought I might see if the same tasks could be handled in Alpha Five and maybe in a more finished way such that other personnel might have a shot at learning how to use it. I don't really HAVE to do this, just looking to break into Alpha Five I guess. I may well decide to just stay with Alpha Four for some tasks.

    From just a few days look it would appear that differences between the two products might make it impracticle (maybe impossible) to duplicate some of the concepts currently in use in my Alpha Four setup. However, Alpha Five might allow me to go beyond some of the things I couldn't get past in Alpha Four, assuming I can get a grip on what areas I would need to learn. That's what brings me here. I hope that I can explain what I think I'm after well enough to be understood. Here goes;

    A few of the items we produce are composites, that is to say the item is constructed of from several different materials. Let's say I ~might~ want the sum of these individual materials listed as line items on the invoice. Additionally there will generally be several of these items, having varying dimensions, to be summarized to single line item entries.

    Let's see if I can make a simple analogy to clarify....Lets say I'm a carpenter who is building an addition to a structure. One of the composites items would be WALLS. The materials would consist of 2x4s, 2x6s, drywall, and drywall screws. The user would enter say LENGTH, HEIGHT, and make a selection of Load Bearing or not. (I assume fields would exist for invoice number and such to serve as a link between invoice header and so on.) They would enter a record for each of the walls required. As the records are added, calculations would be made to compute the amounts of the various materials required, possibly in calculated fields, and these materials would be summarized as line items on the invoice line item table. 245 feet of 2x4, 560 square feet of drywall, and so on. The first composite record I suppose would have to create the line item records and subsequent composite records would need to either add to these records or create additional records as required.

    This is just one of the areas where I exceed my knowledge and get lost, either in Alpha Four or Five. How to create multiple records in a table (parent?) based on a set of related records in another table (child?)

    I ducked the issue in Alpha Four. Field rules in Alpha Four can exist at the set level allowing different rules for the same table dependant on the set definition, as opposed to only the table level in Alpha Five. Also, Alpha Four field rules for sets provide values of User-Entered, Calculated, or SUMMARY, where Alpha Five lacks the SUMMARY as a field "type". So using the features in Alpha Four I chose to NOT itemize the materials but instead to summarize the cost of these items in the invoice table (cost being calculated in the child records). There are just a handful of different composite items we make so I made a SET definition for each of the composites using the same INVOICE table as the parent, but with different field rules and child tables as needed, and list the composite as a single line item on the invoice. No user action is required to update the summary, any change to, or entry of a child record is automatically updated in the parent (summary) record.

    All comments welcome,

    TJ Baker


    #2
    RE: Invoicing/Manufacturing Database??

    Hello Thomas,

    ""differences between the two products might make it impracticle (maybe impossible) to duplicate some of the concepts currently in use in my Alpha Four setup. However, Alpha Five might allow me to go beyond some of the things I couldn't get past in Alpha Four,""


    As much as I loved Alpha Four, I've got to say that Alpha Five's capabilities go way beyond what can be done in Alpha Four. There are certain differences, and some things have to be done differently in A5. The only real issue that I can think of is, as you mentioned, the lack of set field rules. There was a little concession to this I believe in v5, but for the most part they don't exist. Having said that, you can still do what you want because Alpha Five allows so much more programmic control than A4.

    Long and short of it, if you can do something in A4 you can certainly also do it in A5, and take it farther.

    ""A few of the items we produce are composites""

    I have done something similar. I don't know your exact requirements, but an item (part, etc) can be a singe piece, or a part that is composed of many sub-parts or sub-assembly's. Basically, your line item child table is a parent to a one-to-many set that contains the parts that make up the component. So you have a parent - child - grandchild relationship.

    Alpha Five is different than Alpha Four, but once you are used to it, IMHO, you'll never go back.

    Good luck,
    Jim

    Comment


      #3
      RE: Invoicing/Manufacturing Database??

      if you get anywher with this let me know

      Comment


        #4
        RE: Invoicing/Manufacturing Database??

        I've read your post a couple times and am unsure of exactly what help you need. I *think* you need a system that is like a recipe; I need 100 of X, which requires components/ingredients a, b and c, all in differing amounts.

        This isn't that hard to do once you know the scheme -- I have it in a couple manufacturing systems as well as a commercial application for caterers.

        Can you clarify a bit what you need?

        - Steve
        -Steve
        sigpic

        Comment


          #5
          RE: Invoicing/Manufacturing Database??

          Well, I'm really just poking around at this stage and was hoping for a suggestions as to what direction to go first. Now that I've looked a little I'm starting to think that I need to look towards Xbasic scripting? Looks confusing at the outset.

          As a small example of what I was trying to explain earlier ... here's a couple of stripped down tables from my Alpha Four Database. The user enters items into the Ductmat2.dbf. INV_NUM and JOB_NUMBER are brought in from a parent table. User enters FRAMES, WIDTH and HEIGHT and selects ITEM_NUM from a lookup. A report layout generates a "cut list" for the shop through calculated fields with some grouping and such.

          The INVOICE.DBF is essentially our Line Item table. What I want to see if I can do is add records to this table that sums the individual materials used by the listings in the Ductmat2.dbf as shown in the uploaded tables. To get the values for this example INVOICE.DBF I manually entered the quantities, running each SQL below against the Ductmat2.dbf with MS Query and a Foxpro VFP driver.

          Initially I'm thinking that I might want to run a script as each record is entered or changed to append or update records in the INVOICE.DBF ?? Just how I would do that I have not looked into,,, yet.

          Maybe this sort of thing is better handled with a temporary table that is appended to the INVOICE.DBF at form close ?? An array perhaps?? By now you must see I'm clueless, but tenacious. :)


          -----This Returns DM_25_Corner Quantity--------
          -
          SELECT Ductmat2.inv_num, 'DM_25_CORNER', Sum(Ductmat2.Frames*4)
          FROM Ductmat2 Ductmat2
          WHERE (Ductmat2.item_num='DM_25_FRAMES')
          GROUP BY Ductmat2.inv_num

          -----This Returns DM_35_Corner Quantity--------
          -
          SELECT Ductmat2.inv_num, 'DM_35_CORNER', Sum(Ductmat2.Frames*4)
          FROM Ductmat2 Ductmat2
          WHERE (Ductmat2.item_num='DM_35_FRAMES')
          GROUP BY Ductmat2.inv_num

          -----This Returns DM_25_Flange Quantity--------
          -
          SELECT Ductmat2.inv_num, 'DM_25_FLANGE', Sum(round((ductmat2.width+ductmat2.height)*2/12*ductmat2.frames,2))
          FROM Ductmat2 Ductmat2
          WHERE (Ductmat2.item_num='DM_25_FRAMES')
          GROUP BY Ductmat2.inv_num

          -----This Returns DM_35_Flange Quantity--------
          -
          SELECT Ductmat2.inv_num, 'DM_35_FLANGE', Sum(round((ductmat2.width+ductmat2.height)*2/12*ductmat2.frames,2))
          FROM Ductmat2 Ductmat2
          WHERE (Ductmat2.item_num='DM_35_FRAMES')
          GROUP BY Ductmat2.inv_num


          Comment

          Working...
          X