Здравствуйте.
Можно сделать так:
1. Для каждой камеры создать отдельную внутреннюю переменную типа Boolean, например: vrRoom1, vrRoom2, vrRoom3 и т.д.. Включить у них архивацию по изменению;
2. Когда партия находится в камере 1, в переменную vrRoom1 записывать 1, в остальные 0. Когда партия в камере 2, в переменную vrRoom2 записывать 1, в остальные 0 и т.п.;
В отчете создать источник типа "Периодический", добавить в него переменные vrRoomXX с типом обработки "время вкл." и в источнике автоматически отобразится время в течение которого партия находилась в каждой отдельной комнате.
Можно отобразить и на мнемосхеме. Чтобы вычислить время, нужно использовать
процедуру ArchiveTimeOn.
Например:
var
DateStart, DateEnd: TDateTime;
begin
DateEnd:= Now; // текущие дата и время
DateStart:= IncDay(DateEnd, -1); // уменьшить дату на 1 день
// вычислить время включенного состояния переменной "vrRoom1" за период
// от "DateStart" до "DateEnd" и записать результат в переменную "MyVariableRes"
ArchiveTimeOn(vrRoom1, MyVariableRes, DateStart, DateEnd);
end.
Этот код вычислит в переменную MyVariableRes время в течение которого партия находилась в камере 1 за последние 24 часа.