Submitted by Pierre_Admin on 2015/05/12 18:25
Hi IQ Users,
 
In this release (v0.9.26PreRel51):
  • New: Option to hide the program Title bar when the main window is maximized
  • New: Calendar: Vertical scroll mode: Days are shown in an endless vertical list. Use the mouse wheel to scroll up and down
  • New: Calendar: In horizontal scroll mode, the day header is always visible, even when zooming
  • New: Grid: Hoist up one level. Shows all parents of the selected items (great tool when items have multiple parents)
  • New: Drag-drop of hyperlinks from Tab Outliner for Chrome to a grid or to the HTML pane (details here)
  • New: More robust field parsing (through the requirement of enclosing field references with [ ... ]
  • Changed: When referencing fields in equations, enclose the name with [ ... ]. The first time a file is opened, equations will be processed to add [ ... ] around recognized field names if required. Please go through your field equations to ensure that this was done correctly.
  • Fixed: Grid: Improved handling of the Tab key (see shift + tab to move focus to previous column : broken)
  • Fixed: Pressing Esc while in the Omnibox could change the order of a sub-item (move down one item)
 
Download it here
 
 
Pierre_Admin
IQ Designer
 

Comments

Hi Pierre,
 
Thanks for that!
 
I've only checked the equation changes.
 
Unfortunately, I'm still having the same problem with the word "item" crashing functions.
 
Steps :
 
 
 
1- Create a new sample file
 
 
2- Replace the database code with this one
 
 
Option Explicit


'''''''''''''''''''''''''''''''''
'Global variables used for input dialog


Const CPROJETNOM          = 1
Const CITEM               = 2
Const CWIKITAG            = 3
Const CAUTEUR_BIB         = 4
Const CTYPEDOCBIB         = 5
Const CTITRE_BIB          = 6
Const CDATE_BIB           = 7
Const CNO_BIB             = 8
Const CCLASSEMENTCONTEXTE = 9
Const COU                 = 10
Const CDMY                = 11
Const CABCDPRIORITY       = 12
Const CCONTEXTS           = 13
Const CDUEDATE            = 14
Const CFOLLOWUPDATE       = 15
Const CRECXDMYAFT         = 16
Const CVERIFIECONTEXTE    = 17


Dim gProjetnom          
Dim gItem               
Dim gWikitag            
Dim gAuteur_bib         
Dim gTypedocbib         
Dim gTitre_bib          
Dim gDate_bib           
Dim gNo_Bib                 
Dim gClassementcontexte 
Dim gOu                 
Dim gDmy                
Dim gAbcdpriority       
Dim gContexts           
Dim gDuedate            
Dim gFollowupdate       
Dim gRecxdmyaft         
Dim gVerifiecontexte    


Dim gbShowInputDialog
Dim gdtmStart
Dim gdtmStop
Dim giDismissedDialogCounter
Dim giHighestDismissLimit
Dim previousValue



Function myInputDialog(ByVal affectedField, dialogMsg, timeLimit, repeatDismiss, field1, field2, field3, field4, keepValueInMemory, inputBoxDefaultValue, resetDismissedDialogCounter)
  
  On Error Resume Next
  'To homogenize 0, null and empty values, so that integers, String and dates can eventually be used.
  If (field1 = Empty Or field1 = 0 Or field1 = "" Or field1 = "0"  Or field1 = False) Then field1 = Null
  If (field2 = Empty Or field2 = 0 Or field2 = "" Or field2 = "0" Or field2 = False) Then field2 = Null
  If (field3 = Empty Or field3 = 0 Or field3 = "" Or field3 = "0"  Or field3 = False) Then field3 = Null
  If (field4 = Empty Or field4 = 0 Or field4 = "" Or field4 = "0"  Or field4 = False) Then field4 = Null
  If Err.Number <> 0 Then MsgBox "Error : some field type doesn't match the parameters...? see myInputDialog()"
  On Error Goto  0 
   
  If Not IsNull(affectedfield) Or affectedfield<>"" Then
    
    If Len(affectedfield)>=1 And resetDismissedDialogCounter <> "reset" And affectedfield<>"0" And affectedfield<>" " Then
      
      myInputDialog = affectedField
      Exit Function
    End If
    
  End If
  
  ' Add intuitiveness by giving "0" the meaning of "no" (no repeat or time limit).
  If repeatDismiss = 0 Then repeatDismiss = 1000
  If timeLimit = 0 Then timeLimit = -1
  
  ' Initialize giDismissedDialogCounter properly
  If (IsNull (giDismissedDialogCounter) Or IsEmpty(giDismissedDialogCounter) Or giDismissedDialogCounter= "") Then giDismissedDialogCounter = 0
  
  
  'if a condition is true, don't show the input dialog, and move on...  Otherwise, go through another set of conditions!
  If (Not IsNull(field1) Or Not IsNull(field2) Or Not IsNull(field3) Or Not IsNull(field4)) Then
    
    gbShowInputDialog = False
    
    If giDismissedDialogCounter > giHighestDismissLimit And resetDismissedDialogCounter <> "special" Then
      MsgBox "Next dialogs cancelled : conditions specified in function aren't met"
    End If
    
    
  Else
    
    
    ' when resetDismissedDialogCounter is "reset", reset the variables value
    If (giDismissedDialogCounter< repeatDismiss And resetDismissedDialogCounter = "reset") Then giDismissedDialogCounter = 0
    
    'Dialog box has never been dismissed in this context, or it's not been dismissed enough times ... so set the flag to show it.    
    If giDismissedDialogCounter < repeatDismiss Then
      
      If gbShowInputDialog = False Then    
        gdtmStop = Timer                              'Gives gdtmStop a value to be able to check for how long the dialog the dialog has last been dismissed. (gdtmStart is given in myinputDialog : when the dialog is concretely dismissed)
        If gdtmStart = 0 Then gdtmStart = gdtmStop    'If first time input dialog enters prolonged state of "dismissal", gdtmStart = 0 to avoid wrong calculations
        
        If (Int(gdtmStop - gdtmStart)) > timeLimit Then ' And giDismissedDialogCounter = 0 Then ''' Removed as i doesn't seem to be useful 2014 05 27 -- 22 08**********************************************************************************************'If more than then the time limit has elased between 2 method call, it needs to be reactivated, otherwise keep it hidden
          
          gbShowInputDialog = True                     '...and set show "input dialog" flag to true
          
        Else
          gbShowInputDialog = False                    'set the flag to NOT show it
          
          
        End If
      Else
        gbShowInputDialog = True
        
      End If
      
    Else
          
      gdtmStop = Timer                              'Gives gdtmStop a value to be able to check for how long the dialog the dialog has last been dismissed. (gdtmStart is given in myinputDialog : when the dialog is concretely dismissed)
      If gdtmStart = 0 Then gdtmStart = gdtmStop    'If first time input dialog enters prolonged state of "dismissal", gdtmStart = 0 to avoid wrong calculations
      If (Int(gdtmStop - gdtmStart)) > timeLimit Then 'If more than then the time limit has elased between 2 method call, it needs to be reactivated, otherwise keep it hidden
        giDismissedDialogCounter = 0                 'Reset the counter...
        gbShowInputDialog = True                     '...and set show "input dialog" flag to true
      Else
        gbShowInputDialog = False                    'set the flag to NOT show it
      End If
      
    End If
    
  End If
  
  
  ' Set highest limit for : MsgBox "Dialogs cancelled : conditions aren't met !"
  If gbShowInputDialog = False Then
    If giHighestDismissLimit < repeatDismiss Then giHighestDismissLimit = repeatDismiss
  Else
    giHighestDismissLimit = 0
  End If
  
  ' Call method to show input dialog,and returns the user input.
  myInputDialog = showInputDialog(affectedField, dialogMsg,keepValueInMemory,inputboxDefaultValue, resetDismissedDialogCounter)
    
End Function


Function KeepInputBoxDefaultValue (inpBoxDefVal, globVarVal)
  'MsgBox "I'm here"
  If inpBoxDefVal <> "" And (globVarVal = "" Or globVarVal = " ") Then
    'MsgBox "I'm here 2"
    KeepInputBoxDefaultValue = inpBoxDefVal
  ElseIf inpBoxDefVal <> "" And (globVarVal <> "" And globVarVal <> " " And globVarVal <> "p.xy" And globVarVal <> "Soln_Impé_das_" And Len(globVarVal) < 35) Then '2014 03 01
    KeepInputBoxDefaultValue = globVarVal
    'MsgBox "I'm here 3"
  ElseIf inpBoxDefVal = "" And (globVarVal <> "" Or globVarVal <> " ") Then
    KeepInputBoxDefaultValue = globVarVal
  Else
    'MsgBox "I'm here 4"
    KeepInputBoxDefaultValue = inpBoxDefVal
  End If
End Function



Function showInputDialog(affectedField, dialogMsg, keepValueInMemory, inputBoxDefaultValue, isSetReset)
  
  'Now show / don't show the dialog and return the proper value.
  If gbShowInputDialog = False Then
    If isSetReset  = "special" Then 'This "special" case is used when dialog needs to be cancelled (when certain conditions are met) BUT leave other to appear normally ; unlike the "reset" switch. Normally, the value is set to "Reset", which cancels all next dialogs until a certain amount of time (higher than the user defined in the "timeLimit" parameter of the myInputDialog function)
      gbShowInputDialog = True
    Else
      gdtmStart = Timer       'reStart timer everytime a dialog is not Shown (to allow 100's of field data assignation when necessary)
    End If
    showInputDialog = affectedField    
  Else
    
    ' Select the default value to show in input box (by Assigning global variable's values to inputBoxDefaultValue, depending on "keepValueInMemory"'s value.)
    If keepValueInMemory > 0 Then 
      
      Select Case keepValueInMemory
        Case CPROJETNOM          
        inputBoxDefaultValue = gProjetnom         
        Case CITEM ' dans certains cas, je ne souhaite pas remplacer l'ancienne valeur enregistrée (gitem) par la valeur par défaut (inputBoxDefaultValue) inscrite dans la
        '          ' fonction ; si une comparaison de la valeur par défaut et de l'ancienne valeur enregistrée montre que le contexte des deux valeurs est le même, je peux conserver la valeur enregistrée (gItem)
        
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gItem)
        ' 
        Case CWIKITAG            
        'inputBoxDefaultValue = gWikitag
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gWikitag)
        
        Case CAUTEUR_BIB         
        'inputBoxDefaultValue = gAuteur_bib
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gAuteur_bib)
        Case CTYPEDOCBIB         
        'inputBoxDefaultValue = gTypedocbib
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gTypedocbib) 
        Case CTITRE_BIB          
        'inputBoxDefaultValue = gTitre_bib
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gTitre_bib)        
        Case CDATE_BIB           
        'inputBoxDefaultValue = gDate_bib
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gDate_bib)          
        Case CNO_BIB                 
        'inputBoxDefaultValue = gNo_Bib
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gNo_Bib)               
        Case CCLASSEMENTCONTEXTE 
        'inputBoxDefaultValue = gClassementcontexte
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gClassementcontexte)
        Case COU                 
        'inputBoxDefaultValue = gOu
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gOu)                
        Case CDMY                
        'inputBoxDefaultValue = gDmy
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gDmy)               
        Case CABCDPRIORITY       
        'inputBoxDefaultValue = gAbcdpriority
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gAbcdpriority)      
        Case CCONTEXTS           
        'inputBoxDefaultValue = gContexts
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gContexts)          
        Case CDUEDATE            
        'inputBoxDefaultValue = gDuedate
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gDuedate)           
        Case CFOLLOWUPDATE       
        'inputBoxDefaultValue = gFollowupdate
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gFollowupdate)      
        Case CRECXDMYAFT         
        'inputBoxDefaultValue = gRecxdmyaft
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gRecxdmyaft)        
        Case CVERIFIECONTEXTE    
        'inputBoxDefaultValue = gVerifiecontexte
        inputBoxDefaultValue = KeepInputBoxDefaultValue (inputBoxDefaultValue, gVerifiecontexte)   
        Case Else
        inputBoxDefaultValue = ""
      End Select
      
    End If
    
    ' Assign space (" ") as the default value when there's not default value to be displayed. (" " will later be interpreted as a "Y" value when user simply presses "enter")
    If inputboxDefaultValue = "" Then inputboxDefaultValue = " "
    
    
    '*** NOW SHOW THE INPUT BOX AND Get user's input
    showInputDialog = InputBox(dialogMsg,,inputboxDefaultValue)  'Display dialog and return user input. Puts a [space] by default in the input area, to allow a quick "yes" when user presses "OK". See "'To accelerate user input, set a space as a "Yes""
    
    ' store user's input in the right global variable (to use as new "default" value when function is re-run)
    ' Need to treat strings differently than other data type since they can be concatenated.
    If VarType(affectedField) = 8 And showInputDialog <> "" Then   '(If the field is a String and... do ...)
      Select Case keepValueInMemory
        Case CPROJETNOM          
        gProjetnom         = showInputDialog  
        Case CITEM  
        Dim itemTemp
        itemTemp = showInputDialog
        If Len(itemTemp) < 7 Then  'this to prevent memorizing value (global var.) when it's not necessary (decided that apart from page numbers and short words, I never need to reenter long texts in several items' item field)
          gItem = itemTemp
        End If 
        Case CWIKITAG            
        gWikitag           = showInputDialog  
        Case CAUTEUR_BIB         
        gAuteur_bib        = showInputDialog  
        Case CTYPEDOCBIB         
        gTypedocbib        = showInputDialog  
        Case CTITRE_BIB          
        gTitre_bib         = showInputDialog  
        Case CNO_BIB                 
        gNo_Bib            = showInputDialog  
        Case CCLASSEMENTCONTEXTE 
        gClassementcontexte= showInputDialog  
        Case COU                 
        gOu                = showInputDialog  
        Case CDMY                
        gDmy               = showInputDialog  
        Case CABCDPRIORITY       
        gAbcdpriority      = showInputDialog  
        Case CCONTEXTS           
        gContexts          = showInputDialog  
        Case CDATE_BIB           
        gDate_bib          = showInputDialog  
        Case CVERIFIECONTEXTE    
        gVerifiecontexte   = showInputDialog  
        Case Else
        
      End Select
      
      'This is now to determine the returned data : decide whether data is concatenated to what's already there or not.
      Select Case keepValueInMemory 
        ' Do nothing in these cases : user input stays the same
        Case 0 '2014 03 08 -- 18 15
        Case CPROJETNOM
        Case CDMY
        Case CABCDPRIORITY
        Case CCONTEXTS
        Case CDATE_BIB
        Case CNO_BIB
        Case CTYPEDOCBIB
        
        ' In other cases : concatenate data to what's already there.
        Case Else
        If showInputDialog <> "" And showInputDialog <> " " Then
          If affectedField = "" Then
            showInputDialog = affectedField & showInputDialog
          Else 'if field already contains data, append it after a separator (--)
            showInputDialog =  AddKeywordSeparator(affectedField, showInputDialog) '2014 07 24 : Changed this to avoid to much redundancy - might revert it to previous (above) if generates mistakes
          End If
          showInputDialog = Trim(showInputDialog)
          giDismissedDialogCounter = 0                  'User has entered a value in dialog so reset dismissed dialog counter
          
        ElseIf showInputDialog = " " Then
          showInputDialog = affectedField        'user hasn't really dismissed the dialog, but has entered nothing (pressed enter)
          giDismissedDialogCounter = 0                 'user hasn't really dismissed the dialog... so reset dismissed dialog counter
        End If 
      End Select
      
      ' Now take care of other data type than string. 
    Else
      Select Case keepValueInMemory
        Case CDUEDATE            
        gDuedate           = showInputDialog  
        Case CFOLLOWUPDATE       
        gFollowupdate      = showInputDialog  
        Case CRECXDMYAFT         
        gRecxdmyaft        = showInputDialog
        Case Else
        If showInputDialog = " " Or showInputDialog = "Y" Or showInputDialog = "y" Or showInputDialog = "-------------------------------------------------------------------------------------------------------------------------------------------" Then showInputDialog = "-1"
      End Select
    End If  
    
    'To accelerate user input, set a space as a "Yes" (there's a [space] by default in the input area so the user just needs to press "OK" to send YES to the function)
    If (showInputDialog = "" Or showInputDialog = Null Or showInputDialog = Empty) Then     'Dialog has been dismissed.
      If isSetReset = "reset" Then
        Dim answer
        answer = MsgBox ("Do you want to dismis all other dialogs this time ?" & vbCrLf & _
        "(They will be dismissed and reactivated automatically after a few seconds of inactivity.)", 260, "ATTENTION!")
        If answer = 6 Then 'Answer is yes.
          giDismissedDialogCounter = 100 ' put number which will certainly exceed max dimissed.
        Else  
          giDismissedDialogCounter = giDismissedDialogCounter + 1    ' simply add 1 to counter and keep going
        End If
      Else
        giDismissedDialogCounter = giDismissedDialogCounter + 1    ' simply add 1 to counter and keep going
      End If
      showInputDialog = affectedField   'keep the value to avoid erasing data.
      gdtmStart = Timer          ' reStart timer everytime a dialog is dismissed (to allow 100's of field data assignation when necessary)
      
    Else
      gdtmStart = 0                        'reset the start timer
    End If
    
  End If
 
  
