Alpha Video Training
Results 1 to 9 of 9

Thread: How to calculate amount in repeating rows

  1. #1
    VAR
    Real Name
    Mike Reed
    Join Date
    Apr 2000
    Location
    Phoenix, AZ
    Posts
    670

    Default How to calculate amount in repeating rows

    I have a dialog to record a deposit. The user will put in the total deposit amount and then in the repeating section there are rows to post specific amounts to individual accounts. I am trying to validate that the amounts in each row equals the total deposit amount. I am getting an error even I am following the sample code in the "dialogValidate" event on Server Side events....

    This is the code

    'Example for a field in a repeating section
    'dim i as n
    'dim count as n
    'count = e.dataSubmitted.qty.size()
    ''Loop over each entry in the array of data that was submitted
    'for i = 1 to count
    ' if convert_type(e.dataSubmitted.qty[i],"N") > 10 then
    ' dialogValidate.hasError = .t.
    ' dialogValidate.errorText = dialogValidate.errorText + "Quantity in row " + i + "must be less than 10 <br>"
    ' end if
    'next i


    dim depttl as n
    depttl = convert_type(e.DataSubmitted.DepositAmt,"N")

    dim rowsttl as n
    dim i as n
    dim count as n
    count = e.dataSubmitted.amount.size()
    'Loop over each entry in the array of data that was submitted
    for i = 1 to count
    rowsttl = rowsttl + convert_type(e.dataSubmitted.Amount[i],"N")
    next i +
    if depttl <> rowsttl then
    dialogValidate.hasError = .t.
    dialogValidate.errorText = "Deposit Amount does not equal row total. <br>"
    end if

    I am getting an error in the line where I am assigning the variable "count'. If I assign a value to 'count' such as the number 1, then I get the same error in 'rowsttl line saying that Property not found e.dataSubmittted.amount subelement no found.

    Can someone offer some advice? I followed the sample but I don't understand why the error.

    Here is a screen shot of the input box.
    deposit.jpg

    Thanks for your thoughts.
    Last edited by Mike Reed; 11-09-2011 at 08:12 PM.
    Mike Reed
    Phoenix, AZ

  2. #2
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,819

    Default Re: How to calculate amount in repeating rows

    I haven't put your code into my grid yet, but first I would hazzard a guess that the error is caused because "count" is a reserved word... a function - I wouldn't used it anyway. Use cntRows instead and see if that clears it up. If not, then I'll try your code. And... what's the "next i +" about... I don't recognize the +

    However, the example uses count so I'm probably off on that one... I still wouldn't use count.

    Put a DEBUG(1) statement right at the top of your code - after the function statement. Then run the code in Working Preview and step through your code.

    EDIT: I put your code into my grid, just changed the field names, but it runs without error. What's the error you're getting... one of those horrible javascript things? Count doesn't cause a problem and neither does the +... so I'm way off there.
    Last edited by Davidk; 11-09-2011 at 09:32 PM.

  3. #3
    VAR
    Real Name
    Mike Reed
    Join Date
    Apr 2000
    Location
    Phoenix, AZ
    Posts
    670

    Default Re: How to calculate amount in repeating rows

    Hi David,
    I guess I didn't explain exactly right. In the code above, the first part is rem'ed out. That is the "sample" code that Alpha provides in the "dialogValidate" event. So the use of count wasn't my invention and normally I wouldn't use it either. The + after the i was a typo on my part, sorry about that.
    So having said that, my code, which starts after the rem'ed out part is my attempt to follow the sample code that Alpha provides. In reading the sample code, I would understand that the fieldname they are processing is named "qty" . It looks like the count variable is counting how many lines there are to process, which is use to the loop process. In the loop process the individual line is referenced by qty[i].
    So as I read sample code it appears as if the line " 'count = e.dataSubmitted.qty.size() " is a way to count how many lines are in the repeating section of the dialog. In the loop then, the value for the field qty is ready by the line " if convert_type(e.dataSubmitted.qty[i],"N") > 10 then "
    So in my code I use this code " count = e.dataSubmitted.amount.size()" to determine the number of lines to process (following the lead of the sample code). The only difference is my field is called amount. In using the debugger, that statement or line gives me the the error "Property not found e.dataSubmittted.amount subelement not found" . I am following the sample, but I get an error.
    The same thing happens in my code in the loop sequence. If I just assign a value to 'count' such as 1 or 2 and not use the code to assign the value, then I get this same exact error in my code " rowsttl = rowsttl + convert_type(e.dataSubmitted.Amount[i],"N")" Again I am following the sample, but I get an error.

    Hope that explains a little better what the error. I don't understand why I get the error. I'm sure there is a better way to write the code as well, I am certainly open to ideas.
    Thanks,
    Mike Reed
    Phoenix, AZ

  4. #4
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,819

    Default Re: How to calculate amount in repeating rows

    Mike... since this is a dialog, and so not tied to any tables, export it and post it here so I can have a look at the actual dialog - should be easy to figure out from there. I just can't see what wrong with the code. Funny that I didn't get an error with the '+' sign in there.

  5. #5
    VAR
    Real Name
    Mike Reed
    Join Date
    Apr 2000
    Location
    Phoenix, AZ
    Posts
    670

    Default Re: How to calculate amount in repeating rows

    Attached is all of the code from the dialogValidate event.

    Thanks!
    Attached Files Attached Files
    Mike Reed
    Phoenix, AZ

  6. #6
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,819

    Default Re: How to calculate amount in repeating rows

    Hey Mike... right click on the dialog component and export it, then attach it here... that way I have the full component to work with... exactly as you have it.
    Last edited by Davidk; 11-14-2011 at 09:35 PM.

  7. #7
    VAR
    Real Name
    Mike Reed
    Join Date
    Apr 2000
    Location
    Phoenix, AZ
    Posts
    670

    Default Re: How to calculate amount in repeating rows

    Here it is.
    Attached Files Attached Files
    Mike Reed
    Phoenix, AZ

  8. #8
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,819

    Default Re: How to calculate amount in repeating rows

    Either the documentation for the dialogValidate event is incorrect or there is a problem with that event. The event afterDialogValidate works with your code... dialogValidate does not.

    This is part of the documentation inside the event... but the columns are not available for size. "e.dataSubmitted.qty.size() - number of entries in the array."

    Until this gets corrected you can work with dialogValidate using the following: Get the row count from the Container, and, get the amounts using the "Instance" of the column... which is available. Because each instance is specifically named you need to use "eval" to get it to work. Ask the folks at A5 to have a look to see if there is an issue.

    Code:
    dim depttl as n
    depttl = convert_type(e.DataSubmitted.DepositAmt,"N")
    
    dim rowsttl as n
    dim i as n
    dim cntRows as n
    dim amtRow as c
    'amtRow = "e.dataSubmitted.Amount_A5INSTANCE"
    cntRows = e.repeatingSectionInfo["CONTAINER_1"].rowCount
    'Loop over each entry in the array of data that was submitted
    for i = 1 to cntRows 
    	rowsttl = rowsttl + convert_type(eval("e.dataSubmitted.Amount_A5INSTANCE"+i),"N") 
    next i
    'depttl = 15
    'rowsttl = 15
    if depttl <> rowsttl then
    	dialogValidate.hasError = .t.
    	dialogValidate.errorText = "Deposit Amount does not equal row total. <br>" 
    end if

  9. #9
    VAR
    Real Name
    Mike Reed
    Join Date
    Apr 2000
    Location
    Phoenix, AZ
    Posts
    670

    Default Re: How to calculate amount in repeating rows

    Thank you David! That works like it is supposed to.
    I appreciate your help.
    And I will send it off to Alpha.

    Mike
    Mike Reed
    Phoenix, AZ

Similar Threads

  1. Rows of Data vs. Maximum # rows per page
    By bjacobson in forum Application Server Version 10 - Web/Browser Applications
    Replies: 1
    Last Post: 05-19-2011, 05:10 PM
  2. Rows of Data vs. Maximum # rows per page
    By bjacobson in forum Application Server Version 10 - Web/Browser Applications
    Replies: 0
    Last Post: 05-19-2011, 02:35 PM
  3. Repeating rows in reports
    By Larry Gordon in forum Alpha Five Version 10 - Desktop Applications
    Replies: 3
    Last Post: 03-09-2011, 03:32 AM
  4. Repeating rows - why?
    By Peter.Greulich in forum Web Application Server v7
    Replies: 6
    Last Post: 12-29-2005, 09:55 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •