• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 519
  • Last Modified:

Variant does not contain a container error

HI

This used to work and no when I am testing it with a variety of ID's it is giving me an error

If Not doc Is Nothing Then
            
If note.type(0) = "Vac" And  Month(note.StartDate(0)) > 6 Then
      doc.TotalDaysOffCalc = note.TotalDaysOff(0)
      doc.RemainingCalc = doc.TotalAH(0) - doc.TotalDaysOffCalc(0)
Else
If doc.CarriedOverAH(0)= note.NewDaysTotal(0) Then
doc.CarriedOverAH = doc.CarriedOverAH(0) - note.NewDaysTotal(0)
doc.TotalDaysOffCalc = note.TotalDaysOff(0)
doc.RemainingCalc = doc.TotalAH(0) - doc.TotalDaysOffCalc(0)
REM Goto SaveIt      ' Skip normal calc and save the doc
Else
If doc.CarriedOverAH(0) = 0 Then
doc.TotalDaysOffCalc = note.TotalDaysOff(0)
doc.RemainingCalc = doc.TotalAH(0) - doc.TotalDaysOffCalc(0)
                        End If
                  End If
            End If

Thanx

James

0
adspmo
Asked:
adspmo
  • 10
  • 6
  • 4
  • +2
1 Solution
 
HemanthaKumarCommented:
Turn on the debugger and see where this error is occuring.

basically, what the error means is that you are referencing a variant value where the variant itself is empty or doesnot exist. In your case it could be that the fields are not available on the document

~Hemanth
0
 
adspmoAuthor Commented:
I have a feeling this is an edit rights issue

On the Leave Tracking form I have an EditRights field
and the Approvers name is not listed
0
 
adspmoAuthor Commented:
Forgot to mention

this is the line
doc.TotalDaysOffCalc = note.TotalDaysOff(0)

James
     
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
p_parthaCommented:
Just add these lines :

on the beginning of the code:

On error goto errortrap:


after the code ends and before the end suhb:
have somethign like this

exit sub
errortrap:
msgbox "Error occurred on line number " & erl & " error is " & error
exit sub
0
 
p_parthaCommented:
This is to find out where the error occurs, so that we can give u a proper answer

Partha
0
 
HemanthaKumarCommented:
If you are having author access rights, then the error would meniton about insufficient rights. But it is code referencing a field value without that being on the document.

I believe it is note.TotalDaysOff(0) which is causing problem, where you are referencing the index value without the TotalDaysOff on the note document.

1. Check the spelling of the field being referenced.. is this field physically on the document or created via script ?
2. msg out the vaue like this Msgbox cstr(note.TotalDaysOff(0))


0
 
adspmoAuthor Commented:
WEll I added the message box and it came up with a valu once and after that it was variant blabla...

Here is formula forTotalDaysOff
Requested :=NewDaysTotal; "Another field that calculates only weekdays

Booked := @DbLookup( "" : "NoCache" ;""; "AvailHol" ; profile_key;"TotalDaysOffCalc");

Total :=Requested + Booked;

Total1:= HalfDayCalc + Booked;  HalfDayCalc is another field for half day holiday

@If(ApprovalStatus ="Draft";0;HalfDaySel ="";Total;HalfDayCalc != 1; Total1;Total)


0
 
adspmoAuthor Commented:
Well
When I look at the document properties box I see a
ServerError Entry not found in index

If I refresh the form alworks well

I guess we need to refresh the form

James
0
 
HemanthaKumarCommented:
Change this formula to more error proof

Requested :=NewDaysTotal; "Another field that calculates only weekdays

Booked := @DbLookup( "Notes" : "NoCache" ;@DBName; "AvailHol" ; profile_key;"TotalDaysOffCalc");

@if(@IsError(Booked); @Return(0); "");

Total :=Requested + Booked;

Total1:= HalfDayCalc + Booked;  HalfDayCalc is another field for half day holiday

@If(ApprovalStatus ="Draft";0;HalfDaySel ="";Total;HalfDayCalc != 1; Total1;Total)
0
 
adspmoAuthor Commented:
I still get the Server Error Entry.....

i did add

Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
      If Source.EditMode Then Call Source.Refresh
End Sub

It does not seem to work, I need to manually press F9

Any ideas

0
 
p_parthaCommented:
justa  suggestoin
Have the form property , automatically refresh fields enabled.


Partha
0
 
adspmoAuthor Commented:
That property is marked of and has always been
0
 
p_parthaCommented:
What is the datatype of field TotalDaysOff. If it is dialog list or list box, then u can enable refresh fields on keywords change

Partha
0
 
adspmoAuthor Commented:
It is a number field
0
 
p_parthaCommented:
It's confusing, what is the value whicih gets populated when u refresh


Partha
0
 
adspmoAuthor Commented:
It all depends on what the @If evaluates to either Total or Total1

There must be a way to force a refresh???

Requested :=NewDaysTotal;

Booked := @DbLookup( "" : "NoCache" ;""; "AvailHol" ; profile_key;"TotalDaysOffCalc");

@If(@IsError(Booked); @Return(0); "");

Total :=Requested + Booked;

Total1:= HalfDayCalc + Booked;

@If(ApprovalStatus ="Draft";0;HalfDaySel ="";Total;HalfDayCalc != 1; Total1;Total)
0
 
p_parthaCommented:

Requested :=NewDaysTotal;

Booked := @DbLookup( "" : "NoCache" ;""; "AvailHol" ; profile_key;"TotalDaysOffCalc");

@If(@IsError(Booked); @Return(0); "");

Total :=Requested + Booked;

Total1:= HalfDayCalc + Booked;

@If(ApprovalStatus ="Draft";0;HalfDaySel ="";Total;HalfDayCalc != 1; Total1;Total) ;
@command([viewrefreshfields]);

Partha
0
 
adspmoAuthor Commented:
Boy do I feel dumb.  One of the fields that the formula was referring to was after the field listed above ergo the formula had to be forced to refresh

Live and learn
0
 
ArunkumarCommented:
have a similar field with similar formula hidden on top of the form with a different name.  Use this name for reference.
0
 
adspmoAuthor Commented:
Boy do I feel dumb.  One of the fields that the formula was referring to was after the field listed above ergo the formula had to be forced to refresh

Live and learn
0
 
ArunkumarCommented:
now you have refreshed this page to get second comment of the same kind....
0
 
HemanthaKumarCommented:
What is the field type .. Computed ?

What is this profie_key ? And how is this document created ?

If this document is created by a script and approver opens it later, then use ComputeWithForm to calculcate all the formula for fields !!

0
 
qwaleteeCommented:
James, please do yourself and everyone here a favor.  Stop using doc" and "note" to represent the employee record and request record.  It ismeaaningless and confusing.  try requestDc and empDoc or something like that.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 10
  • 6
  • 4
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now