6.2. Получение данных

Текущий набор данных dataset’а хранится в поле FCachedDataStorage в виде объекта типа TssComplexDataStorage. Он формируется как результат работы цепочки 4-x DataProducer’ов:

  1. <SourceDataProducer> (поле FSourceDataProducer).Предоставляет исходные данные. Класс этого DataProducer’а зависит от класса DataSet’а.

  2. TssCachedUpdateProducer (поле FCachedUpdateProducer).Берет данные от <SourceDataProducer> и применяет к ним закешированные пользовательские изменения данных.

  3. TssDataProcessor (поле FDataProcessor).Берет данные от TssCachedUpdateProducer и применяет к ним операции согласно своему свойству LSQL.

  4. TssNodeDataProducer (поле FNodeDataProducer).Берет данные от TssDataProcessor и сворачивает указанные узлы и группы.

  5. Результат работы TssNodeDataProducer сохраняется в поле FCachedDataStorage.

В случае изменения данных происходит пересчет, начиная с какого-либо участка этой цепочки.