End Function



' The following functions can be used in Hierarchy calculations. Typically: parent = mysum (children)
'-------------------------------------------
Function mySum(IncludeIt, x)  ' Calculates the sum of the array x if IncludeIt is true
  Dim d, i
  
  d=UBound(x)
  For i=0 To d
    If IncludeIt(i)=True Then mySum = mySum+NZ(x(i))
  Next
  
End Function



'-------------------------------------------
Function AddKeywordSeparator(Fi, keyw)
  Dim myFi
  myFi=Trim(Fi & "")
  If InStr(myFi,keyw)=0 Then
    If Len(myFi)>0 Then myFi = myFi & " -- "
    myFi=MyFi & keyw
    myFi=Trim(myFi)
  End If
  If myFi="" Then myFi=Null
  AddKeywordSeparator=myFi
End Function
 
 
 
 
 
 
3- Add this auto-assign rule to the check field
 
A: [item] = myInputDialog( [item] , "I T E M - contenu ? " & vbcrlf & vbcrlf & "CONTENU ACTUEL --> " & iif([item]<>"", " ' " & left([item], 15) & " [...]" & " ' " & vbcrlf & "(Le nouveau contenu sera ajouté à la suite.)","**rien**") , 2, 10, null,null,null,null, 2,"","reset")
 
 
4- Now, in the Welcome grid, add the check field as a column
 
 
5- filter the grid (column filter if you want) to see items with the word "item" in it. You should have a combination of items with "item" and not item if the column filter is set to "all items and subitems"
 
 
6- Check the "check" field on an item without the word "item" : you should see a popup. enter some text in it and it will be added to the text already there.
 
 
7- Now do the same thing with an item that has the word item in it : as soon as you'll check the "check" field, the content will instantly disappear.
 
 
 
