Архивация массивов и переменных типа string (это тоже массив (символов)) невозможна. Кроме того, если вы добавляете сообщения через AddMessage, то они будут автоматически архивироваться в БД, в таблицу сообщений с именем "messages_data". Все сообщения добавленные через процедуры AddMessage и AddMessageToGroup помечаются MessageID в диапазоне от 999967 до 999999. Чтобы вывести их в отчет, нужно использовать отдельный источник данных,
как в этой статье. Только не нужно создавать свою таблицу как описано в статье, можно сразу добавить источник данных MySQL и брать данные из таблицы "messages_data". А запрос на выборку нужно изменить добавив выборку только тех сообщений у которых MessageID >= 999967, вот так:
select * from messages_data
where (timestamp >= @vrTimeBegin) and (timestamp <= @vrTimeEnd)
and (MessageID >= 999967)
в результате источник данных будет содержать список сообщений добавленных через процедуры AddMessage и AddMessageToGroup за период от vrTimeBegin до vrTimeEnd.
Второй вариант, создать отдельную пустую группу сообщений и добавлять сообщения пользователей конкретно в эту группу, через AddMessageToGroup, а затем брать данные также, как описано выше, только выборку осуществлять по колонке "GroupID":
select * from messages_data
where (timestamp >= @vrTimeBegin) and (timestamp <= @vrTimeEnd)
and (GroupID = 77)
, где 77 - это ID группы в которую добавляются пользовательские сообщения.
Третий вариант, создать в БД отдельную таблицу с какой угодно структурой и добавлять в неё новые записи через пользовательские SQL-запросы (
процедура RunSQL). Как создать свою таблицу и как вывести её в отчет также
описано в этой статье.