Процедура ContinueDataset Назад В начало Вперед

Назначение

При создании потоков данных существует возможность создания элементов потока данных, не основанного на таблице (с использованием ключевого слова dataset). В этом случае контроль за количеством записей в наборе данных возлагается на прикладного программиста и осуществляется с использованием процедуры ContinueDataset.

При формировании очередной записи нужно вызывать ContinueDataset. Данный вызов является сигналом генератору отчетов, что текущий элемент потока существует. Если процедура не была вызвана - считается, что набор данных кончился (предыдущая запись - последняя в наборе) и выдача будет прекращена.

Для вызова процедуры удобно использовать обработчик cmOnProcess элемента потока данных.

Описание

ContinueDataset;

В случае необходимости вызова процедуры ContinueDataset не из обработчиков элемента потока данных нужно использовать синтаксис с указанием имени этого элемента потока данных:

<имя-датасета>.ContinueDataset;

Где <имя-датасета> - идентификатор, имя элемента потока данных.

Пример

В данном примере набор данных будет состоять из пяти записей. Иллюстрируется вызов процедуры ContinueDataset из обработчика cmOnProcess.

interface SampleInterface;
// ------------------------------
  var counter : integer;
// ------------------------------
  datastream SampleStream
	(
	dataset SampleDataset
	(
		[ SMPLCNTR ] counter;
	);
	)
	handleEvent SampleDataset
	cmPreProcess  : {
					counter := 0;
				}
	cmOnProcess   : {
					counter := counter + 1;
					if (counter < 6) then
						ContinueDataset;
				}
	end;
  end;
// ------------------------------
end.

  Версия

Атлантис 5.1.2x.