Problem with my functions ? maybe... I don't think so, but who knows. The thing is I don't see why only the "item" word and maybe others would do that.

Armando

2015/05/12 22:11

In reply to by Armando

Also note that if you replace the "I T E M" string with "item", the input box will replace "item" by nothingness.
 
In the example above you have that auto-assign :
 
 A: [item] = myInputDialog( [item] , "I T E M - contenu ? " & vbcrlf & vbcrlf & "CONTENU ACTUEL --> " & iif([item]<>"", " ' " & left([item], 15) & " [...]" & " ' " & vbcrlf & "(Le nouveau contenu sera ajouté à la suite.)","**rien**") , 2, 10, null,null,null,null, 2,"","reset")
 
Replace I T E M with item :
 
 A: [item] = myInputDialog( [item] , "item - contenu ? " & vbcrlf & vbcrlf & "CONTENU ACTUEL --> " & iif([item]<>"", " ' " & left([item], 15) & " [...]" & " ' " & vbcrlf & "(Le nouveau contenu sera ajouté à la suite.)","**rien**") , 2, 10, null,null,null,null, 2,"","reset")

So I'm not sure what the "[ ]" changed exactly.
 
Do they mean that using "[ ]" in plain strings could now cause problems as anything with [ ] will be interpreted as fields? I'm asking because I'm using [ ] a lot when I write -- specific conventions I use.
 
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Pierre_Admin

