Chart

A chart allows you to place different types of charts and graphics in 1C:Enterprise tables and forms. A diagram is a certain shape or shapes, which are based on an M x N data matrix. The data, organized in a matrix, can easily be represented as values obtained as a result of samples at defined points; the samples are generated in series. Chart series can be represented by data matrix rows, and point values by columns (or vice versa).
For example, in a chart reflecting the sales volumes of various products by month, you can easily represent months as points and product types as series.
Chart points are noted in coordinate axes by special markers. Values in series are pooled into a common line or area of one color. A separate area, called the chart legend, contains the list of symbols corresponding to series.
For better clarity, you can limit the number of chart series, using a rule that pools the smallest series into one common summary series.
The chart can be inserted into a form or a spreadsheet document. For a chart inserted into a spreadsheet document, you can specify the spreadsheet document range that contains the necessary data (property DataSource).
We should distinguish two ways of working with charts: linking to data sources using the property DataSource and populating charts with data using the method SetValue. These methods cannot be combined.
An example of the use of a chart would be the results of a report on sales volumes by product or buyer, represented graphically.

Example:

Result = Query.Execute();

Selection = Result.Select();
CurrentCompetitors = Undefined;
While 
Selection.Next() Do
    If Selection.Rival <> CurrentCompetitors Then
        Chart.Series.Add();        
        CurrentSeries = Chart.SeriesCount - 1;
        CurrentCompetitors = Selection.Rival;
        Chart.Series[CurrentSeries].Text = 
                TrimR(Selection.OrganizationName);
        Chart.Series[CurrentSeries].Details = CurrentCompetitors;
    EndIf
;

    IndexOf = IndexByNomenclature(Selection.Nomenclature,
                Selection.NomenclatureName, 
                Chart, NomenclatureIndexes);
    Chart.SetValue(IndexOf, CurrentSeries, 
                Selection.Cost, 
                Selection.Nomenclature);
EndDo
;    
Chart.RefreshEnabled = True;


    

1C:Enterprise Developer's Community