Solved

How to update a field Part2

Posted on 2003-11-07
5
193 Views
Last Modified: 2013-12-18
Hi All

Previous question
http://www.experts-exchange.com/Applications/Email/Lotus_Notes/Q_20789973.html

Ok now I want to subtract some numbers if a request is cancelled
Just a foot note
All fields are Number and Computed
If ApprovalStatus = Cancelled then note.TotalDaysOff(0) is reset to 0

      
      If Not doc Is Nothing Then
            doc.HolidaysAH = doc.HolidaysAH(0) - doc.TotalDaysOff(0)
            doc.RemainingAH = doc.RemainingCalc(0) +doc.TotalDaysOff(0)

            doc.ComputeWithForm True, False  
            doc.save True, False
      Else
            Msgbox "No leave document found for this employee"
      End If
      
The above does not work or works inconsitently
I think the best way would be to freate a temp variable grab values and then do the math what do you think

James
0
Comment
Question by:imjamesw
  • 2
  • 2
5 Comments
 
LVL 14

Expert Comment

by:p_partha
ID: 9702776
Little bit confused...

when you are setting a value like totalsdaysoff
just set it like this

note.totaldaysoff = 0

also... what do u mean works inconsistently, when does it fail... it;s also better to use cint before doing the math.. something like this:
doc.HolidaysAH = cint(doc.HolidaysAH(0)) - cint(doc.TotalDaysOff(0))
         doc.RemainingAH = cint(doc.RemainingCalc(0)) +cint(doc.TotalDaysOff(0) )

Partha
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 9703447
I am not sure if you have given me the correct fields, let me help you to organize it

If note.ApprovalStatus(0) = "Cancelled" then  ' Check this string value is same as that for cancel operation
       note.TotalDaysOff = 0     ' This will be set in the currently opened approval doc
' Get the leave doc handle to this currently selected employee..    
     If Not doc Is Nothing Then
          doc.HolidaysAH = doc.HolidaysAH(0) - doc.TotalDaysOff(0)
          doc.RemainingAH = doc.RemainingCalc(0) + doc.TotalDaysOff(0)
          doc.ComputeWithForm True, False  
          doc.save True, False
     Else
          Msgbox "No leave document found for this employee"
     End If
End If  ' ApprovalStatus Check

James clearly specify what are the results/error that you are getting so that it will facilitate me to give you proper guidance.

~Hemanth
0
 

Author Comment

by:imjamesw
ID: 9703738
Hi Hemanth

I have it working with the following perhaps you could get more info from the code



If Not doc Is Nothing Then
            tmpHolidaysAH = doc.HolidaysAH(0) 'This is the number of days used
            tmpTotal = note.NewDaysTotal(0)    'This is the number of new days booked
            tmpNew = tmpHolidaysAH - tmpTotal  'This will reset the value removing the value that was added when approved
            doc.TotalDaysOffCalc = tmpNew 'This resets the Total days used
            
            tmpRemainingAH = doc.RemainingAH(0) ' This is the number of days remaining
            tmpRemain = tmpTotal + tmpRemainingAH ' This adds the number that was subtracted when the leave was approved
            doc.RemainingCalc = tmpRemain 'This resets the remainig days to what it was prior to the new leave being approved
            doc.RemainingAH = doc.RemaingCalc 'See above
            doc.ComputeWithForm True, False  
            doc.save True, False


Hope this  explains what I need the form to do

James
0
 
LVL 24

Accepted Solution

by:
HemanthaKumar earned 300 total points
ID: 9703968
I am not sure if I understood the calculation correct ... ultimately I came to this conclusion

      ' Assuming note is the current document handle
      ' doc is the leave document of the employee
      
      tmpHolidaysAH = doc.HolidaysAH(0) 'This is the number of days used
      
      If note.ApprovalStatus(0) = "Cancelled" Then  
            note.NewDaysTotal = 0    'This is the number of new days booked--- which will be 0 if it is not approved
      End If
      
      tmpTotal = note.NewDaysTotal(0)
      tmpNew = tmpHolidaysAH - tmpTotal  'This will reset the value removing the value that was added when approved
      tmpRemainingAH = doc.RemainingAH(0) ' This is the number of days remaining
      tmpRemain = tmpTotal + tmpRemainingAH ' This adds the number that was subtracted when the leave was approved
      doc.TotalDaysOffCalc = tmpNew 'This resets the Total days used      
      doc.RemainingCalc = tmpRemain 'This resets the remainig days to what it was prior to the new leave being approved
      doc.RemainingAH = doc.RemaingCalc 'See above
      doc.ComputeWithForm True, False  
      doc.save True, False
0
 

Author Comment

by:imjamesw
ID: 9716211
That is correct

James
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Problem "Can you help me recover my changes?  I double-clicked the attachment, made changes, and then hit Save before closing it.  But when I try to re-open it, my changes are missing!"    Solution This solution opens the Outlook Secure Temp Fold…
For beginners of Lotus Notes user this is important to know about the types of files and their location supported by IBM Notes. Mostly users are unaware about how many file types are created and what their usages are. This Article is fully dedicated…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now