2015/05/12 22:55

In reply to by Armando

[quote=Armando]
Do they mean that using "[ ]" in plain strings could now cause problems as anything with [ ] will be interpreted as fields? I'm asking because I'm using [ ] a lot when I write -- specific conventions I use.
[/quote]
 
No, this should not happen
 

Pierre_Admin

2015/05/12 22:43

In reply to by Armando

Hi Armando,
 
Thanks for such detailed instructions. I was able to reproduce the issue and updated the current version. The issue is now resolved.
 
Please re-download it.
 
Pierre_Admin
 

Armando

2015/05/12 23:03

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Hi Armando,
 
Thanks for such detailed instructions. I was able to reproduce the issue and updated the current version. The issue is now resolved.
 
Please re-download it.
 
Pierre_Admin
 
[/quote]
 
Cool! Happy my instructions worked.
Redownloading.
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Armando

2015/05/12 23:34

In reply to by Armando

[quote=Armando]
[quote=Pierre_Admin]
Hi Armando,
 
Thanks for such detailed instructions. I was able to reproduce the issue and updated the current version. The issue is now resolved.
 
Please re-download it.
 
Pierre_Admin
 
[/quote]
 
Cool! Happy my instructions worked.
Redownloading.
 
[/quote]
 
After a few tests it does seem fixed now. Thanks! 
It's a really good thing.
 
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

