IMinute.GetFieldsValues Method

Returns values of multiple fields in multiple rows in a minute.
Function GetFieldsValues( _ 
ByVal firstRow As Integer, _ 
ByVal lastRow As Integer, _ 
ByVal fieldNames As List(Of String), _ 
Optional ByVal collapsedSets As Boolean = False _ 
) As Dictionary(Of String, Dictionary(Of Integer, Object))
This language is not supported or no code example is available.
Dictionary<string, Dictionary<int, object>> GetFieldsValues( 
int firstRow
int lastRow
List<string> fieldNames
bool collapsedSets = False 
)
This language is not supported or no code example is available.

Parameters

firstRow
int

The LineNumber of the first row whose values are queried. The number is 1-based.

This parameter accepts a special value -1, which means that all rows should be included. The lastRow parameter will be ignored in such case. The task totals row with LineNumber set to 0 will NOT be included. This is useful if you want to get all minute rows, you don't need to call GetRowsCount to get the value for lastRow parameter.

lastRow
int

The LineNumber of the last row whose values are queried. The number is 1-based. The value is ignored if firstRow is set to -1.

fieldNames
List<string>

A list of mnemonics of the fields whose values are queried.

The method requires that some essential fields be present in this list. If they are not included by the caller, this method adds them automatically in the result. Some of such fields are: LineNumber, SetVisibility, SetDepth, DataIsWrong, SellingDataIsWrong, ReferenceToInternalArticle, QuantityRep, IsGroupHeader and some others.

collapsedSets
bool

true when you want to consider sets as collapsed; false otherwise. When collapsed, values returned are values as displayed in the parent row when rows are collapsed.

Return Value

Dictionary<string, Dictionary<int, object>>

A Dictionary(Of String, Dictionary(Of Integer, Object)) where the parent dictionary represents the field mnemonics and the embedded dictionary represents the rows (the row key is counted from 0, not from firstRow). Depending on the field type, the latter may contain a string, a number or a date. See remarks for special field "TaskInGantt".

Note that the count of rows returned may be higher than lastRow-firstRow+1. At least for the DB of estimate minute. It's because if a line contains a reference to a set, the result contains also the articles from the referenced set. Their LineNumber is set to 100000.

The method requires that some essential fields be present in fieldNames. If they are not included by the caller, this method adds them automatically in the result. So the item count in the result may be higher than the count in fieldNames. Some of such fields are: LineNumber, SetVisibility, SetDepth, DataIsWrong, SellingDataIsWrong, ReferenceToInternalArticle, QuantityRep, IsGroupHeader and some others.

Exception type Condition

QdvApiException

A problem occurred.

Remarks
 

When the TaskInGantt field refers to only one task, the dictionary contains a string which contains the unique description of the task. When the TaskInGantt field refers to several tasks, the dictionary contains "<Multi>". Then you have to use the GetMultipleTaskInGanttAssignation function to get info about these tasks.

If the returned field value is null reference (Nothing in Visual Basic), it means that the value is invalid. Most likely it means that the value needs to be computed. If this is different from what is displayed in the GUI, make sure you call this method with the firstRow set to -1. When you get all rows this way, QDV ignores its internal "data is invalid" flags and reads the last computed values.

Version
 
Available since QDV 7.13.0001.

.NET Framework

Supported in: 4.8, 4.7, 4.6, 4.5.2

In this article

Definition