diff --git a/DD.Persistence.Client/Clients/Interfaces/ITimestampedValuesClient.cs b/DD.Persistence.Client/Clients/Interfaces/ITimestampedValuesClient.cs
index e7d7be6..27449b2 100644
--- a/DD.Persistence.Client/Clients/Interfaces/ITimestampedValuesClient.cs
+++ b/DD.Persistence.Client/Clients/Interfaces/ITimestampedValuesClient.cs
@@ -35,6 +35,17 @@ public interface ITimestampedValuesClient : IDisposable
int take,
CancellationToken token);
+ ///
+ /// Получить данные с фильтрацией для нескольких систем. Значение фильтра null - отключен
+ ///
+ ///
+ ///
+ /// Фильтр свойств набора
+ ///
+ ///
+ ///
+ Task> Get(Guid discriminatorId, DateTimeOffset? geTimestamp, IEnumerable? columnNames, int skip, int take, CancellationToken token);
+
///
/// Получить данные, начиная с заданной отметки времени
///
diff --git a/DD.Persistence.Client/Clients/TimestampedValuesClient.cs b/DD.Persistence.Client/Clients/TimestampedValuesClient.cs
index 4c77b20..123ed71 100644
--- a/DD.Persistence.Client/Clients/TimestampedValuesClient.cs
+++ b/DD.Persistence.Client/Clients/TimestampedValuesClient.cs
@@ -39,6 +39,15 @@ public class TimestampedValuesClient : BaseClient, ITimestampedValuesClient
return result!;
}
+ ///
+ public async Task> Get(Guid discriminatorId, DateTimeOffset? geTimestamp, IEnumerable? columnNames, int skip, int take, CancellationToken token)
+ {
+ var data = await Get([discriminatorId], geTimestamp, columnNames, skip, take, token);
+ var mapper = GetMapper(discriminatorId);
+
+ return data.Select(mapper.DeserializeTimeStampedData);
+ }
+
///
public async Task> GetGtDate(Guid discriminatorId, DateTimeOffset timestampBegin, CancellationToken token)
{