I like the option to hide the program Title bar. The only problem is that I can't position the Omnibox at the top anymore without adding a full row or hiding tabs. Not sure what solution would be, but mentioning it nevertheless.
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Pierre_Admin

2015/05/12 22:44

In reply to by Armando

Perhaps you can move the main menu from the side to the top, where it normally sits... 
Or else, have the Omnibox floating... no ?

Armando

2015/05/12 23:17

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Perhaps you can move the main menu from the side to the top, where it normally sits... 
Or else, have the Omnibox floating... no ?
[/quote]
 
The Omnibox was already floating.
 
if the idea is to create more vertical space, I'm then gaining space when the title bar is gone, and then relosing it by adding a bar at the top...
 
This is how it used to look:
 
 
 
Having the Omnnibox floating elsewhere is not very convenient as it's often in the way.
 
A good solution would be to have it pop out like the Grids sub menu (or other sub menus) when a shortcut is pressed. I don't really need to see it all the time; just when I need it.
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

I'm having other issues. All filters looking like 
 
Iditem in (244427)  | check is null
 
Or more simply
 
Iditem in (244427)
 
result in showing an item which subitems can't be shown (obviously, in my example, item 244427 is a parent with multiple items)
 
(no source in these grids)
 
Reverting back to previous version for now.
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Pierre_Admin

