Невозможно удалить оборудование XXX из подключения YYY, т.к. оно используется для опроса в точке учета ZZZ

Добрый день, уважаемые разработчики!
Описываю проблему:

Конфигурация (R25.04):

  1. прибор учета в ВРУ привязан к подключению 10.72.111.25:4000
  2. прибор учета в Кв.375 привязан к подключению 10.72.111.27:4000

Далее я у прибора в ВРУ меняю подключение на 10.72.111.27:4000. Все хорошо меняется, и все отлично.
Далее идем в редактирование объекта учета и выбираем Подключения, выбираем любое подключение из окрывшегося списка и нажимаем ОК.
То есть по факту я ничего не изменил при редактировании объекта учета, но моему взгляду открывается ошибка, приведенная на скрине.
Кв.375 в моих действиях вообще не участвовала, но именно она фигурирует в ошибке.
У меня есть бекап бд, я эту ошибку воспроизводил неоднократно.
Я смотрел таблицу связей [EquipmentPollConnection], но там нет связи, которая на ошибке. То есть программа как бы удаляет то, чего нет и не было
У нас все сроки уже сгорели, помогите, пожалуйста, вчера)
lersEditNodeFail.PNG

Удаление связи подключение - оборудование (Кв.375) ничего не дает: выскакивает та же ошибка, но кв.376. И при этом оборудование из системы удалить не представляется возможным (https://forum.lers.ru/viewtopic.php?f=23&t=7932)

Проблему решил самостоятельно. Оказалось, что проблема была где-то в автоопросе, снял все приборы на этом объекте с автоопроса - проблема исчезла.
описание ошибки не очень хорошее в данном случае. Я потратил из-за этого кучу времени. А если бы было нормальное описание ошибки, я бы быстрее дошел до решения.

Покажите вкладку “Подключенное оборудование” подключения “10.72.111.27:4000” в свойствах объекта учета, в котором видно все подключенные к этому подключению приборы.

Не вижу способа сделать это быстро. там около 50 поиборов. могу сделать SELECT

SELECT делать не нужно. Если в один скриншот все оборудование не вмещается, сделайте несколько сериншотов.

Пожалуйста
2.PNG
1.PNG

Сейчас тоже самое происходит с другими подключениями. Началось все это с момента использования API для пакетного добавления конфигурации. Когда делал на чистом СИКВЕЛ, все было ОК

Примечание к скриншотам: дублирования там нет. Второй (2.PNG) скрин следует читать начиная с прибора, следующего за выделенным.

Я пробовал сделать поиск прибора, который указан в ошибке: программа его не находит. Может, имеет смысл обновить? Хотя есть ненулевая вероятность, что там новые сюрпризы будут

Мы не крайне не рекомендуем работу с базой ЛЭРС УЧЕТ напрямую, так как структура базы постоянно меняется и это может приводить к ошибкам. Возможно в предыдущих версиях ЛЭРС УЧЕТ ваши изменения в БД ни как не влияли на работу программы, тогда как в последней версии они стали проявляться. Возможно в результате ваших действий напрямую к БД какие то связи в БД остались не заполнены, что в свою очередь приводит к описанной ошибке.

Правильно ли я понимаю в справочнике “Оборудование” указанного в ошибке прибора нет? Если да, попробуйте снять с автоопроса указанную в ошибке точку учета, после чего выполните описанные в первом сообщении действия, сохраните объект учета и поставьте точку учета заново на автоопрос.

Нет, вы неверно поняли. В справочнике Оборудование девайс присутствует. А то что вы рекомендуете проделать с автоопросом, я выполнил самостоятельно, и три дня назад описал это выше). Читайте внимательно мои предыдущие сообщения.
В общем я понял вашу позицию: я сам виноват. Ну ОК) Только хочу заметить, что у меня опыт 7 лет работы с моделями данных разных систем телеметрии, и вероятность того, что проблема в моих действиях не так чтобы сильно большая, хотя, конечно, все люди ошибаются. Я вынужден пользоваться SQL напрямую:

  1. в силу некоторой “сырости” вашего API (хороший пример - это как раз с подключениями: https://forum.lers.ru/viewtopic.php?f=16&t=7807). Нужного метода просто нет.
  2. реально проще разобраться в связях БД, чем искать нужный метод в вашем странно спроектированном API. Потому что в случае с SQL я могу через профайлер получить читабельную документацию - непосредственно код, причем быстро. Ждать пока вы поясните, в какой нэймспэйс вы поместили нужный метод, часто времени нет. Код должен быть САМОДОКУМЕНТИРУЕМЫЙ, у вас это не так, к сожалению. Это мое мнение.

Но, конечно, я потихоньку отказываюсь от SQL потому что вы чините препятствия для такой работы.
Например, как я понял, раньше можно было добавлять оборудование напрямую. Теперь - нет.

Да, действительно упустил этот момент из виду.

Мы не чиним препятствия, как вам кажется. Просто структура БД постоянно дорабатывается и может быть изменена в связи с необходимостью. Именно поэтому мы и разработали LersFramework, чтобы дать возможность разработчикам иметь доступ к ЛЭРС УЧЕТ программно без необходимости вникать в структуру БД, которая может быть изменена в будущем.