После обновления до 3.34.2 CommDevice в точках полученных через GetListAsync перестали заполняться свойства CommDevice
var points = await this.Plugin.Server.MeasurePoints.GetListAsync(MeasurePointType.Regular, MeasurePointInfoFlags.AutoPoll | MeasurePointInfoFlags.Equipment);
foreach(var point in points);
{
var pollConnection = point.Device.PollSettings.Connections.FirstOrDefault(x => x.CommLinkType == CommunicationLink.Gprs);
//выкидывает исключение, потому что CommDevice равен null
var imei = pollConnection.CommDevice.SerialNumber;
}
Приходится вызывать point.RefreshAsync(MeasurePointInfoFlags.Equipment), чтобы CommDevice подгрузились.
До этого была версия ЛЭРС УЧЕТ 3.32.5.
Аналогичная ситуация оказалась со списком оборудования.
var equipment = await this.Server.Equipment.GetListAsync();
foreach(var device in equipment);
{
var pollConnection = device.PollSettings.Connections.FirstOrDefault(x => x.CommLinkType == CommunicationLink.Gprs);
//выкидывает исключение, потому что CommDevice равен null
var imei = pollConnection.CommDevice.SerialNumber;
}
CommDevice подгружается только после await device.RefreshAsync(EquipmentInfo.Bindings);
Спасибо за обращение! Мы поставили в план работ исправление данной ошибки. Как только она будет исправлена, обязательно сообщим в каком обновлении будет доступно исправление.