2015/05/13 00:12

In reply to by Armando

Hummm
It is working here. Can you reproduce it in a sample app ?
 

Armando

2015/05/13 00:41

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Hummm
It is working here. Can you reproduce it in a sample app ?
 
[/quote]
 
 
I haven' tried in a sample file. need to work a bit now. The only thing I can tell, is that back to v 50, those items are expandable without any issues.
No idea what could've caused that glitch but neither a simple expand not a "show all subitems" was working. A refresh didn't solve the  problem.
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Armando

2015/05/14 23:25

In reply to by Pierre_Admin

[quote=Pierre_Admin]
Hummm
It is working here. Can you reproduce it in a sample app ?
 
[/quote]
 
sent you an e-mail : the problem is with the sort filter. I'm working around the problem by enclosing the fields in  [  ].
Not using any [ ]  used to work, obviously, but maybe since you changed a few things, IQ's expecting  [ ].
The weird thing though is that other filters (sort or not ) seem to work without enclosing the fields in [ ].
 
 
-------------------------------------------------------
Windows 8.1
Sony Vaio S Series 13 (SVS131E21L)
Ram:8gb, CPU: Intel i5-3230M, 2.6ghz

Pierre, thanks very much.  The Tabs Outliner import feature is very useful and works very well.  I will experiment some more and may offer more comments on it.